AI智能小車套件 - Cutebot x AI Lens 人工智慧鏡頭|奧斯丁國際有限公司 OURSTEAM Internationl
icon教學資源
2021/03/02

AI智能小車套件 - Cutebot x AI Lens 人工智慧鏡頭

如需為AI Lens更新韌體,步驟請參考
enlightenedAI Lens 智能AI鏡頭enlightened

以下專案所需材料:
Cutebot V3.0小車x 1
Cutebot鋰電池組x 1
AI鏡頭 x 1

注意:AI鏡頭套件僅適用於Cutebot 版本
V3.0以上 (您可以在底板上看到版本編號)。



硬體連結

 小車 V3.1  鋰電池組及超音波安裝步驟:

※請注意小車正面鎖上銅柱後,務必也要鎖上小車背面螺帽,加以固定,若背面螺帽未鎖上,容易導致正面銅柱下方原先已在小車上之螺帽脫離小車!



若是版面不清楚可直接點選連結
 

AI鏡頭積木組裝步驟連接 小車 V3.1 



若是版面不清楚可直接點選連結

 

軟體積木擴充

點擊Menu中的“進階(Advanced)”以查看更多選擇。



我們需要增加一個擴充積木來針對Cutebot進行編程。點擊Menu底部的"Advanced",接著在搜尋的對話框內輸入" cutebot"並下載下來。



我們需要增加一個擴充積木來針對AI Lens進行編程,點選Menu底部的"Advanced",再點選"Extensions",接著在搜尋的對話框內輸入PlanetX-AI,以將其下載。
注意:小心勿下載成PlanetX(這擴充包含了PlanetX-AI和其他類別的應用),它目前和Cutebot擴充積木不相容,會導致編寫好程式後無法下載hex.檔案。




注意:如果出現告知由於不相容而將刪除編程資料庫的提示,可以按照提示所述繼續操作或再建立一個新專案。
 

 
使用CutebotAI鏡頭進行循線追蹤

目的:使用Cutebot和AI鏡頭執行循線追蹤。




軟體平台

