Ring:bit Car Kit V2 智能小車(中集)|台灣STEAM教學團隊 oursteamtw
icon教學資源
232021.02

Ring:bit Car Kit V2 智能小車(中集)

8.Ring:bit car V2 加速度感測器的計算

8.1所需材料
  • 一個 micro:bit
  • 一台 Ring:bit Car

8.2背景

Micro:bit是BBC所提供的可編程微型電腦。它是專為青少年編程教育而設計的,旨在使編程更加輕鬆有趣。

ELECFREAKS Ring:bit智能小車2是由BBC micro:bit和ELECFREAKS Ring:bit驅動的小型DIY智能小車。Ring:bit擴展了micro:bit的3個GPIO端口,並允許將不同的感測器和零件輕鬆連接到micro:bit。Ring:bit Car可以很容易地透過編程來使車子自動運行,或是透過遙控器操控,甚至可以創造彩虹信標燈。只需從眾多可用的擴展選項添加其中一個,您的Ring:bit Car就可以做更多的事情,例如循跡、跟隨燈光、避障、繪圖及更多!

無線技術透過無線電波發送消息,因為電的變化會產生電波。我們可以使用它來將消息加載到電波中。當電磁波到達接收器時,電磁波的變化會產生電流。然後,透過解調從電波中獲取的訊息以發送訊息。

加速度感測器是一種用於測量加速度的感測器。它包括質量塊、阻尼器、彈性零件、敏感元件和最佳調諧電路。感測器在加速期間正在測量慣性力並通過牛頓第二定律獲得加速度大小。根據敏感元件的不同,常用的加速度計包括電容、應變、壓阻和壓電。

micro:bit的新版本加速度器晶片與舊版本不同。新版本將電子羅盤和加速度計結合在一起。用法並沒有改變。
../../_images/2n6TbVZ1.png

8.3軟體../../_images/cp88kPs.png

8.4編程

步驟1:添加編程套件
  • 點擊Makecode中的“Advanced”以找到更多選擇。選擇底部的“Extensions”。
../../_images/2qCyzQ71.png
  • 接著在對話框中搜尋“ringbitcar”並點擊下載到您的專案中。(如下圖)
../../_images/1Wq2Mov1.jpg

注意:如果遇到提示說明因為不相容所以套件會被刪除,您可以依照提示所說的繼續,或是創建一個新的專案。

步驟2:算術原理
  • 加速度器有2個方向:x軸和Y軸。在俯視圖中將micro:bit和Ring:bit Car放在相同的三維坐標軸上時,會很容易理解。
../../_images/4jVn6rG.jpg
  • 車子的運動方向和速度是由micro:bit的方向控制。
../../_images/NGnp5Ya.jpg
  • 向右移動時,x軸和Y軸的值為正數。左輪的速度應大於右輪,並完全向右轉。
  • 另一個方向也是一樣的方式。
  • 結果:Y軸加上x軸的值是左輪的值;Y軸的值減去x軸的值是右輪的值。
../../_images/8oOCEWj.png
步驟3:理解編程(控制端)
../../_images/xxvSu1T.png
  • 在開始時執行一次的指令中,將廣播設置為 90,與車子相同。
  • 在重複執行的指令中,發送X軸的加速度大小。加速度幅度的範圍是-1024~+1024,車子速度為 -100~+100,因此我們需要除以十。
  • 在重複執行的指令中,發送Y軸的加速度大小並除以10。

步驟4:理解編程(車子)
../../_images/JsLkJ1t.png
在開始時執行一次的指令中,將左輪設置為P1,將右輪設置為P2(視實際情況而定)並顯示一個圖案。將無線值設置為90(與發送端相同),以設置變數XValue和yValue以保存X軸和Y軸的值。 ../../_images/A5gqKjZ.png
  • 在廣播上接收到的值,如果為X,則將數據保存到xValue,如果為Y,則將數據保存到yValue
../../_images/a3uTwmH.png
  • 然後,計算左右輪的速度值,將其設置為相應的值。

8.5程式參考

遙控編程
Ring:bit car編程
8.6結果
  • Ring:bit智能小車隨著陀螺儀的方向移動,且由斜角控制其速度。


 9.案例01:全速前進

9.1我們的目標
  • 使Ring:bit智能小車前進和後退。

9.2所需材料
  • Ring:bit智能小車x1
9.3硬體連接
  • 將左輪伺服馬達連接到Ring:bit擴充板的P1,將右輪伺服馬達連接到P2。
../../_images/jBVHea8.png

9.4軟體
9.5編程

