配合 Mu Vision Sensor 製作智能小車

除了一般利用 Ultrasonic sensor 的避障小車及以使用 IR sensor 的循線小車外 ,
我們還可以利用 Mu Vision AI Sensor 製作出辨認路標的自駕車 ,
例如 : 偵測到「Park」便停下小車 , 偵測到「Right Turn」便向右轉等等....
以上是萬向輪小車 + Mu Vision AI Sensor 的示例。
所需物料 :
- 12" M/M Jumper Wires x 4
- Mu Vision Sensor x 1
- 小車套件 x 1
- Mu Vision 圖示卡 [隨Sensor附送]
電線接駁方法 :
M1 (左上Motor) : P8/P9
M2 (右上Motor) : P10/P12
M3 (右上Motor) : P13/P14
M4 (右上Motor) : P15/P16
Mu Vision Sensor 的 「V」 --> I/O board 的 3.3V OUT 「+」
Mu Vision Sensor 的 「G」 --> I/O board 的 3.3V OUT 「-」
Mu Vision Sensor 的 「SDA」 --> I/O board 的 「SDA」
Mu Vision Sensor 的 「SCL」 --> I/O board 的 「SCL」
假如 Motor 的轉動方向有錯 , 可直接將 Motor 上的紅綠頭倒轉插。
編程教學 :
開機設定 ( Motor 部份) :

由於micro:bit的LED display是以P9和P10運行,
如果不把LED disable , I/O board會默認將P9和P10寫成1
(當插上馬達/燈到P9和P10時,即使沒有任何編程都會默認開啟)
這樣小車便會在開機時就移動
基礎移動教學 (向前) :

M1跟M4 需以順時針轉動 [前面2個 Motor] ;
因此 P8 / P16 寫成 1 , 其他 Pin 設為 0
停下小車 :

將所有 Pins 設成 0 以關上 Motor
設定 Mu Vision Sensor :
加入 Mu Vision Extension :

在 makecode 左面的 coding blocks 選取「Extension」

輸入「Mu」並選取 muvision extension
開機設定 :
initialize MU00 port I2C --> 啟動 Mu Vision sensor 的編程 , 必須使用這個積木才能進行各種編程
「MU00」 enable alogirthm XXXX --> 由於我們需辨識路標 , 這次選用「Traffic Card」
最後利用「show icon」來顯示 Mu Vision Sensor 已經完成安裝
偵測「Park」路標 :

為了檢測數字卡上的數字 , 編程需要分為兩個部份 , 第一個是當 Mu Vision Sensor 偵測到這是「Traffic Card」
--> while MU00 detected Traffic Card 然後再檢測它是那張 Traffic Card

--> get MU00 Traffic Card type = Park , 如果沒有它已經是「Traffic Card」的前題 , 是無法判斷卡上的路標的。
當偵測到「Park」時關上所有Motor 以停下小車。