(2021/11/20)
今天完成了為期五週的聯發科造課師營隊活動,這次是教小朋友玩PocketCard,突然想到PocketCard能不能用在【登月小車】呢?讓登月小車除了可用micro:bit、Web:Bit及7697等開發板當控制器,那是不是可以增加PocketCard呢 ?這次利用BlocklyDuino來寫程式,採用法蘭斯針對Web:Bit所做的登月小車積木來測試,測試後,除了兩個部份不知是我的設備有問題、還是積木有問題尚未完全成功外(下次再試試)!其他部份都成功了!內容如下,供參
參考資料:Web:Bit登月小車
一、Web:Bit及PocketCard金手指腳位對照
Web:Bit及PocketCard金手指的腳位對照到ESP32的GPIO腳位如下圖所示,有些腳位一樣,有些不一樣
二、登月小車所使用的Web:Bit及PocketCard金手指腳位對照
先利用法蘭斯的Web:Bit登月小車積木,找到Web:Bit下登月小車所使用到的腳位
登月小車的各元件在Web:Bit與micro:bit與PocketCard的腳位
三、利用法蘭斯積木對插上PocketCard的登月小車做簡單測試
按A鍵小車前進、按B鍵小車後退、按A+B鍵小車停止
使用時,登月小車右前方的車種要切換到Web:Bit
按A鍵小車原地右轉、按B鍵小車原地左轉、按A+B鍵小車停止(加上中文字幕)
循跡小車
使用兩組【紅外線感測器】來偵測是否在線上
先測試感測器在黑線及白線上的感測值
偵測結果:
右:黑、左:黑 => 0 (黑線上會亮燈)
右:黑、左:白 => 1
右:白、左:黑 => 2
右:白、左:白 => 3
程式如下:測試成功
避障小車
使用【超音波測距感測器】來量測前方障礙物的距離
先測試感測器如何量測距離,及測試感測器有沒有問題
今天測試上面程式無法量測到距離(顯示0.00cm),不知是不是超音波感測器有問題?下週去學校再測試其他超音波感測器!
(2021/11/22後記) 後來發現是P3(GPIO35)腳位使用上有問題,不知為何?只好將超音波改裝到其他腳位,如P4(GPIO4)或P12(GPIO15),另外P9(GPIO13)腳位也可以用,如下圖
避障規則(可自訂)
前方20公分有障礙物時,會隨機左右轉來避開障礙
前方20公分沒有障礙物時,小車就一直向前走
利用紅外線遙控器來遙控小車
讀取遙控器的按鍵編碼
利用我家海爾電視的遙控器,取得上下左右及OK的編碼值如下
上:20df02fd
下:20df827d
左:20dfe01f
右:20df609f
OK:20df22dd
利用遙控器控制車子前後左右及停止
利用KEYES遙控器,取得上下左右及OK的編碼值如下
上:ff629d
下:ffa857
左:ff22dd
右:ffc23d
OK:ff02fd
利用WS2812來亮燈
測試WS2812,亮隨機顏色
顏色辨識
參考資料:http://www.circuspi.com/index.php/2020/01/06/mooncarlesson8/
讀取顏色卡片的R、G、B通道
R、G、B通道的值,正常應該是0~255,但這取得的值好大好誇張
我用Web:Bit開發板一樣取得同樣的值,不知是不是積木有問題?再跟法蘭斯反應一下吧!
(2021/11/21 後記:感謝法蘭斯老師的指導,如下,我再試看看...
我先量測紅色、綠色、藍色卡片的RGB通道值,如下圖,且發現其值會有漸漸增加的感覺。我大約取他們的平均值
紅色卡片:R:5826 G:1827 B:1897
綠色卡片:R:2610 G:5594 B:2915
藍色卡片:R:2615 G:7158 B:10039
顏色辦識:
取得各顏色卡片的RGB通道值後,利用這些值去辨識是否是什麼顏色的卡片
利用PocketCard當控制器的登月小車,原則上測試成功,除了超音波感測器不知是否故障?及顏色感測不大會用,而且不知是不是積木有問題?其他都測試成功!