步驟1
  • 在MakeCode的選擇中點擊“Advanced”以找到更多選擇。點擊查看底部的“Extensions”。
../../_images/2qCyzQ71.png
  • 搜尋“ringbit”並將ring:bit car套件下載到專案中(如下圖)。
../../_images/lScruzy.jpg

注意:如果遇到提示說明因為不相容所以套件會被刪除,您可以依照提示所說的繼續,或是創建一個新的專案。

步驟2
  • go straight at full speed移動到on start中。
  • ​端口號碼根據實際的伺服連接端口。
../../_images/igG5TVD1.png

步驟3
  • go straight at full speed移動到on button A pressed中。
../../_images/Wyo2R9B.png

步驟4
  • reverse at full speed移動到on button B pressed中。
../../_images/jHFkpm1.png

編程連結
9.6完成
  • 當按下A鍵時,小車將以全速前進。
  • 當按下B鍵時,小車將以全速倒車。
../../_images/wwV0YDe.jpg

9.7思考一下
  • 如何設計在當按下A鍵時,能使小車停止?


10.案例02:做一個形狀

10.1我們的目標
  • 使Ring:bit轉一個角度。

10.2所需材料
  • Ring:bit智能小車x1
10.3硬體連接
  • 將左輪伺服馬達連接到Ring:bit擴充板的P1,將右輪伺服馬達連接到P2。
../../_images/jBVHea8.png

10.4軟體
10.5編程

步驟1
  • 在MakeCode的選擇中點擊“Advanced”以找到更多選擇。點擊查看底部的“Extensions”。
../../_images/2qCyzQ71.png
  • 搜尋“ringbit”並將ring:bit car套件下載到專案中(如下圖)。
../../_images/lScruzy.jpg

注意:如果遇到提示說明因為不相容所以套件會被刪除,您可以依照提示所說的繼續,或是創建一個新的專案。

步驟2
  • set left wheel at pin P1 right wheel at pin P2移動到on start中。
  • ​端口號碼根據實際的伺服連接端口。
../../_images/igG5TVD1.png

步驟3

將以下積木在forever積木中向下排列:
  • go straight at full speed積木
  • pause積木
  • turn right at full speed積木
  • pause積木
     
../../_images/FRnGCpw.png

編程連結
10.6完成
  • 小車能直行並向右轉,接著直行。
../../_images/srKhgfm.jpg

10.7思考一下
  • 如何設計使小車能夠跳舞?


11.案例03:轉一個角度

11.1我們的目標
  • 使Ring:bit Car沿順時針方向繪製一個圓。
11.2所需材料
  • Ring:bit智能小車x1
11.3硬體連接
  • 將左輪伺服馬達連接到Ring:bit擴充板的P1,將右輪伺服馬達連接到P2。
../../_images/jBVHea8.png
  • 用橡皮筋將鉛筆固定在Ring:bit小車的底板上。
../../_images/EfYkq79.jpg

11.4軟體
11.5編程

步驟1
  • 在MakeCode的選擇中點擊“Advanced”以找到更多選擇。點擊查看底部的“Extensions”。
../../_images/2qCyzQ71.png
  • 搜尋“ringbit”並將ring:bit car套件下載到專案中(如下圖)。
../../_images/lScruzy.jpg

注意:如果遇到提示說明因為不相容所以套件會被刪除,您可以依照提示所說的繼續,或是創建一個新的專案。

步驟2
  • set left wheel at pin P1 right wheel at pin P2移動到on start中。
  • ​端口號碼根據實際的伺服連接端口。
../../_images/igG5TVD1.png

步驟3
  • set left wheel speed right wheel speed積木移動到on button A pressed積木中。
  • 將左輪的速度設置為10,右輪的速度設置為50。 
../../_images/Mnakk7a.png

步驟4
  • brake積木移動到on button B pressed積木中。
../../_images/4UStidJ.png

編程連結
11.6結果
  • 按下A鍵時,小車將繪製一個圓圈。
  • 按下B鍵時,小車停止。
../../_images/HStJeJY.jpg

11.7思考一下
  • 如何設計使小車能夠畫出一個8?


12.案例04:警察來了

12.1我們的目標
  • 將Ring:bit改造為警車。
12.2所需材料
  • Ring:bit智能小車x1
12.3硬體連接
  • 將左輪伺服馬達連接到Ring:bit擴充板的P1,將右輪伺服馬達連接到P2。
  • 將Ring:bit專用擴充板連接到P0。
../../_images/D5sFydb.jpg
  • 將特殊擴展板的開關滑動到Rainbow LED。
../../_images/s3rVwxZ.jpg

