情景描述
隨著科學技術的飛速發展,超聲波在生產、生活中的應用範圍越來越廣。目前,離生活最近的超聲波應用就是測距。如泊車輔助系統、智能導盲系統、移動機器人等距離測量都會用到超聲波測距。同時,超聲波測距技術還能夠實現對障礙物距離的精確測量。本課我們將利用超聲波傳感器,做一把可以測距的槍。
知識與概念
要學習本課的案例,需要了解以下的概念與原理
1.數碼管模塊
最多可以顯示由四個數字組成的數,所以叫做「四位數碼管」。數碼管的每個數都是由八段LED組成,其中七段LED用於顯示數字,第八段在數字的右下角,用於顯示小數點。
2.按鈕模塊
可以作為開關使用。按鍵有「按下」和「彈起」兩種狀態。默認狀態是「彈起」;當用手指按住按鍵帽往下按、並且保持不動的時候,就處於「按下」狀態;鬆開手指,按鍵又會重回「彈起」狀態。
3.超聲波傳感器
超聲波傳感器模塊是一種能夠把超聲波信號轉換為電信號的傳感器。超聲波傳感器是一種專門利用超聲波測量距離的傳感器。它可以發射和接收超聲波,發射的超聲波碰到障礙物後會反射,這些反射波被超聲波傳感器接收到以後,通過計算發射和接受的時間間隔來確定與障礙物之間的距離。超聲波模塊有效探測距離範圍為4-400cm。
要製作本課的範例作品,還需要學習以下新的指令
1.」數碼管顯示數」指令
這個指令在HaodaBit類別指令中,使用這個指令可以設置指定埠數碼管顯示指定的數值。指令默認是「I2C」埠、「整數」類型、顯示內容是「100」。需要顯示的數值可以在參數框中輸入。
2.」數碼管清除」指令
這個指令在HaodaBit類別指令中,使用這個指令可以清除指定埠數碼管上顯示的內容。
3.「數字口讀取 「指令
這個指令在高級類別指令中的引腳類別指令下,使用這個指令可以讀取指定數字口的輸出值。指令默認是數字口「P0」。通過單擊下拉列表,可以選擇P0~P2這3個模擬埠和P8、P12、P16這3個數字埠(注意:模擬埠具備數字埠功能,可以當作數字埠使用)。
4.「超聲波「指令
這個指令在HaodaBit類別指令中,使用這個指令可以讀取指定埠的超聲波傳感器探頭到前方物體的直線距離,取值範圍是(1,400),單位是「釐米」。指令默認是「P0」埠;通過單擊下拉列表,可以選擇P0~P2這3個模擬埠和P8、P12、P16這3個數字埠
作品製作
1.作品描述
超聲波測距槍是一個對於數碼管模塊、按鈕模塊和超聲波傳感器綜合使用的案例,使用按鈕來控制超聲波傳感器進行測距,按下按鈕,返回距離數值,顯示在數碼管上,鬆開按鈕,不測距,數碼管不顯示距離數值。再通過樂高搭建,搭出槍型的結構造型,從而完成超聲波測距槍的製作。
2.硬體連接
將模塊與haoda:bit連接起來:按鈕模塊連接在「P0」埠,超聲波傳感器連接在「P1」埠,數碼管模塊連接在「I2C「埠;接著haoda:bit與計算機連接,將haoda:bit開機,確定電腦資源管理器跳出「MICRBIT」U盤,進入下載模式。
3. 在數碼管上顯示按鍵值
登錄「好好搭搭」網站,選擇「創作」欄目中的「好搭bit模板」,進入「haoda:bit編程設計頁」進行編程。
要在數碼管上顯示按鍵值,應將數碼管相關的指令與「數字口讀取「指令結合使用,具體程序代碼如下圖所示
試一試:將上圖代碼編譯後下載到主控板上,然後「按下」或者「彈起」按鍵,觀察點陣屏上顯示的數值,並記錄下來。
我發現:________________________________________________________________________________
4.在數碼管上顯示超聲波測距值
要讓數碼管顯示超聲波測距值,應將數碼管相關的指令與「超聲波」指令結合使用,具體程序代碼如下圖所示
5.用按鈕控制測距
用按鈕控制測距,在上面程序編寫的基礎上加上「如果」與「比較」指令。使用比較指令,比較當按鍵按下,也就是等於1時,超聲波傳感器開始測距,數碼管顯示測距值;當鬆開按鍵時,也就是數值等於0時,超聲波停止測距,數碼管清除。具體程序代碼如下圖所示:
拓展與思考
超聲波傳感器除了製作測距槍,你還能結合之前所學的傳感器用它製作哪些更好玩的智能裝置作品?
我打算這麼做:_________________________________________________________________________
______________________________________________________________________。
做的時候需要注意:____________________________________________________________________