Q霸小車Smart Cutebot示範專案(上集)|奧斯丁教育團隊 OURSTEAM in EDUCATION
icon教學資源
182021.01

Q霸小車Smart Cutebot示範專案(上集)


enlightened應用01: 全速前進或後退enlightened

目的
  • 了解Q霸小車的基本功能:向前或向後移動。

材料
  • 1 x Q霸小車套件

MicroSoft Makecode

程式設計

步驟一
  • 點選「Advanced」在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Q霸小車編程需要一個編碼庫,點選欄目底部的「Add Package」,在對話框搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
注意:如果遇到編碼庫不相容的提示,可繼續依照指示操作或建立新專案。
 
步驟二
  • On start中選擇「show icon」。
../../_images/case_01_023.png

步驟三
  • go straight at full speed拉進on button A pressed
../../_images/case_01_012.png

步驟四
  • reverse at full speed拉進button B pressed
../../_images/case_01_033.png
 
 
結果
  • 按下按鈕A,汽車將全速前進。
  • 按下按鈕B,汽車將全速倒車。
 
探索
如何編程按下按鈕A後讓汽車停止行駛?
 


enlightened應用02: 逐漸加速enlightened
 

目的
  • 在應用01中,我們發現Q霸小車在一開始的速度太快而不能平穩地移動(萬向輪離開地面)。
  • 我們將從一開始逐漸增加速度讓汽車能平穩行駛。

材料
  • 1 x Q霸小車套件

MicroSoft Makecode

程式設計

 
步驟一
  • 點選「Advanced」在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Q霸小車編程需要一個編碼庫,點選欄目底部的「Add Package」,在對話框搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
注意:如果遇到編碼庫不相容的提示,可繼續依照指示操作或建立新項目。
 
步驟二
  • On start中選擇「show icon」。
  • speed變數設定為0,表示啟動速度為0。
../../_images/case_02_013.png
 
步驟三
  • 拖曳「forever」裡設定左右車輪速度的程式積木,並將數值設定為speed,然後新增一個變數。
  • 如果speed100最大速度,將其設定為speed0並重新啟動。

    說明:Q霸小車的速度值是-100~100(負值代表反方向的速度),當speed達最大速度100,將變數_speed設為0並重新加速。
    (如果數值設定超過100,則當速度達100後只會以等速前進)。
../../_images/case_02_023.png
 

結果
Q霸小車會逐漸加速,萬向輪也不會因為高速而脫離地面。

探索
如何編程使汽車逐漸加速然後逐漸減速?

 

enlightened應用03: 八字舞enlightened

目的
  • 讓您的Q霸小車以八字形狀移動。
  • Q霸小車藉由左右車輪設計不同速度以調整行駛方向。

材料
  • 1 x Q霸小車套件

MicroSoft Makecode

程式設計
 
步驟一
  • 點選「Advance」在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Q霸小車編程需要一個編碼庫,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
注意:如果遇到提編碼庫不相容的提示,可依照指示操作或建立新專案。
 
步驟二
  • On start中選擇「show icon」 。
 
 
步驟三
  • 依序拖曳「go straight at full speed」和「set left wheel speed~%  right wheel speed~%」到Forever積木內。
  • 將「八字舞」軌跡分為四個部分:開始時向前移動500ms,設定左輪的速度比右輪快並持續1000ms,接著設定向前移動500ms,再設定左輪的速度比右輪慢並持續1000ms

結果
Q霸小車以「八字型」移動。

探索
如果要使Q霸小車以正方形軌跡移動,該如何編程?

 
 

enlightened應用04: 隨機運行enlightened

目的
讓您的Q霸小車移動(向前、向後或改變方向),就像「他」自己移動一樣。

材料
  • 1 x Q霸小車套件

MicroSoft Makecode

程式設計

 
步驟一
  • 點選「Advanced」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Q霸小車編程需要一編碼庫,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
注意:如果遇到編碼庫不相容的提示,可以繼續依照指示操作或建立新專案。
 
步驟二
  • On start中選擇「show icon」。
../../_images/case_01_023.png
 
步驟三
  • 拖曳left_speedright_speed積木進forever中,設定兩顆輪子的隨機速度為-100100
  • 將速度的兩個變數插入左輪和右輪的程式積木中。
../../_images/case_04_013.png

結果
Q霸小車會隨機前進、後退或改變方向。
 
 
 
