超音波的數據利用
超音波與其他零件接線
超音波與其他零件接線
在這個範例中,四顆led燈分別接到IO板的PIN13~16(注意正負極,正極接訊號負極接GND),超音波的Trig接P1、ECHO接P2(當然正VCC負極GND也要記得接)
在這個範例中,四顆led燈分別接到IO板的PIN13~16(注意正負極,正極接訊號負極接GND),超音波的Trig接P1、ECHO接P2(當然正VCC負極GND也要記得接)
利用超音波數據操控LED
利用超音波數據操控LED
這個範例影片中,Micro:bit的25小燈的圖案及四顆外接的LED燈會隨著紙片的接近而變化
這個範例影片中,Micro:bit的25小燈的圖案及四顆外接的LED燈會隨著紙片的接近而變化
範例程式
範例程式
這其實很單純的,設定一個變數不斷取得目前超音波模組偵測的數字,然後利用邏輯判斷屬於那個距離區間,藉以讓LED做出相對應的反應(不是亮就是暗呀!),在程式中,我使用了二個函式,其中LED_CONTROL是帶參數的,用以傳給四顆LED燈,而SONAR_CHK則是接在超音波取得數據之後的判斷…
這其實很單純的,設定一個變數不斷取得目前超音波模組偵測的數字,然後利用邏輯判斷屬於那個距離區間,藉以讓LED做出相對應的反應(不是亮就是暗呀!),在程式中,我使用了二個函式,其中LED_CONTROL是帶參數的,用以傳給四顆LED燈,而SONAR_CHK則是接在超音波取得數據之後的判斷…
在IO板上加上舵機馬達(Servo)
在IO板上加上舵機馬達(Servo)
接線
接線
舵機有三個pin要接,橘色訊號紅色正電棕色GND,剛好IO板上的PIN設計就是這個順序,在這個例子中,我把一顆Servo接在P12
舵機有三個pin要接,橘色訊號紅色正電棕色GND,剛好IO板上的PIN設計就是這個順序,在這個例子中,我把一顆Servo接在P12
給予充足的電壓及電流
給予充足的電壓及電流
一旦開始接觸馬達類的零件,就得開始關心一個問題:電壓電流夠嗎?跟其他偵測類的零件比起來,馬達對於電壓電流的要求是比較高的,不足的話,馬達就不動或不正常抖動
一旦開始接觸馬達類的零件,就得開始關心一個問題:電壓電流夠嗎?跟其他偵測類的零件比起來,馬達對於電壓電流的要求是比較高的,不足的話,馬達就不動或不正常抖動
有一個禁忌的行為就是直接用手去硬轉舵機,這種便宜的sg90舵機說壞就壞!
有一個禁忌的行為就是直接用手去硬轉舵機,這種便宜的sg90舵機說壞就壞!
Micro:bit的A鍵B鍵控制舵機
Micro:bit的A鍵B鍵控制舵機
這個測試很明確就是把程式寫在Micro:bit的A和B鍵上,按A要求舵機依序轉動到幾個角度,B鍵則是舵機角度的完整測試(0~180度之間的旋轉),其實180度只是號稱,它的反應沒那麼好,實際上中位數(90度)+-60度就很不錯了,要注意一件事,在下命令給同一顆舵機時,只間一定要有「暫停」,要不然它受不了~
這個測試很明確就是把程式寫在Micro:bit的A和B鍵上,按A要求舵機依序轉動到幾個角度,B鍵則是舵機角度的完整測試(0~180度之間的旋轉),其實180度只是號稱,它的反應沒那麼好,實際上中位數(90度)+-60度就很不錯了,要注意一件事,在下命令給同一顆舵機時,只間一定要有「暫停」,要不然它受不了~
舵柄的用途可以讓我們判斷目前的位置(通常我們會先下命令要求舵機90度,然後接上舵柄到我們想要的位置),按一下B鍵可以觀察到要求往0度及180度時,舵機轉動的方向(順時鐘還是逆時鐘)
舵柄的用途可以讓我們判斷目前的位置(通常我們會先下命令要求舵機90度,然後接上舵柄到我們想要的位置),按一下B鍵可以觀察到要求往0度及180度時,舵機轉動的方向(順時鐘還是逆時鐘)
讓大家思考一下:如何利用超音波取得的數據來決定舵機怎應轉,做個超音波測距儀瞧瞧
讓大家思考一下:如何利用超音波取得的數據來決定舵機怎應轉,做個超音波測距儀瞧瞧
SONAR的數據拿來操控SERVO
SONAR的數據拿來操控SERVO
除了使用按鍵下命令要求SERVO轉動,是不是也可以利用別的數據來當命令下,比如使用SONAR測得的數據來當作SERVO轉動的依據
除了使用按鍵下命令要求SERVO轉動,是不是也可以利用別的數據來當命令下,比如使用SONAR測得的數據來當作SERVO轉動的依據
理論上舵機應該要接在類比腳位才行,但在這個例子中,因為我把它接到P12也一樣可以運作
理論上舵機應該要接在類比腳位才行,但在這個例子中,因為我把它接到P12也一樣可以運作
小朋友做的實驗
小朋友做的實驗
這是王小妹做的裝置,當物體在超音波前方移動時,它變會轉回距離給Micro:bit而她在程式中依這個不斷變化的數值決定舵機轉動的角度
這是王小妹做的裝置,當物體在超音波前方移動時,它變會轉回距離給Micro:bit而她在程式中依這個不斷變化的數值決定舵機轉動的角度