使用的塑膠料一樣是網購買的,靠風力的架構,沒有電機的設計,零件已算是很精美了,小朋友若直接組裝也會非常有趣,以小朋友的角度來說,我覺得可以先組起風力的版本玩一玩,領會齒輪軸帶動黃金比例的支架運動的樣子,接下來拆了它,學一點電機的知識(至少知道馬達怎麼轉動)、學個Arduino、Micro:bit或其他小單板,然後思考如何結合進去,利用電機取代原來的風力帶動…
小朋友自己看說明獨力完成也是一種很好的練習 |
樣子比較像機器人 |
回到這篇的正題,我們先來認識一下Tinyplan板,這是一塊台灣在地的MiniPlan機器人團隊所開發的all-in-1伺服馬達控制器,可以搭配小型伺服馬達(Servo)之操控,內建WiFi晶片,可以同時控制8個Servo,而且自帶可充電電源,與Arduino IDE 相容(意思是可以利用Arduino IDE環境來編輯程式)
Tinyplan功能強大,使用原廠ESP-WROOM-02晶片 |
編寫程式的方法和使用Arduino板類似 |
這次的電機動力就不使用減速馬達了,改用二顆360度的伺服馬達來帶動中軸轉動,使用便宜又大碗的輝盛TowerPro SG90就對了 。
Tinyplan只用來接二顆Servo是有點大材小用 |
就自己想辦法做做手工,用膠水黏應該也可以 |
想了這招 |
花了一點時間思考怎麼結合 |
※在一般課堂上,有一點是我覺得更困難的是錢錢的問題,零件和電機都需要額外的錢購買,這也是難以在小朋友身上普及的最大原因,有人會說老師操作給小朋友看的方式教學也可以,我個人覺得那是沒什麼用的,千知萬知都比不上用自己手動手來一次的好!
※給吳秉涎帥哥看一下這隻仿生獸,他說狗頭掛在上面看起來有點可怕,就改一下,弄上個超音波眼睛~
這就不可怕了吧! |
一開始只是想改造一下風力仿生獸的動力來源,使用Tinyplan當主板後,覺得只用來驅動二個Servo會不會太浪費了,這塊板子被設計來驅動8個Servo,也就是8個有pwm,電路方面就是能供應足夠的電流,加上個Ultrasonic吧!讓它長眼~再放個Buzzer可以發出聲音,最後再頭頂上加個8x8的Led,可說是閃閃動人,也把板上的pin給插滿,才不顯得浪費了!
最後的樣子 |
void setup(void) {
//8x8 LED及Buzzer初始
myBEAST.initLEDMatrix(BEAST_PIN_LED_DIN, BEAST_PIN_LED_CS_PIN, BEAST_PIN_LED_CLK_PIN, MATRIX_DIR_270);
myBEAST.initBuzzer(BEAST_PIN_BUZ);
............
//開機時唱一句,閃幾個圖
myBEAST.sing(12);
myBEAST.putMouth(20);
delay(100);
myBEAST.putMouth(21);
delay(100);
myBEAST.putMouth(22);
delay(100);
myBEAST.putMouth(23);
delay(100);
myBEAST.sing(0);
delay(100);
myBEAST.putMouth(0);
}
迴圈
void loop(void) {
//偵測是否進入使用超音波的模式
if (Ultrasonic_OnOff == 1) {
myBEAST.putMouth(1);
delay(100);
if (ultrasonic.distanceRead() > 11 && ultrasonic.distanceRead() <= 20)
{
// 如果前方有障礙物在20公分到11公分之間→右轉動作
右轉的程式碼
}
else if (ultrasonic.distanceRead() > 20)
{
前進的程式碼
}
else if (ultrasonic.distanceRead() <= 11)
{
// 倒退的程式碼
}
}
上頭並不是完整的程式,只是表達出程式邏輯而已~最後,這仿生獸就活靈活現的…
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。