enlightened應用05: 自動大燈enlightened

目的
讓您的Q霸小車在黑暗中自動打開車燈。

材料
  • 1 x Q霸小車套件

MicroSoft Makecode

程式設計

 
步驟一
  • 點選「Advance」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Q霸小車編程需要一個編碼庫,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
注意:如果遇到編碼庫不相容的提示,可繼續依照指示操作或建立新專案。
 
步驟二
  • On start中設定全速前進。
../../_images/case_05_013.png
 
步驟三
  • 將「If ... else ...」拖曳進forever中,用於判斷光線強度是否低於10,如果是,請將兩顆全彩LED燈的數值設定為255(組合的光為白色)。
  • 當數值超過10,將兩顆全彩LED燈的數值設定為0,關閉燈光。 
../../_images/case_05_023.png

結果
進入黑暗區域時前大燈自動打開;離開黑暗區域後前大燈自動關閉。

探索
在不同的時間進入黑暗區域時,如何編程使燈光亮不同的顏色?(RGB的數值有助於設定顏色)
 

 
enlightened應用06: 方向燈enlightened

目的
轉彎時,讓您的Q霸小車打開方向燈。

材料
  • 1 x Q霸小車套件

MicroSoft Makecode

程式設計
步驟一
  • 點選「Advance」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Q霸小車編程需要一個編碼庫,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
注意:如果遇到編碼庫不相容的提示,可繼續依照指示操作或建立新專案。
 
步驟二

Q霸小車的車底燈為Rainbow LED燈,左邊預設為P15_0、右邊為P15_1,程式是使用擴充積木:Neopixel。當下載擴充積木:Cutebot時,就會自動帶入擴充積木:Neopixel。
  • 首先On start中將Q霸小車的車底燈設定為P15,一共有2顆燈。
  • 變數_right的範圍設定為from 1(右邊車底燈為P15_1) with 1(共1顆燈)。
  • 變數_left的範圍設定為from 0(左邊車底燈預設為P15_0) with 1(共1顆燈)。
 

步驟三
  • 分別將變數_right右燈寫入A鍵、將變數_left左燈寫入B鍵。每當按下按鍵,Q霸小車的大燈及車底燈會閃爍黃燈,共重複執行5次。
  • Q霸小車的車底燈是透過擴充積木:Neopixel來編寫(如果顏色設定為黑色,即是將燈光關閉),而大燈則是透過擴充積木:Cutebot。 



結果
當按下A鍵時,Q霸小車的右大燈及
右側車底燈會閃爍5次黃燈。
當按下B鍵時,Q霸小車的左大燈及左側車底燈會閃爍5次黃燈。

探索
如何設計讓Q霸小車能夠在
按下A鍵時,使大燈及車底燈同時亮起,並在按下B鍵關閉燈光呢?
 
 
enlightened應用07: 防墜Q霸小車enlightened

目的
沿著桌面邊緣黏貼一圈黑色膠帶,當Q霸小車檢測到桌面邊緣的黑線時會迅速倒退,接著換一個方向繼續前進。
 
材料
  • 1 x Q霸小車套件
 
程式設計
 
步驟一
  • 點選「Advance」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Q霸小車編程需要一個編碼庫,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
注意:如果遇到編碼庫不相容的提示,可繼續依照指示操作或建立新專案。
 
步驟二
  • On start中利用show leds設計一個圖案。
 

步驟三
 