MicroSoft MakeCode(https://makecode.microbit.org/ )

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到循線追蹤模式,設定micro:bit以顯示指定的圖案。

在“重複無限次(forever)”積木中,設置為從AI鏡頭獲取一個畫面,並判斷畫面上線條的偏離方向:
-如果它偏向左側,則表示Cutebot偏向右側,我們應該將左邊輪子的速度設置為10%,將右邊輪子的速度設置為40%,使Cutebot向左轉並轉到正確的方向。
-如果直線偏向右側,則表示Cutebot偏向左側;我們應該將右邊輪子的速度設置為10%,將左邊輪子的速度設置為40%,使Cutebot向右轉並轉到正確的方向。
若非前述的兩種狀況,則代表無須調整Cutebot的轉向,我們可以將兩個Cutebot輪子的速度都設置為20%,然後Cutebot便會沿直線前進。




程式總覽

程式連結:https://makecode.microbit.org/_L9vFzqgseV1h

結果

AI影像識別路徑讓Cutebot小車依循黑線移動。


 
Cutebot&AI鏡頭路標車
 

目的使用AI鏡頭識別路標卡來控制Cutebot。

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到卡片識別模式,設定micro:bit以顯示指定的圖案。
 



在“重複執行(forever)”積木中,設置為從AI鏡頭獲取一個畫面,並判斷畫面上的卡片圖標。
-如果它符合“前進”圖標,則我們將左輪和右輪的速度都設置為50%,以使汽車前進。
-如果它識別到“向左轉”圖標,則將汽車設置為以30%的速度向左轉0.5秒,然後繼續前進。請注意AI鏡頭具有三個緩衝區,在執行後需要獲得三個畫面以清除緩衝區。
-如果識別出“向右轉”圖標,我們將汽車設置為以30%的速度向右轉0.5秒,然後繼續前進。請注意AI鏡頭具有三個緩衝區,在執行後需要獲得三個畫面以清除緩衝區。
-如果識別出“停止”圖標,則汽車立刻停止行駛。


注意:因為左轉/右轉的程式中有暫停的指令(for 0.5 seconds),因此需要編寫清除緩衝區的指令:【repeat 3 times do Get one image from AI-Lens】。而前進或停止沒有暫停的指令(for 0.5 seconds),所以不需要編寫清除緩衝區的指令。



程式總覽

程式連結:https://makecode.microbit.org/_1v3bWhet40hr


結果

AI影像識別路標卡指令來控制Cutebot小車
如果AI鏡頭識別出“前進”卡,則汽車將向前行駛。如果識別出“左轉”卡,則汽車向左轉然後前進;如果識別出“向右轉”卡,則汽車向右轉然後前進;如果識別出“停車”卡,則汽車停止行駛。

 
 
 
Cutebot&AI鏡頭變色燈
 


目的使用AI鏡頭識別卡片顏色後,能變更LED前燈及車底燈的顏色。

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到顏色識別模式,並將2顆燈設置為連接到P15腳位(Cutebot車底的2顆Raibow LED預設為P15腳位 )。


在“重複執行(forever)”積木中,設置為從AI鏡頭獲取一個畫面,並判斷畫面上的卡片顏色。如果它識別了白色,則將LED前燈和車底燈設置為白色;如果它識別出藍色,則將LED前燈和車底燈設置為藍色,以此類推,我們以相同的方式使用綠色、紅色、黃色和黑色卡進行程式設計。




程式總覽

程式連結:https://makecode.microbit.org/_WRvApYTbuJem


結果

AI影像識別卡片顏色後,會變更LED的前燈顏色和車底燈的顏色。




 

Cutebot&AI鏡頭追蹤球體
 



目的用AI Lens進行影像辨識,讓Cutebot能夠追蹤球體

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到球體追蹤模式。

在“重複執行(forever)”積木中,設置為從AI鏡頭獲取一個畫面。如果畫面中有球,則判斷球的大小。
如果檢測到球的尺寸小於100,則表示該球距離Cutebot較遠,接著使用X軸的值來判斷該球的位置:
-如果X軸的值小於80,則表示該球位於Cutebot的左前方,我們需要將左輪的速度設置為0%,將右輪的速度設置為20%,以使小車向左轉去追球。
-如果X軸的值超過144,則代表球在Cutebot的右前方,我們需要將左輪的速度設置為20%,將右輪的速度設置為0%,以使Cutebot向右轉去追球。
若非前述兩者情況,代表X軸的值介於80~144之間,該球大約是在Cutebot的前方,所以我們將兩個輪子都設置為25%,以使Cutebot前進去追球;如果檢測到球的尺寸大於100,則表示球距離Cutebot很近,我們則將Cutebot設置為停止移動。


補充:關於size<100的數字範圍設定
經過測試數值範圍是0~224會比較好運做,不過0~224是理論值,實際使用的範圍值可能會更小,可依據個人使用再做調整。size、x 或是y的範圍都建議是0~244。


程式總覽

程式連結:https://makecode.microbit.org/_FWL7247fyfCk


結果

AI影像辨識到球體,驅動Cutebot小車保持一定距離追蹤球體。如果距離球體太近,則Cutebot會停止。


 

CutebotAI鏡頭一鍵學習

 

目的:使用Cutebot和AI鏡頭實現一鍵學習功能。
 

程式設計

 

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到物件學習模式。
設計按下A鍵是學習目標ID1、按下B鍵是學習目標ID2、按下A+B鍵是學習目標ID3、按下logo是學習目標ID4、搖晃是學習目標ID5(AI鏡頭最多可以一次學習五個項目)。

 

在“重複執行”的積木中,設置為從AI鏡頭中獲取一個畫面。當AI鏡頭識別到ID1在畫面中,則會發出中音C;當AI鏡頭識別到ID2在畫面中,則會發出中音D;當AI鏡頭識別到ID3在畫面中,則會發出中音E;當AI鏡頭識別到ID4在畫面中,則會發出中音F;當AI鏡頭識別到ID5在畫面中,則會發出中音G。
 

程式總覽

程式連結:https://makecode.microbit.org/_L3j62HMaeWgj

結果
按下A鍵時,將機器學習到的AI影像辨識目標設置為ID1,完成學習後,如果識別到目標ID1,則會發出中音C。
按下B鍵時,將機器學習到的AI影像辨識目標設置為ID2,完成學習後,如果識別到目標ID2,則會發出中音D。
按下A+B鍵時,將機器學習到的AI影像辨識目標設置為ID3,完成學習後,如果識別到目標ID3則會發出中音E。
按下logo時,將機器學習到的AI影像辨識目標設置為ID4,完成學習後,如果識別到目標ID4則會發出中音F。
當搖晃時,將機器學習到的AI影像辨識目標設置為ID5,完成學習後,如果識別到目標ID5則會發出中音G。我們可以用這五個基本音來彈奏簡單的音樂。

CutebotAI鏡頭-人臉識別

 
目的:用Cutebot和AI鏡頭實現人臉識別功能。

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到人臉識別模式。
在“重複無限次(forever)”積木中,設置為從AI鏡頭獲取一個畫面,如果辨識到畫面上有人臉,則顯示打勾圖案並播放旋律提示;否則的話,顯示打X圖案並停止播放旋律。





程式連結:https://makecode.microbit.org/_CvJia4MRMfTz

結果
如果AI影像識別出人臉畫面,micro:bit將顯示圖標√並播放音效來提示;否則micro:bit將顯示圖標×,並停止音效。




CutebotAI鏡頭 x 卡片顏色控制


目的

使用cutebot智能賽車搭配AI鏡頭實現小車根據卡片顏色來自動啟動和停車的功能。


../../_images/cutebot-16-04.png
 

 
程式設計
 
步驟一
  • 點選「Advanced」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Cutebot小車需要一個擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
  • 另外需要一個啟動AI鏡頭的擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋PlanetX-AI 下載。

注意:如果遇到擴充程式不相容的提示,可繼續依照指示操作或建立新專案。

步驟二:Joystick:bit的程式設計
  • on start中設定「radio set group」為1 。
  • Joystick:bit其X軸和Y的範圍是0~1023, 當搖桿位於中心的時候,它的理論值是512,因此需要讓0〜1023map(對應)Cutebot的內建速度值-100~100(負值代表反方向的速度)這個範圍之內
  • forever中設置變數x,它的值為:將Joystick:bit其x軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • forever中設置變數y它的值為:將Joystick:bit其y軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • 透過radio(廣播)將字串:x、y以及數字:變數x、變數y傳送給另一片micro:bit

程式連結:https://makecode.microbit.org/05780-04486-32064-44296

步驟三:Cutebot x AI小車的程式設計
  • on start中的「radio set group」設定為1。數字必須與遙控端的micro:bit相同才能正確匹配。
  • on radio received用來接收相同群組micro:bit發送的一對字串與數字廣播
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為x,則將接收到的廣播數字(暫存在value)設置為變數:xValue
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為y,則將接收到的廣播數字(暫存在value)設置為變數:yValue
  • forever中,設定左輪速度為yValue-xValue;設定右輪速度為yValue+xValue
 

 
 
結果

AI攝像頭檢測到紅色卡片時,小車停止行駛並顯示紅色燈光,AI攝像頭檢測到綠色卡片時,小車繼續向前行駛並顯示綠色燈光

思考

我們是否可以為cutebot智能賽車設置更多的功能,並通過識別顏色卡片的方式來切換功能。

 
CutebotAI鏡頭-人臉識別

 
目的:用Cutebot和AI鏡頭實現人臉識別功能。

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到人臉識別模式。
在“重複無限次(forever)”積木中,設置為從AI鏡頭獲取一個畫面,如果辨識到畫面上有人臉,則顯示打勾圖案並播放旋律提示;否則的話,顯示打X圖案並停止播放旋律。





程式連結:https://makecode.microbit.org/_CvJia4MRMfTz

結果
如果AI影像識別出人臉畫面,micro:bit將顯示圖標√並播放音效來提示;否則micro:bit將顯示圖標×,並停止音效。




CutebotAI鏡頭 x 卡片顏色控制


目的

使用cutebot智能賽車搭配AI鏡頭實現小車根據卡片顏色來自動啟動和停車的功能。


../../_images/cutebot-16-04.png
 

 
程式設計
 
步驟一
  • 點選「Advanced」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Cutebot小車需要一個擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
  • 另外需要一個啟動AI鏡頭的擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋PlanetX-AI 下載。

注意:如果遇到擴充程式不相容的提示,可繼續依照指示操作或建立新專案。

步驟二:Joystick:bit的程式設計
  • on start中設定「radio set group」為1 。
  • Joystick:bit其X軸和Y的範圍是0~1023, 當搖桿位於中心的時候,它的理論值是512,因此需要讓0〜1023map(對應)Cutebot的內建速度值-100~100(負值代表反方向的速度)這個範圍之內
  • forever中設置變數x,它的值為:將Joystick:bit其x軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • forever中設置變數y它的值為:將Joystick:bit其y軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • 透過radio(廣播)將字串:x、y以及數字:變數x、變數y傳送給另一片micro:bit

程式連結:https://makecode.microbit.org/05780-04486-32064-44296

步驟三:Cutebot x AI小車的程式設計
  • on start中的「radio set group」設定為1。數字必須與遙控端的micro:bit相同才能正確匹配。
  • on radio received用來接收相同群組micro:bit發送的一對字串與數字廣播
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為x,則將接收到的廣播數字(暫存在value)設置為變數:xValue
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為y,則將接收到的廣播數字(暫存在value)設置為變數:yValue
  • forever中,設定左輪速度為yValue-xValue;設定右輪速度為yValue+xValue
 

 
 
結果

AI攝像頭檢測到紅色卡片時,小車停止行駛並顯示紅色燈光,AI攝像頭檢測到綠色卡片時,小車繼續向前行駛並顯示綠色燈光

思考

我們是否可以為cutebot智能賽車設置更多的功能,並通過識別顏色卡片的方式來切換功能。
 
CutebotAI鏡頭-人臉識別

 
目的:用Cutebot和AI鏡頭實現人臉識別功能。

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到人臉識別模式。
在“重複無限次(forever)”積木中,設置為從AI鏡頭獲取一個畫面,如果辨識到畫面上有人臉,則顯示打勾圖案並播放旋律提示;否則的話,顯示打X圖案並停止播放旋律。





程式連結:https://makecode.microbit.org/_CvJia4MRMfTz

結果
如果AI影像識別出人臉畫面,micro:bit將顯示圖標√並播放音效來提示;否則micro:bit將顯示圖標×,並停止音效。




CutebotAI鏡頭 x 卡片顏色控制


目的

使用cutebot智能賽車搭配AI鏡頭實現小車根據卡片顏色來自動啟動和停車的功能。


../../_images/cutebot-16-04.png
 

 
程式設計
 
步驟一
  • 點選「Advanced」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Cutebot小車需要一個擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
  • 另外需要一個啟動AI鏡頭的擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋PlanetX-AI 下載。

注意:如果遇到擴充程式不相容的提示,可繼續依照指示操作或建立新專案。

步驟二:Joystick:bit的程式設計
  • on start中設定「radio set group」為1 。
  • Joystick:bit其X軸和Y的範圍是0~1023, 當搖桿位於中心的時候,它的理論值是512,因此需要讓0〜1023map(對應)Cutebot的內建速度值-100~100(負值代表反方向的速度)這個範圍之內
  • forever中設置變數x,它的值為:將Joystick:bit其x軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • forever中設置變數y它的值為:將Joystick:bit其y軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • 透過radio(廣播)將字串:x、y以及數字:變數x、變數y傳送給另一片micro:bit

程式連結:https://makecode.microbit.org/05780-04486-32064-44296

步驟三:Cutebot x AI小車的程式設計
  • on start中的「radio set group」設定為1。數字必須與遙控端的micro:bit相同才能正確匹配。
  • on radio received用來接收相同群組micro:bit發送的一對字串與數字廣播
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為x,則將接收到的廣播數字(暫存在value)設置為變數:xValue
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為y,則將接收到的廣播數字(暫存在value)設置為變數:yValue
  • forever中,設定左輪速度為yValue-xValue;設定右輪速度為yValue+xValue
 

 
 
結果

AI攝像頭檢測到紅色卡片時,小車停止行駛並顯示紅色燈光,AI攝像頭檢測到綠色卡片時,小車繼續向前行駛並顯示綠色燈光

思考

我們是否可以為cutebot智能賽車設置更多的功能,並通過識別顏色卡片的方式來切換功能。
 
CutebotAI鏡頭-人臉識別

 
目的:用Cutebot和AI鏡頭實現人臉識別功能。

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到人臉識別模式。
在“重複無限次(forever)”積木中,設置為從AI鏡頭獲取一個畫面,如果辨識到畫面上有人臉,則顯示打勾圖案並播放旋律提示;否則的話,顯示打X圖案並停止播放旋律。





程式連結:https://makecode.microbit.org/_CvJia4MRMfTz

結果
如果AI影像識別出人臉畫面,micro:bit將顯示圖標√並播放音效來提示;否則micro:bit將顯示圖標×,並停止音效。




CutebotAI鏡頭 x 卡片顏色控制


目的

使用cutebot智能賽車搭配AI鏡頭實現小車根據卡片顏色來自動啟動和停車的功能。


../../_images/cutebot-16-04.png
 

 
程式設計
 
步驟一
  • 點選「Advanced」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Cutebot小車需要一個擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
  • 另外需要一個啟動AI鏡頭的擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋PlanetX-AI 下載。

注意:如果遇到擴充程式不相容的提示,可繼續依照指示操作或建立新專案。

步驟二:Joystick:bit的程式設計
  • on start中設定「radio set group」為1 。
  • Joystick:bit其X軸和Y的範圍是0~1023, 當搖桿位於中心的時候,它的理論值是512,因此需要讓0〜1023map(對應)Cutebot的內建速度值-100~100(負值代表反方向的速度)這個範圍之內
  • forever中設置變數x,它的值為:將Joystick:bit其x軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • forever中設置變數y它的值為:將Joystick:bit其y軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • 透過radio(廣播)將字串:x、y以及數字:變數x、變數y傳送給另一片micro:bit

程式連結:https://makecode.microbit.org/05780-04486-32064-44296

步驟三:Cutebot x AI小車的程式設計
  • on start中的「radio set group」設定為1。數字必須與遙控端的micro:bit相同才能正確匹配。
  • on radio received用來接收相同群組micro:bit發送的一對字串與數字廣播
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為x,則將接收到的廣播數字(暫存在value)設置為變數:xValue
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為y,則將接收到的廣播數字(暫存在value)設置為變數:yValue
  • forever中,設定左輪速度為yValue-xValue;設定右輪速度為yValue+xValue
 

 
 
結果

AI攝像頭檢測到紅色卡片時,小車停止行駛並顯示紅色燈光,AI攝像頭檢測到綠色卡片時,小車繼續向前行駛並顯示綠色燈光

思考

我們是否可以為cutebot智能賽車設置更多的功能,並通過識別顏色卡片的方式來切換功能。
 
CutebotAI鏡頭-人臉識別

 
目的:用Cutebot和AI鏡頭實現人臉識別功能。

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到人臉識別模式。
在“重複無限次(forever)”積木中,設置為從AI鏡頭獲取一個畫面,如果辨識到畫面上有人臉,則顯示打勾圖案並播放旋律提示;否則的話,顯示打X圖案並停止播放旋律。





程式連結:https://makecode.microbit.org/_CvJia4MRMfTz

結果
如果AI影像識別出人臉畫面,micro:bit將顯示圖標√並播放音效來提示;否則micro:bit將顯示圖標×,並停止音效。




CutebotAI鏡頭 x 卡片顏色控制


目的

使用cutebot智能賽車搭配AI鏡頭實現小車根據卡片顏色來自動啟動和停車的功能。


../../_images/cutebot-16-04.png
 

 
程式設計
 
步驟一
  • 點選「Advanced」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Cutebot小車需要一個擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
  • 另外需要一個啟動AI鏡頭的擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋PlanetX-AI 下載。

注意:如果遇到擴充程式不相容的提示,可繼續依照指示操作或建立新專案。

步驟二:Joystick:bit的程式設計
  • on start中設定「radio set group」為1 。
  • Joystick:bit其X軸和Y的範圍是0~1023, 當搖桿位於中心的時候,它的理論值是512,因此需要讓0〜1023map(對應)Cutebot的內建速度值-100~100(負值代表反方向的速度)這個範圍之內
  • forever中設置變數x,它的值為:將Joystick:bit其x軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • forever中設置變數y它的值為:將Joystick:bit其y軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • 透過radio(廣播)將字串:x、y以及數字:變數x、變數y傳送給另一片micro:bit

程式連結:https://makecode.microbit.org/05780-04486-32064-44296

步驟三:Cutebot x AI小車的程式設計
  • on start中的「radio set group」設定為1。數字必須與遙控端的micro:bit相同才能正確匹配。
  • on radio received用來接收相同群組micro:bit發送的一對字串與數字廣播
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為x,則將接收到的廣播數字(暫存在value)設置為變數:xValue
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為y,則將接收到的廣播數字(暫存在value)設置為變數:yValue
  • forever中,設定左輪速度為yValue-xValue;設定右輪速度為yValue+xValue
 

 
 
結果

AI攝像頭檢測到紅色卡片時,小車停止行駛並顯示紅色燈光,AI攝像頭檢測到綠色卡片時,小車繼續向前行駛並顯示綠色燈光

思考

我們是否可以為cutebot智能賽車設置更多的功能,並通過識別顏色卡片的方式來切換功能。

 




更多Cutebot x AI鏡頭應用內容,請接續
enlightenedAI智能小車套件-Cutebot x AI鏡頭(下集)enlightened


CutebotAI鏡頭-人臉識別

 
目的:用Cutebot和AI鏡頭實現人臉識別功能。

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到人臉識別模式。
在“重複無限次(forever)”積木中,設置為從AI鏡頭獲取一個畫面,如果辨識到畫面上有人臉,則顯示打勾圖案並播放旋律提示;否則的話,顯示打X圖案並停止播放旋律。





程式連結:https://makecode.microbit.org/_CvJia4MRMfTz

結果
如果AI影像識別出人臉畫面,micro:bit將顯示圖標√並播放音效來提示;否則micro:bit將顯示圖標×,並停止音效。





CutebotAI鏡頭 x 卡片顏色控制


目的

使用cutebot智能賽車搭配AI鏡頭實現小車根據卡片顏色來自動啟動和停車的功能。


 
程式設計
 
步驟一
  • 點選「Advanced」,在MakeCode欄目中查看更多選擇。
  • Cutebot小車需要一個擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
  • 另外需要一個啟動AI鏡頭的擴充程式,點選欄目底部的「Add Package」,在對話框中搜尋PlanetX-AI 下載。

注意:如果遇到擴充程式不相容的提示,可繼續依照指示操作或建立新專案。

步驟二:Joystick:bit的程式設計
  • on start中設定「radio set group」為1 。
  • Joystick:bit其X軸和Y的範圍是0~1023, 當搖桿位於中心的時候,它的理論值是512,因此需要讓0〜1023map(對應)Cutebot的內建速度值-100~100(負值代表反方向的速度)這個範圍之內
  • forever中設置變數x,它的值為:將Joystick:bit其x軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • forever中設置變數y它的值為:將Joystick:bit其y軸的讀取值對應到Cutebot的速度-100~100這個範圍內的值
  • 透過radio(廣播)將字串:x、y以及數字:變數x、變數y傳送給另一片micro:bit

程式連結:https://makecode.microbit.org/05780-04486-32064-44296

步驟三:Cutebot x AI小車的程式設計
  • on start中的「radio set group」設定為1。數字必須與遙控端的micro:bit相同才能正確匹配。
  • on radio received用來接收相同群組micro:bit發送的一對字串與數字廣播
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為x,則將接收到的廣播數字(暫存在value)設置為變數:xValue
  • 透過if條件來判斷如果接收到的廣播字串(暫存在name)為y,則將接收到的廣播數字(暫存在value)設置為變數:yValue
  • forever中,設定左輪速度為yValue-xValue;設定右輪速度為yValue+xValue
 
 
結果

AI攝像頭檢測到紅色卡片時,小車停止行駛並顯示紅色燈光,AI攝像頭檢測到綠色卡片時,小車繼續向前行駛並顯示綠色燈光

思考

我們是否可以為cutebot智能賽車設置更多的功能,並通過識別顏色卡片的方式來切換功能。

 
 


相關進階專案應用請參考:
logo
iconiconiconiconicon
icon  電話:04-2375-3535
icon  傳真:04-2256-9949
icon  統編:90386785
icon  E-mail:service@oursteam.com.tw
icon  LINE ID:@oursteam
Inspire every child to create