56 MU視覺傳感器測試
(2020/03/12 更新)
昨天科工館俊安先生來找我,說他新買的MU,利用我寫的程式無法動作,我看他的MU屬於第三代的MU3(包裝如下圖),跟我之前的不一樣,測試後真的不能運作。晚上向代理商宇宙機器人的威寰來求救,威寰很仔細的告訴我解決之道—要更新【韌體】,怕我不會更新,建議我直接用Transformer3的燒錄軟體來更新,剛剛測試了一下,更新韌體不難,將更新韌體的過程記錄如下:
一、MU官網資料
軟體下載:http://mai.morpx.com/page.php?a=sensor-support
MU视觉传感器3固件 (2019-12-20)下載:http://mai.morpx.com/images/page201904/Firmware.zip
解壓後有更新說明及兩個韌體檔,分別muvs_ab2_v113_20190929_e.bin及muvs_ab2_v115_20191126_e.bin(待會燒錄時使用較新的後者)
下載燒錄軟體 http://store.morpx.com/images/page201904/flash_download_tools_v3.6.5.rar
二、燒錄程式
執行燒錄軟體:flash_download_tools_v3.6.5.exe
點擊【ESP32 DownloadTool】,並選擇要燒錄的韌體
檢查燒錄的相關參數
註:
COM要檢查一下USB 轉 TTL的連接埠,在燒錄前先完成接線部份
SPI SPEED:40MHz
SPI MODE:DIO
FLASH SIZE:32Mbit
BAUD:115200
注:对于高性能的串口模块,可以选择更高的波特率,比如 921600,可以更快的
完成烧录。
三、接線部份
準備USB-UART通訊模組
如下圖所示
進入燒錄模式
燒錄前,先按左側Function鍵(不要放開),再按右側的Reset鍵放開,最後放開Function
然後就可以點燒錄軟體的START了
完成
四、簡單測試
進入makecode
MU擴充積木:mu-opensource/pxt-muvision 或直接輸入“mu”、”muvision”、”AI”等
簡單測試
測試成功
------------------------------
(2019/06/19)
最近,好多人在玩此MU視覺傳感器,利用它與小車結合來控制車子前進、左右轉及停止,這傳感器可應用在AI的識別上,應該可以做很多很有趣的應用,此教材先做簡易的基本測試,有基礎之後,以後再來做更進一步的應用!
一、參考資料:
下載下面這檔案並壓縮 【小MU视觉传感器Makecode示例程序&开发教程.zip】,內有makecode的開發教材
二、新增MU積木
在擴展下輸入mu-opensource/MuVisionSensorIII-MakeCode (新)、 tianli/MuVisionSensor-MakeCode(舊)
MU積木
三、硬體安裝
I2C模式
接法 如下
MU的SDA接micro:bit的SDA(P20)、MU的SCL接micro:bit的SCL(P19)
MU的輸出模式(在左方,開關1撥到下方、開關2撥到上方)
MU的位址,預設為0x60(在右方,開關1、2都撥到下方
四、基本測試 (卡片辨別)
初始化及開啟算法
算法一共有七種方法
顏色檢測
顏色辨識
球體檢測
人體檢測
形狀卡片
交通卡片
數字卡片
測試【數字卡片】的卡片辨別
该算法用于检测图像中是否存在指定的数字卡片,检测到则返回卡片的坐标区域,尺寸大小和分类标签(此部份進階時再做說明)。
數字卡片內容有:0~9
利用提供的數字卡片來測試,MU的下方為白色接線處,所以卡片的方向要弄對,才能感應得到
測試【交通卡片】的卡片辨別
该算法用于检测图像中是否存在指定的交通卡片,检测到则返回卡片的坐标区域,尺寸大小和分类标签。
交通卡片內容:向前、向左、向右、調頭、停車
測試【形狀卡片】的卡片辨別
该算法用于检测图像中是否存在指定的图形卡片,检测到则返回卡片的坐标区域,尺寸大小和分类标签。
形狀卡片內容:鈎、叉、圓形、方形、三角形
五、進階測試一 (人體及球體檢測)
為讀取一些數據,所以增加OLED來顯示,接法如下:
取得【人體檢測】數據
该算法用于检测图像中是否存在人体,人体特征指由头部和上半身所围成的区域,检测到则返回人体的坐标区域和大小。
返回的數據說明
X、Y是座標位置(如下圖所示),鏡頭左上角是(0,0),右下角是(100,100)
width及height為大小,同一張圖(同一個人)越靠近鏡頭值越大,越遠離鏡頭值越小
檢測是否有人體的存在
發現誤判的機率很高
取得【球體檢測】數據
该算法用于检测图像中是否存在指定的球体:橙色乒乓球或绿色网球,检测到则返回球体的坐标区域,尺寸大小和分类标签。
程式同上的人體檢測
由於沒有橙色乒乓球及绿色网球,所以就不實際測試了
六、進階測試二 (顏色檢測及辨識)
取得【顏色檢測】數據
该算法用于检测图像中是否存在指定颜色的色块,用户需要先设定好要检测的颜色分类标签以及最小尺寸,小于该设定尺寸的色块将被忽略,可以减少背景中的误报。如果检测到目标颜色,则返回该色块的坐标区域和尺寸大小。
注意事項
(1) 颜色检测对光源较为敏感,良好的白色稳定光源最为适宜;
(2) 白平衡会对颜色检测产生明显的影响,建议使用自动锁定白平衡模式,将摄像头面对白纸进行测光,然后再识别颜色;
(3) 适用于检测单一颜色的物体,混合颜色将会影响检测结果;
(4) 由于光源照射造成颜色明暗分布不均匀或是产生阴影,可能会对检测结果有一定影响;
(5) 环境背景中不宜出现与目标颜色类似的物体;
(6) 所设定的最小检测区域越大,则可以更好的排除背景中杂色的干扰;
(7) 目标物体越大,可以识别的距离越远,反之越近;
(8) 由于 LED 灯光会对颜色检测产生影响,故该算法会关闭 LED 的 Auto 模式,即 LED 颜色不会随是否检测到物体而变化,但可以将 LED 在手动模式下设为白光用于补光灯使用;
(9) 可以开启高速采样模式。
程式
發現好像有問題,只要有東西在其前方,就會呈現偵測到的藍燈
沒有成功
顏色識別
该算法用于检测图像中指定区域的颜色,用户需要先设定好要检测区域的中心坐标和范围大小,返回该区域颜色 R,G,B 的平均值以及颜色分类标签
顯示識別顏色
識別結果,利用魔術方塊的六面測得結果如下:
紅色面:R
橘色面:R (相近)
綠色面:G
黃色面:G (相近)
藍色面:B
白色面:不顯示
可在程式加上其他顏色的識別
可辨識的顏色有:黑、白、紅、黃、綠、青、藍、紫、其他