在forever(重複執行)積木,建立if~else(如果~否則)的判斷積木,用if來判斷如果小車沒有(Logic積木中的"not")檢視到黑線(使用擴充積木CuteBot中的"Tracking state is~"),則保持向前進(使用擴充積木CuteBot中的"set left wheel speed ~% right wheel speed ~%,若兩邊的數值一樣即為前進)。

否則的話(代表小車檢測到黑線),使小車向後倒退(數值為負數)並暫停300毫秒,接著使用擴充積木CuteBot中的"set left wheel speed ~% right wheel speed ~%",將左輪設為0、將右輪透過數學積木中的pick random(隨機取數),使其能以50~100之間的速度任意地向左轉(當右輪的速度>左輪,車子即會向左轉),並暫停100毫秒後再繼續。 
 


 

結果
當Q霸小車檢測到桌面邊緣的黑線時會迅速倒退,接著換一個方向繼續前進。如果沒有檢測到黑線,則會繼續保持前進。我們可以放心地讓Q霸小車自由地在黑線的範圍內自行移動,而不必擔心它會摔落地面。
 


enlightened應用08: 循線前進enlightened

目的
讓您的Q霸小車能夠循著黑線繞圈前進。

材料
  • 1 x Q霸小車套件

MicroSoft Makecode

程式設計
步驟一
  • 點選「Advance」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Q霸小車編程需要一個編碼庫,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
注意:如果遇到編碼庫不相容的提示,可繼續依照指示操作或建立新專案。
 
步驟二
  • On start中利用show icon設計一個圖案。
 

步驟三

在forever(重複執行)積木,建立if~else(如果~否則)的判斷積木,用if來判斷小車是否檢視到黑線。Q霸小車會藉由判斷尋跡感測器的狀態(偵測到為●●、○●或是●○),來決定其前進的方向。

當右邊檢測到黑線時(○●),設置左輪的速度>右輪,使其能向右轉;當左邊檢測到黑線時(●○),設置右輪的速度>左輪,使其能向左轉;當左右兩邊都檢測到黑線時(●●),將左、右輪設置為相同速度,使其能保持前進。 
 

結果
Q霸小車會藉由判斷尋跡感測器的狀態,來決定其前進的方向。
當偵測到為●●時,代表Q霸小車在黑線上,因此會沿著黑線繼續前進;當偵測到為○●或是●○時,則代表位置已偏離,Q霸小車會加以調整方向使其回到黑線上繼續前進。


enlightened應用09: 自動避障enlightened

目的
讓您的Q霸小車能夠自動避障並持續行駛。

材料
  • 1 x Q霸小車套件

MicroSoft Makecode

程式設計
步驟一
  • 點選「Advance」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Q霸小車編程需要一個編碼庫,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
注意:如果遇到編碼庫不相容的提示,可繼續依照指示操作或建立新專案。
 
步驟二
  • 首先在on start(在開始時執行)中將小車設置為以20%的速度前進。
 

步驟三
  • 在forever(重複執行)積木,建立if~else(如果~否則)的判斷積木。接著建立變數:sonar,將它設定為超音波感測器偵測到的cm數值。用if來判斷偵測到的距離,如果超音波感測器(sonar)判斷到的cm數值是>2且<10之間,Q霸小車將往左後方倒退1秒以避開障礙物,接著繼續前進。

結果
當Q霸小車藉由超音波感測器(sonar)判斷物體過於接近時,Q霸小車將往左後方倒退1秒以避開障礙物,接著繼續前進。

探索
思考看看,為什麼必須設計讓Q霸小車其感測sonar的數值>2呢?

 
 
enlightened應用10: 保持車距enlightened

目的
讓您的Q霸小車能夠自動與前方保持一定車距前進。

材料
  • 1 x Q霸小車套件

MicroSoft Makecode

程式設計
步驟一
  • 點選「Advance」,在MakeCode欄目中查看更多選擇。
../../_images/cutebot-pk-1.png
  • Q霸小車編程需要一個編碼庫,點選欄目底部的「Add Package」,在對話框中搜尋Cutebot並下載。
../../_images/cutebot-pk-11.png
注意:如果遇到編碼庫不相容的提示,可繼續依照指示操作或建立新專案。
 
步驟二
  • 首先在on start(在開始時執行)中將小車設置為以30%的速度前進。
 

步驟三
  • 在forever(重複執行)積木,建立if~else(如果~否則)的判斷積木。接著建立變數:sonar,將它設定為超音波感測器偵測到的cm數值。用if來判斷偵測到的距離,如果超音波感測器(sonar)判斷到的cm數值是>5且<10之間,Q霸小車將停止前進;如果超音波感測器(sonar)判斷到的cm數值是<5,Q霸小車將倒退;否則的話(非上述兩個狀況),Q霸小車將以30%的速度前進。

結果
如果我們以手來測試,當Q霸小車距離手部遙遠時,它會往前靠近;當距離夠近時,則會停止;而如果距離太近時,則會倒退。
 
示範專案下集
  • icon
  • icon
  • icon
  • icon
  • icon
  • icon電話:04-2337-1605
  • icon傳真:04-2256-9949
  • icon統編:13438259
  • iconE-mail:oursteamtw@gmail.com
  • iconLINE ID:@oursteam