07 Gyro自走車
一、NodeMCU-32S與Gyro擴展板的結合
認識Gyro擴展板
Gyro擴展板官網:
支援兩款 ESP32 開發板
ESP32 nodemcu-32s
ESP32CAM
官網的資料非常多,如這次想學的MicroPython
腳位說明圖
供電方式
直接使用 usb 接 ESP32 供電 (適合物聯網等相關低耗電應用)
外接電源供電請注意,擴充板只支援標準規範的接頭,外部為負極,內部為正極,使用前請先確認,避免損壞相關設備.
外接電源,可使用兩顆 3.7 V 鋰電 (14500 或 18650) 串聯成 7.4V (適合使用馬達等大電流裝置)
外接 DC2.1 接頭的變壓器,電壓 6.5V ~ 9V,電流建議 1A (適合定點展示時)
外接電源變壓器注意事項 -
ESP Gyro 板子的設計是用兩顆 18650 串聯約 7.4V 來設計的,所以板子上有標注電源規格為 6.5V ~9V. 請不要用 > 9V 的變壓器。 因為超出規範會造成過熱或損壞零件的風險,請大家要小心.
二、Gyro擴展板上其他元件測試
單色LED燈測試
使用腳位為GPIO12 (右下方處)
按鍵測試
使用腳位
SW1:GPIO16(下方中間偏右)
SW2:GPIO32 (左下方,與左方的L9110S共用腳位)
SW3:GPIO15(右下方)
SW4:GPIO33(下方中間偏左,與左方的L9110S共用腳位)
WS2812LED燈測試
使用腳位為GPIO17
OLED測試
使用腳位為:I2C腳位(SCL:GPIO22、SDA:GPIO21)
擴展板的腳位配置為:SDA、SCL、VCC、GND,如果使用VCC、GND、SCL、SDA配置的OLED不能直接插,VCC及GND腳位要交換才能使用,因此使用時要注意!!
超音波測距感測器的測試
使用腳位為:TRIG:GPIO23、ECHO:GPIO13
使用HC-SR04及HC-SR04P都可以用,但HC-SR04好像比較穩定
三、自走車測試
小車外觀
L9110S測試
使用左方的L9110S,腳位為GPIO32、33(右輪)、25、26(左輪)
校正
如果發現車子不是按照前進、後退、原地左轉、原地右轉的方式來跑,修正未正確轉子的腳位(兩腳位相反)或交換馬達的兩條線
小車避障測試
使用左方的L9110S,腳位為GPIO32、33(右輪)、25、26(左輪)
超音波測距感測器使用腳位為:TRIG:GPIO23、ECHO:GPIO13
先測試【超音波測距感測器】的使用
發現當偵測不到距離時(如大於200公分或有異常時)會出現-1
小車避障規則:當前方25公分內有障礙物時,會隨機左右轉0.3~0.6秒鐘,否則就向前進
小車循跡測試
使用左方的L9110S,腳位為GPIO32、33(右輪)、25、26(左輪)
循跡感測器(紅外線感測器)使用的腳位:左:GPIO19、右:GPIO16
先測試循跡感測器的功能
在白線上:感應燈亮,其數位值為0
在黑線上:感應燈滅,其數位值為1
這款紅外線感測試有4支腳位,使用D0的數位腳位,另外,還有調鈕,調整在白線上亮燈、黑線上不亮燈的校正!
循跡原理:如下圖
兩感測器都在黑線上,左右其值為1,1=1*2+1=3 (車子前進)
左感測器在黑線上,右感測器在白線上,左右其值為1,0=1*2+0=2(車子左轉)
右感測器在黑線上,左感測器在白線上,左右其值為0,1=0*2+1=1(車子右轉)
一開始先把速度放慢一點
紅外線遙控小車測試
測試【紅外線接收器】
紅外線接收器使用的腳位:GPIO4 改用GPIO27或14
利用【KEYES遙控器】的方向鍵編碼值
上:70
下:21
左:68
右:67
OK:64
利用【KEYES遙控器】控制車子的前後左右
但發生有一問題:
如果利用USB從nodeMCU-32s供電,遙控沒問題
但如果從外接電源供電,遙控器只有一開始啟動有用,啟動後,遙控器便失去作用,接收器接收到的值都是-1
把這問題抛到LINE群組得到很多回響(換腳位、換短一點杜邦線、可能18650的電流不足...或是接收器有問題)
最後我發現,把紅外線接收器接在左邊的19、5、16、4就會有這個問題!我接到腳位27、14就沒問題了!(5V、GND一樣接左邊的排插)
(Mason老師說:有趣的結果。 也許左邊的馬達驅動時,瞬間 Vcc 被影響到了,造成接到左邊的 4/16/19/5 會被影響. 只是推測.)