12.4軟體
12.5編程

步驟1
  • 在MakeCode的選擇中點擊“Advanced”以找到更多選擇。點擊查看底部的“Extensions”。
../../_images/2qCyzQ71.png
  • 搜尋“ringbit”並將ring:bit car套件下載到專案中(如下圖)。
../../_images/lScruzy.jpg

注意:如果遇到提示說明因為不相容所以套件會被刪除,您可以依照提示所說的繼續,或是創建一個新的專案。

步驟2
  • set left wheel at pin P1 right wheel at pin P2移動到on start中。​端口號碼根據實際的伺服連接端口。
  • 接著新增go straight at full speed積木
  • 設置2個以RGB顏色的Rainbow LED在P0端口
../../_images/J7eFoDN.png

步驟3
  • 將以下積木在forever積木中向下排列:
  • show color red積木
  • pause(ms) 100積木
  • show color blue積木
  • pause(ms) 100積木
../../_images/CqsUljq.png

編程連結
12.6結果
  • 小車閃爍著紅光和藍光全速行駛。
../../_images/E4XxlGK.jpg

12.7思考一下
  • 如何設計使小車能夠閃爍著黃光和白光?


13.案例05:瘋狂跳舞

13.1我們的目標
  • 將Ring:bit能夠隨興跳舞。
13.2所需材料
  • Ring:bit智能小車x1
13.3硬體連接
  • 將左輪伺服馬達連接到Ring:bit擴充板的P1,將右輪伺服馬達連接到P2。
../../_images/jBVHea8.png

13.4軟體
13.5編程

步驟1
  • 在MakeCode的選擇中點擊“Advanced”以找到更多選擇。點擊查看底部的“Extensions”。
../../_images/2qCyzQ71.png
  • 搜尋“ringbit”並將ring:bit car套件下載到專案中(如下圖)。
../../_images/lScruzy.jpg

注意:如果遇到提示說明因為不相容所以套件會被刪除,您可以依照提示所說的繼續,或是創建一個新的專案。

步驟2
  • set left wheel at pin P1 right wheel at pin P2移動到on start中。
  • 端口號碼根據於實際的伺服連接端口。
../../_images/igG5TVD1.png

步驟3

將以下積木放置進forever積木中:
  • 積木設置一個left變數積木和right變數積木。
  • 產生一個隨機數並指派到left積木和right積木。
../../_images/2PPYJ0T1.png

步驟4
  • 將左輪速度設置為left積木,將右輪速度設置為right積木。
  • 暫停一秒鐘。

編程連結
13.6結果
  • 小車以不同的速度行駛。
../../_images/j6kX56N1.jpg

13.7思考一下
  • 如何設計使小車能夠確保持續以低速行駛?


14.案例06:遙控

14.1我們的目標
  • 使用另一個micro:bit控制ring:bit智能小車。
14.2所需材料
  • Ring:bit智能小車 x1
  • micro:bit x1
14.3背景

什麼是「無線」?


無線技術透過無線電波發送消息,因為電的變化會產生電波。我們可以使用它來將消息加載到電波中。當電磁波到達接收器時,電磁波的變化會產生電流。然後,透過解調從電波中獲取的訊息以發送訊息。

14.4硬體連接
  • 將左輪伺服馬達連接到Ring:bit擴充板的P1,將右輪伺服馬達連接到P2。
../../_images/jBVHea8.png

14.5軟體
14.6編程

步驟1
  • 在MakeCode的選擇中點擊“Advanced”以找到更多選擇。點擊查看底部的“Extensions”。
../../_images/2qCyzQ71.png
  • 搜尋“ringbit”並將ring:bit car套件下載到專案中(如下圖)。
../../_images/lScruzy.jpg

注意:如果遇到提示說明因為不相容所以套件會被刪除,您可以依照提示所說的繼續,或是創建一個新的專案。


遙控編程連結
Ring:bit car編程連結
14.7結果
  • 按下A鍵,小車向左轉;按下B鍵,小車向右轉;同時按下A和B鍵,小車倒車。

14.8思考一下
  • 如何設計遠程遙控小車的行駛速度?


15.案例07:偵測翻轉

15.1我們的目標
  • 使小車在翻轉時停止。
15.2所需材料
  • Ring:bit智能小車x1
15.3硬體連接
  • 將左輪伺服馬達連接到Ring:bit擴充板的P1,將右輪伺服馬達連接到P2。
../../_images/jBVHea8.png

15.4軟體
15.5編程

步驟1
  • 在MakeCode的選擇中點擊“Advanced”以找到更多選擇。點擊查看底部的“Extensions”。
../../_images/2qCyzQ71.png
  • 搜尋“ringbit”並將ring:bit car套件下載到專案中(如下圖)。
../../_images/lScruzy.jpg

注意:如果遇到提示說明因為不相容所以套件會被刪除,您可以依照提示所說的繼續,或是創建一個新的專案。

步驟2
  • Basic中將on start移出​將Neopixel設置為RGB格式的24個led以獲得五顏六色的光,並將show rainbow設置為1到360。然後將P1端口設置為左輪,將P2端口設置為右輪。
../../_images/tBTItKu.png
步驟3
  • 將變數設置為用於控制汽車行駛的狀態。接著將logo up積木內的變數設為true,其餘設為false。
../../_images/wjmku1o1.png

步驟4
  • forever積木中設置rainbow led使燈光能逐漸以多彩變化。使用變數來控制小車行駛的狀態。
../../_images/w8SjwwY.png

編程連結
15.6結果
  • 小車正常行駛,當翻轉時則停止。
../../_images/buZmNej.gif

15.7思考一下
  • 如何使用其他程式套件設計更有趣的專案?


16.案例08:追隨光源

16.1我們的目標
  • 使小車追隨光源。
16.2所需材料
  • Ring:bit智能小車x1
16.3硬體連接
  • 將左輪伺服馬達連接到Ring:bit擴充板的P1,將右輪伺服馬達連接到P2。
../../_images/jBVHea8.png

16.4軟體
16.5編程

步驟1
  • 在MakeCode的選擇中點擊“Advanced”以找到更多選擇。點擊查看底部的“Extensions”。
../../_images/2qCyzQ71.png
  • 搜尋“ringbit”並將ring:bit car套件下載到專案中(如下圖)。
../../_images/lScruzy.jpg

注意:如果遇到提示說明因為不相容所以套件會被刪除,您可以依照提示所說的繼續,或是創建一個新的專案。

步驟2
  • 在開始時執行一次的指令中,將左輪設置為P1,將右輪設置為P2。
../../_images/RFccHpJ1.png

步驟3
  • Input中將light level移出。接著設置當光源等級大於所設定的值時,小車將往光源移動的指令。
  • 當光源等級小於所設定的值時,小車將旋轉以尋找光源。
../../_images/i1lAR3X1.png

編程連結
16.6結果
  • 小車會旋轉並在檢測到光源時往光源移動。​
../../_images/ENMYgJm.gif

16.7思考一下
  • 您如何設計使智能小車來能夠偵測火?​


17.案例09:透過加速度計遙控

17.1我們的目標
  • 使用另一個micro:bit的加速度計來遙控小車。
17.2所需材料
  • Ring:bit智能小車 x1
  • micro:bit x2

17.3背景

什麼是「無線」?

無線技術透過無線電波發送消息,因為電的變化會產生電波。我們可以使用它來將消息加載到電波中。當電磁波到達接收器時,電磁波的變化會產生電流。然後,透過解調從電波中獲取的訊息以發送訊息。

什麼是「加速度計」?

加速度感測器是一種用於測量加速度的感測器。它包括質量塊、阻尼器、彈性零件、敏感元件和最佳調諧電路。感測器在加速期間正在測量慣性力並通過牛頓第二定律獲得加速度大小。根據敏感元件的不同,常用的加速度計包括電容、應變、壓阻和壓電。

micro:bit的新版本加速度器晶片與舊版本不同。新版本將電子羅盤和加速度計結合在一起。用法並沒有改變。
../../_images/2n6TbVZ1.png

17.4硬體連接
  • 將左輪伺服馬達連接到Ring:bit擴充板的P1,將右輪伺服馬達連接到P2。
../../_images/jBVHea8.png

17.5軟體
17.6編程

步驟1
  • 在MakeCode的選擇中點擊“Advanced”以找到更多選擇。點擊查看底部的“Extensions”。
../../_images/2qCyzQ71.png
  • 搜尋“ringbit”並將ring:bit car套件下載到專案中(如下圖)。
../../_images/lScruzy.jpg

注意:如果遇到提示說明因為不相容所以套件會被刪除,您可以依照提示所說的繼續,或是創建一個新的專案。

步驟2
  • 很難計算陀螺儀的控制量,請透過連結參考更多詳細資訊:加速度計。

  • icon
  • icon
  • icon
  • icon
  • icon
  • icon電話:04-2337-1605
  • icon傳真:04-2256-9949
  • icon統編:13438259
  • iconE-mail:oursteamtw@gmail.com
  • iconLINE ID:@oursteam