86duino 小六足機器人 diy 課程教材
TRANSCRIPT
![Page 1: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/1.jpg)
DMP Electronics Inc. (瞻營全電子) [email protected]
![Page 2: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/2.jpg)
講師自介 林恩州
現任 DM&P 86Duino 研發工程師
主要負責 86Duino 基礎軟體開發
![Page 3: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/3.jpg)
大綱 第一天上午
86Duino Enjoy 3D 印表機簡介
使用 86Duino Enjoy 列印 86小六足零件
小六足列印件前處理
第一天下午
86Duino 簡介
組合小六足足部
組合小六足身體
![Page 4: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/4.jpg)
第二天上午
Arduino 和 86Duino 控制伺服機的方法簡介
86ME 機器人動作編輯器簡介
86ME 安裝和使用教學
第二天下午
認識六足 - 六足機構原理
認識六足 - 六足步態簡介
使用 86ME 編輯小六足動作
手機藍芽遙控 86小六足
![Page 5: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/5.jpg)
第二天下午
Servo86 函式庫介紹
86小六足動作程式解析
進階 – 86小六足動作程式修改
86小六足創意改造
![Page 6: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/6.jpg)
86Duino Enjoy
3D 印表機簡介
![Page 7: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/7.jpg)
86Duino Enjoy 為一台基於 CNC 金屬框架的 3D 印
表機,剛性的結構有助於減少震動,並提供一個穩定
的列印環境。
86Duino Enjoy 3D 印表機內部設計一套簡單的校準
方法,可以輕易的列印或複製出您的作品。
![Page 8: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/8.jpg)
86Duino Enjoy 列印規格 成形方式:熔融層積 (Fused Filament Fabrication)
列印體積: 100 * 100 * 150 mm ( 1,500 cm3)
最小層高: 0.1 mm
噴嘴直徑: 0.3 mm
列印材料:PLA (玉米澱粉)
![Page 9: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/9.jpg)
86Duino Enjoy 軟體 列印軟體:Repetier-Host (簡稱 RH)
檔案傳輸方式:SD card (SDHC Class 10), USB,
Ethernet
![Page 10: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/10.jpg)
86Duino Enjoy 3D printer Demo Video
影片網址: https://www.youtube.com/watch?v=oOsUWsNCfMY
![Page 11: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/11.jpg)
![Page 12: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/12.jpg)
自行研發的x86 Soc – Vortex86EX
![Page 13: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/13.jpg)
Print3D 控制器
![Page 14: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/14.jpg)
H-Bot 結構 鋁壓鑄成型
![Page 15: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/15.jpg)
自行研發的擠出頭
溫度最高可加熱到 300 度
支援自動水平校正
![Page 16: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/16.jpg)
金屬進料齒輪組
![Page 17: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/17.jpg)
自行研發的步進馬達
![Page 18: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/18.jpg)
![Page 19: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/19.jpg)
![Page 20: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/20.jpg)
DIY 86小六足
![Page 21: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/21.jpg)
86小六足: 1. 具有 12 個自由度 2. 可實現前進、左轉、
右轉等動作 3. 可用手機、USB 鍵
盤或 PS2 搖桿控制
![Page 22: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/22.jpg)
86小六足 DIY 流程 使用 86Duino Enjoy 3D 印表機列印小六足零件
列印件前處理
組合足部
組合身體
![Page 23: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/23.jpg)
86小六足 DIY 流程 使用 86Duino Enjoy 3D 印表機列印小六足零件
列印件前處理
組合足部
組合身體
![Page 24: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/24.jpg)
至 Thingiverse 網站下載 86小六足 STL 檔案:
http://www.thingiverse.com/thing:964149
點擊下載
![Page 25: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/25.jpg)
解壓縮後有六個檔案,如下圖:
![Page 26: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/26.jpg)
零件中文名稱對照 A_arm_top:上 A 臂
A_arm_bottom:下 A 臂
Leg:垂直腳
Linker:連結器
Body_top:身體上半部
Body_bottom:身體下半部
![Page 27: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/27.jpg)
Leg 零件
![Page 28: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/28.jpg)
A_arm_top 零件
![Page 29: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/29.jpg)
A_arm_bottom 零件
![Page 30: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/30.jpg)
linker 零件
![Page 31: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/31.jpg)
Body_bottom 零件
![Page 32: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/32.jpg)
body_top 零件
![Page 33: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/33.jpg)
leg
A_arm_bottom
A_arm_top
linker
零件名稱和實際對應圖
![Page 34: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/34.jpg)
body_bottom
body_top
零件名稱和實際對應圖
![Page 35: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/35.jpg)
A_arm_bottom、A_arm_top 、leg 、linker 為小六
足足部的組合零件,這 4 個零件可以組合成一個足部
body_top 為小六足身體上半部零件
body_bottom 為小六足身體下半部零件
![Page 36: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/36.jpg)
完成一整隻 86小六足一共要列印:
6 個足部
1 個身體上半部
1 個身體下半部
![Page 37: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/37.jpg)
下載並安裝 Repetier-Host 軟體
http://www.repetier.com/downloads/
安裝 Repetier-Host
點擊下載
![Page 38: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/38.jpg)
86Duino Enjoy 驅動程式下載
http://www.ftdichip.com/Drivers/VCP.htm
下載 & 安裝驅動程式
![Page 39: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/39.jpg)
連接 86Duino Enjoy 和電腦 驅動程式安裝完成後,使用 USB 線連接電腦和 86Duino
Enjoy
USB 線
86Duino Enjoy
PC
![Page 40: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/40.jpg)
此時裝置管理員應該會出現一個虛擬 COM port ,如
下圖:
![Page 41: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/41.jpg)
下載 86Duino Enjoy 專用的設定檔
http://www.roboard.com/temp/settings.zip
解壓縮後可以看到資料夾結構如下:
![Page 42: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/42.jpg)
開啟 Repetier-Host 軟體
滑鼠雙擊圖示
開啟後的畫面
![Page 43: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/43.jpg)
選擇 Config > Printer Settings
![Page 44: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/44.jpg)
將 Connection 分頁中的設定選項,設定如下圖:
Connection 分頁
的設定選項如右:
![Page 45: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/45.jpg)
按 ”連線” 按鈕,連線成功時會聽到 86Duino
Enjoy 發出連續三個音效,且連線按鈕會變成右下圖:
未連線 連線成功
連線
![Page 46: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/46.jpg)
連線後,我們可以選擇 “Manual Control” 分頁,
再按下歸 HOME 按鈕,如下圖所示:
1
2
![Page 47: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/47.jpg)
按下歸 HOME 按鈕後,86Duino Enjoy 3D 印表機的
X、Y 、Z 軸會立即回到機械原點,代表我們已經可以
操作 86Duino Enjoy 3D 印表機了
![Page 48: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/48.jpg)
繼續其他設定 在 Config > Printer Settings 中,設定 Printer 分頁
如下圖:
![Page 49: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/49.jpg)
Printer 分頁的
設定選項如右:
![Page 50: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/50.jpg)
Extruder 分頁的
設定選項如右:
![Page 51: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/51.jpg)
Printer Shape 分頁
的設定選項如右:
![Page 52: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/52.jpg)
載入 86Duino Enjoy 設定檔 選擇 Slicer > CuraEngine
1
2
![Page 53: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/53.jpg)
選擇 Slicer > Configuration
1
2
![Page 54: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/54.jpg)
選擇 Print > Import
1
2
![Page 55: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/55.jpg)
打開 86Duino Enjoy 設定檔資料夾, 進入CuraEngine 資
料夾,選擇 Print-Settings.rcp 設定檔,按下開啟舊檔
![Page 56: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/56.jpg)
載入 86Duino Enjoy 設定檔:
選擇 Filament > Import
1
2
![Page 57: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/57.jpg)
選擇 Filament-Settings.rcp 設定檔後,按下開啟舊檔
![Page 58: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/58.jpg)
在 Print Configuration 選項中,套用 86Duino
Enjoy 設定檔:選擇 Print-Settings
![Page 59: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/59.jpg)
在 Filament Setting 中,Extruder1 套用 86Duino
Enjoy 設定檔:選擇 Filament-Settings
![Page 60: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/60.jpg)
載入小六足 STL 檔 點擊 Load 按鈕,載入 86小六足足部檔案:
A_arm_bottom、A_arm_top、leg 、linker
![Page 61: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/61.jpg)
載入後的圖如下:
![Page 62: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/62.jpg)
基本操作 在下圖紅框中按著滑鼠左鍵並移動,可以旋轉視角
在足部零件上面,按著滑鼠右鍵並移動,可以移動零件
![Page 63: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/63.jpg)
點選 Linker,將零件沿著 Y 軸翻轉 90 度,如下圖:
1
2
3
![Page 64: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/64.jpg)
翻轉後的 linker 零件,擺放角度應如下圖:
![Page 65: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/65.jpg)
點選 A_arm_bottom,將零件沿著 Y 軸翻轉 180 度,
如下圖:
1
2 3
![Page 66: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/66.jpg)
翻轉後的 A_arm_bottom 零件,擺放角度應如下圖:
![Page 67: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/67.jpg)
翻轉完成後的足部零件如下圖:
![Page 68: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/68.jpg)
打開支撐選項 設定 Support Type 為 Everywhere
![Page 69: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/69.jpg)
按下切片按鈕,就會立即進行切片
![Page 70: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/70.jpg)
切片完成後會出現類似下面畫面:
![Page 71: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/71.jpg)
傳輸列印檔案至 86Duino Enjoy 傳輸檔案給 86Duino Enjoy 的方法有兩種:
方法一:使用 USB 線傳輸
方法二:使用 SD 卡
![Page 72: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/72.jpg)
方法一: 使用 USB 線 切片完成後,直接按下列印按鈕,86DuinoEnjoy 會
立即開始列印
![Page 73: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/73.jpg)
方法二: 使用 SD 卡 不使用 USB 線連接 86Duino Enjoy,改插上
86Duino Enjoy 專用的 SD 卡至您的電腦
![Page 74: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/74.jpg)
切片完成後,點擊如下圖示, 將 G-code 檔儲存至 SD
卡中:選擇 G-Code Editor 分頁 > 按下儲存按鈕
1
2
![Page 75: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/75.jpg)
將檔案儲存在 SD 卡中的 gcode 資料夾下,儲存檔名
改成 auto.gcode,按存檔
![Page 76: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/76.jpg)
從電腦拔出 SD 卡,將此 SD 卡置入 86Duino Enjoy
背面的 SD 卡插槽
SD 卡插槽
86Duino Enjoy 控制盒背面
![Page 77: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/77.jpg)
打開 86Duino Enjoy 電源,86Duino Enjoy 會自動讀
取 auto.gcode 檔開始列印!
電源
86Duino Enjoy 控制盒背面
![Page 78: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/78.jpg)
86小六足 DIY 流程 使用 86Duino Enjoy 3D 印表機列印小六足零件
列印件前處理
組合足部
組合身體
![Page 79: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/79.jpg)
此步驟中,我們需要對 86小六足的足部和身體列
印件做組裝的前處理,包括:拆除支撐、打磨、
鑽孔、攻牙。
拆除支撐:支撐為列印過程所需,列印完成後必需拆除
打磨:由於零件表面/邊緣有時會存在變形或凸起,需
要用工具打磨平整
鑽孔:可讓螺絲穿過,將螺絲做為軸承使用
攻牙:可讓螺絲鎖入,用以固定零件
![Page 80: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/80.jpg)
認識工具
1. 鑽孔刀 2. 攻牙刀 3. 手握夾頭 4. 尖嘴鉗 5. 平銼刀 6. 圓銼刀
7. 螺絲起子 8. 斜口鉗
1 2 3
4
5 6 7
8
![Page 81: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/81.jpg)
額外材料
1. 2mm x 4mm 螺絲 2. 2mm x 8mm 螺絲 3. 2mm x 15mm 螺絲
4. 杜邦線 5. 電子擴充板 (for 86DuinoZero) 6. 杜邦針腳
1 2
3 4
5
6
![Page 82: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/82.jpg)
Linker 零件前處理
![Page 83: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/83.jpg)
取出列印好的 linker 零件
拆除 linker 零件的支撐
![Page 84: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/84.jpg)
使用尖嘴鉗拆除以下支撐:
1
2 3
4
5
6
![Page 85: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/85.jpg)
拆除支撐示意圖:
尖嘴鉗
拆除支撐
![Page 86: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/86.jpg)
使用銼刀來回將左下圖箭頭所指的表面磨平:
打磨 linker 零件
銼刀
來回打磨
![Page 87: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/87.jpg)
磨到可以將伺服機順利置入即可:
![Page 88: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/88.jpg)
如果該處磨掉很多後伺服機還是很難置入,這是因為
列印件的邊緣可能有些凸起或變形,干涉到伺服機外
殼,請用銼刀將這些邊緣磨掉一些即可:
![Page 89: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/89.jpg)
linker 零件攻牙 使用工具:2mm 攻牙刀 + 手握夾頭
手握夾頭
2mm 攻牙刀
![Page 90: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/90.jpg)
將 2mm 攻牙刀套入手握夾頭並鎖緊
1 2
![Page 91: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/91.jpg)
Linker 零件上需要攻牙的孔,如下圖紅圈處:
俯視圖 底視圖
![Page 92: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/92.jpg)
側視圖1 側視圖2
![Page 93: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/93.jpg)
攻牙時,請盡量保持攻牙刀與需要攻牙的孔位角度垂
直,不要傾斜,否則孔位可能會被擴大,導致螺絲鎖
入後無法固定。
正確 錯誤
保持與孔位垂直後旋入攻牙刀 攻牙刀角度傾斜時,請勿旋入
90 度
![Page 94: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/94.jpg)
linker 零件鑽孔 使用工具:2mm 鑽孔刀 + 手握夾頭
手握夾頭 2mm 鑽孔刀
![Page 95: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/95.jpg)
將 2mm 鑽孔刀套入手握夾頭並鎖緊
1 2
![Page 96: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/96.jpg)
使用鑽孔刀對下圖指示的孔位鑽孔:
俯視圖 底視圖
![Page 97: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/97.jpg)
使用鑽孔刀時,也請盡量保持與孔洞垂直後,再旋入
鑽孔刀:
鑽孔
![Page 98: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/98.jpg)
操作影片
![Page 99: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/99.jpg)
A_arm_bottom 零件前處理
![Page 100: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/100.jpg)
準備 取出 A_arm_bottom、 leg 零件
取出十字型伺服機配件盤
A_arm_bottom leg
![Page 101: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/101.jpg)
十字型配件盤鑽孔 在十字型伺服機配件盤上,由中心數來第二個孔,用
鑽孔刀鑽出 2mm 的洞,如下圖:
![Page 102: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/102.jpg)
將鑽孔處垂直 90 度的另一個孔,用鑽孔刀鑽出 2mm
的洞,如下圖:
![Page 103: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/103.jpg)
拆除 A_arm_bottom 上的支撐,用圓挫刀來回打磨
左下圖箭頭所指的面:
來回打磨
![Page 104: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/104.jpg)
磨到將十字型伺服機配件盤靠上時,可以看到孔位對
齊 (如右下圖箭頭所指處):
孔位對齊
![Page 105: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/105.jpg)
使用平銼刀,打磨會接觸 leg 零件的面,如下圖箭頭
所指的面:
![Page 106: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/106.jpg)
持續打磨直到 leg 零件置入後,可以輕鬆旋轉的程度:
※如果已經將 A_arm_bottom 磨掉很多了,leg 零件置入後轉起來還是很緊,
請改為打磨 leg 零件的接觸面
來回打磨
輕鬆旋轉
leg
![Page 107: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/107.jpg)
A_arm_bottom 零件鑽孔 用鑽孔刀對下圖箭頭指示的孔位鑽孔:
鑽孔
![Page 108: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/108.jpg)
A_arm_bottom 零件攻牙 使用攻牙刀在下圖指示的孔位上攻牙:
攻牙
![Page 109: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/109.jpg)
leg 零件攻牙 使用攻牙刀在下圖指示的孔位上攻牙:
攻牙
![Page 110: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/110.jpg)
操作影片
![Page 111: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/111.jpg)
A_arm_top 零件前處理
![Page 112: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/112.jpg)
準備 取出 A_arm_top、leg 零件
A_arm_top leg
![Page 113: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/113.jpg)
使用平銼刀,打磨會接觸 leg 零件的面,如下圖箭頭
所指的面:
![Page 114: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/114.jpg)
打磨到 leg 零件置入後,可以輕鬆旋轉的程度:
※如果已經將 A_arm_top 磨掉很多了, leg 零件置入後轉起來還是很緊,可
以改為打磨 leg 零件的接觸面
來回打磨
輕鬆旋轉
leg
![Page 115: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/115.jpg)
鑽孔 用鑽孔刀對下圖指示的孔位鑽孔:
鑽孔
![Page 116: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/116.jpg)
Body_top 零件前處理
![Page 117: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/117.jpg)
準備 取出 body_top 零件
![Page 118: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/118.jpg)
使用尖嘴鉗拆除背面支撐
拆除前 拆除後
![Page 119: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/119.jpg)
重複使用平銼刀打磨拆除支撐後的面,直到伺服機可
以容易的置入:
來回打磨
![Page 120: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/120.jpg)
攻牙 用攻牙刀對下圖指示的孔位攻牙 (下圖藍圈處)
攻牙
![Page 121: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/121.jpg)
鑽孔 用鑽孔刀對下圖指示的孔位鑽孔:
鑽孔
![Page 122: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/122.jpg)
Body_bottom 零件前處理
![Page 123: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/123.jpg)
準備 取出 body_bottom 零件
![Page 124: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/124.jpg)
在 body_bottom 零件上置入伺服機,如下圖:
置入
![Page 125: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/125.jpg)
如果發現很難置入 (置入後出現空隙,如下圖):
空隙
難以壓入伺服機
![Page 126: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/126.jpg)
請移除伺服機,然後使用平銼刀磨平 body_bottom
與伺服機的接觸表面,直到伺服機可以順利壓入:
來回打磨
![Page 127: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/127.jpg)
用攻牙刀對下圖指示的孔位攻牙 (左下圖紅圈處):
攻牙
攻牙
![Page 128: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/128.jpg)
用鑽孔刀對下圖指示的孔位鑽孔 (左下圖紅圈處):
鑽孔
鑽孔
![Page 129: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/129.jpg)
86Duino 簡介
![Page 130: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/130.jpg)
它是世界上第一個發表的 x86
Arduino 相容板 (比 Intel Galileo 還早)
比 Arduino 的 CPU 時脈快數十倍
內建 Arduino UNO/MEGA 板上沒有
的額外硬體(如: SD 卡、LAN 網路)
可以跑 Windosw XP 與 Linux
作業系統
相容 Arduino Leonardo 腳位
什麼是 86Duino?
![Page 131: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/131.jpg)
86Duino 的種類和名稱
86Duino ONE
86Duino EduCake
入門款 機器人專用 教育用
86Duino Zero
![Page 132: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/132.jpg)
86Duino 特色 (2/2) 軟體
相容 Arduino 的開發環境
完整相容 Arduino 程式語法、API、標準函式庫
額外內建 33 個 Arduino 相容函式庫
完完全全 Made In Taiwan(連 CPU 也是 Made In
Taiwan,板子上的零件多數也是 Made In Taiwan)
![Page 133: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/133.jpg)
86Duino 計畫緣起
Maker 運動
Arduino 紀錄片
開源、教育夢
86Duino 計劃開始
三年前
N 年前 許多非電子專業的人開始使用開發板
重新從人的角度思考
工程師的夢想
![Page 134: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/134.jpg)
86Duino 開發環境命名 Coding:培養使用者寫程式解決問題的能力,期望人們在應
用 86Duino 的過程中,能不斷精進寫程式(coding)能力,
進而以寫程式(coding)改變世界。
中文名稱:口丁,由於 86Duino 計劃的種子是由
OpenLab.Taipei 社群翻譯的 Arduino 記錄片所種下,「口丁」
有代表 OpenLab.Taipei 縮寫的意思,同時,它發音也近於英
文「Coding」,正好也隱含了用 coding 改變世界的意義
詳細內容請點此連結:http://www.86duino.com/index.php?p=5746&lang=TW
![Page 135: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/135.jpg)
生產 86Duino 的 DM&P 集團 DM&P 集團為一跨國性的嵌入式系統製造商,以台灣
為設計研發中心及營運總部,在美東、美西、英國、
日本、巴西、深圳、上海、西安均設有分公司。
![Page 136: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/136.jpg)
硬體規格上的差異 本課程中會用到的 86DuinoZero 或 86DuinoOne,
這兩塊在硬體規格方面,和 Arduino 有什麼相似處?
或不同之處?
![Page 137: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/137.jpg)
Arduino 與 86DuinoZero 硬體規格比較
![Page 138: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/138.jpg)
86DuinoZero 與 Arduino 效能比較表 Dhrystone 性能評測
Dhrystone 性能評測 sketch 下載: https://www.facebook.com/download/1026109197423161/Arduino_dhrystone.ino
![Page 139: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/139.jpg)
Zero 與 One 的硬體規格比較
![Page 140: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/140.jpg)
如何將 RC 伺服機連接到
86Duino Zero ?
![Page 141: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/141.jpg)
連接 86Duino Zero Zero 開發板沒有 RC 伺服機專用插座,但可透過以下任一
方式與 RC 伺服機連接:
方法一:使用轉接用的 Arduino shields
方法二:透過麵包板轉接
方法三:手工製作伺服機轉接插座
![Page 142: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/142.jpg)
方法一 使用 Arduino Sensor Shlied 轉接
Arduino Sensor Shlied 86Duino Zero
+
![Page 143: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/143.jpg)
+
86Duino Zero +
Arduino Sensor shield
RC Servo – SG90 x 3
![Page 144: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/144.jpg)
方法二 使用麵包板轉接
![Page 145: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/145.jpg)
![Page 146: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/146.jpg)
只接單顆伺服機時,可直接透過杜邦線連接
![Page 147: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/147.jpg)
杜邦線 RC Servo – SG90
86Duino Zero
![Page 148: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/148.jpg)
方法三 使用 2.54mm 杜邦頭製作轉接插座
86小六足用的方法
將伺服機插在杜邦插座上
杜邦插座
![Page 149: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/149.jpg)
杜邦插座
![Page 150: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/150.jpg)
如何將 RC 伺服機連接到
86Duino One
![Page 151: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/151.jpg)
連接方法 (1/2) 86Duino One 外側有一排為 RC 伺服機設計的插座,
信號安排如右下圖所示:
PWM VIN GND
86Duino One
![Page 152: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/152.jpg)
連接方法 (2/2) 將 RC 伺服機依正確方向插上:
正確方向
GND (黑線) 電源 (紅線) PWM (黃線)
RC Servo – SG90
![Page 153: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/153.jpg)
接上電源 86Duino One 左上方的綠色端子台是 RC 伺服機主要
的電源輸入端,允許 6 ~ 24 伏特的電壓輸入:
![Page 154: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/154.jpg)
注意事項 (1/4) RC 伺服機本身有自己適合的工作電壓範圍,接上電
源之前,請先閱讀 RC 伺服機的規格書或說明書,確
認其工作電壓,如果輸入的電壓超過工作電壓,太高
可能導致伺服機永久燒毀,太低則會讓伺服機無法運
作。
![Page 155: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/155.jpg)
注意事項 (2/4) 有些廉價 RC 伺服機設計不良,在啟動瞬間會大幅干
擾 VIN 電源之供給,將 VIN 電源拉低至 6V 以下,這
會使 86Duino 的 CPU 模組啟動欠壓保護而停機。如
發生這種狀況,一個解決方法是更換可瞬間供應大電
流的外部電源(例如:具有高放電系數的遙控模型用
鋰電池)以克服伺服機的干擾。
![Page 156: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/156.jpg)
注意事項 (3/4) 另一方法是從 micro-USB 接頭另外供應穩定的 5V 電源給
CPU 模組,這是市面上伺服機控制板常見的雙電源供電方
式,以 One 為例,如下圖所示:
![Page 157: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/157.jpg)
注意事項 (4/4) Zero 雖然可透過板上 5V 直接對吃電較小的伺服機供
電,但連接大電流的伺服機時,應使用雙電源供電。
micro USB:5V
外接電源
![Page 158: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/158.jpg)
86小六足 DIY 流程 使用 86Duino Enjoy 3D 印表機列印小六足零件
列印件前處理
組合足部
組合身體
![Page 159: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/159.jpg)
組裝概述 用螺絲將伺服機和足部列印件組合起來
歸零伺服機至中點
鎖上伺服機配件盤
完成足部組裝
![Page 160: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/160.jpg)
組裝完成圖:
![Page 161: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/161.jpg)
準備材料 2mm x 4mm 螺絲 3 顆
2mm x 8mm 螺絲 4顆
2mm x 15mm 螺絲 1顆
SG-90 伺服機 1 顆
十字型伺服機配件盤 1 個
※組合一個足部為例
![Page 162: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/162.jpg)
組合足部 將伺服機如下圖方式壓入 linker 零件:
linker
![Page 163: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/163.jpg)
用長度 8mm 螺絲鎖緊,如下圖:
長度 8mm 螺絲
![Page 164: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/164.jpg)
合上 A_arm_top,再用長度 15mm 螺絲鎖緊,如下
圖:
長度 15mm 螺絲
A_arm_top
![Page 165: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/165.jpg)
A_arm_top 另一側用長度 8mm 螺絲鎖緊,如下圖:
長度 8mm 螺絲
![Page 166: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/166.jpg)
完成後用手搖動 A_arm_top 零件,如果發現 A_arm_top
搖動起來不順暢,表示 A_arm_top 和 linker 之間的磨擦
力太大,請將上鎖的螺絲鬆開一點再試試看:
搖動 A_arm_top
![Page 167: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/167.jpg)
假如鬆開螺絲後還是感覺磨擦力很大,請將 A_arm_top
零件拆下,使用銼刀稍微打磨 A_arm_top 和 linker 的接
觸的面後再裝上:
A_arm_top
![Page 168: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/168.jpg)
鎖上 A_arm_top 零件後,用長度 4mm 螺絲鎖上
A_arm_bottom 零件,如下圖:
長度 4mm 螺絲
![Page 169: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/169.jpg)
翻到另一面,我們準備將伺服機十字型配件盤裝在伺
服機輸出軸上:
![Page 170: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/170.jpg)
在裝上配件盤之前,我們先要對伺服機做中點歸零
中點歸零後的伺服機,可確保足部最大的可動範圍為正負
90度 (共 180 度),如下圖:
中點
旋轉範圍:180 度
![Page 171: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/171.jpg)
伺服機歸零程式 下載單一伺服機歸零的 sketch 程式:
http://www.roboard.com/temp/servo.zip
![Page 172: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/172.jpg)
86DuinoZero 歸零程式 #include <Servo86.h> // 使用 Servo86 函式庫 Servo myservo1; // 初始化 Servo 物件 void setup() { // 設定 Servo 腳位為 2 myservo1.attach(2); // 送出 1500us 的 PWM 信號,使伺服機歸零至中點 myservo1.write(1500); } void loop() {}
![Page 173: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/173.jpg)
86DuinoOne 歸零程式 #include <Servo86.h> // 使用 Servo86 函式庫 Servo myservo1; // 初始化 Servo 物件 void setup() { // 設定 Servo 腳位為 21 myservo1.attach(21); // 送出 1500us 的 PWM 信號,使伺服機歸零至中點 myservo1.write(1500); } void loop() {}
![Page 174: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/174.jpg)
燒錄 Sketch 程式至 86Duino 下載 86Duino Coding 210,將 sketch 燒錄至
86Duino
http://www.86duino.com/86Duino_IDE/86Duino_C
oding_210_WIN.zip
![Page 175: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/175.jpg)
燒錄完成後, 86Duino 會立刻從指定腳位送出 duty
為 1500us 的 PWM,接著我們要將伺服機與
86Duino 連接起來。
伺服機連接 86Duino 的步驟
86DuinoZero
1. 將 PWM 信號線連接至轉接板
2. 伺服機插上轉接板
86DuinoOne
直接將伺服機連接線接上 86DuinoOne 的伺服機座
![Page 176: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/176.jpg)
86DuinoZero 上的連接方法 將 PWM 信號線連接至轉接板
拿出轉接板 1 塊
拿出 3 條杜邦線 (紅、黑、黃顏色各一條)
杜邦線 轉接板
![Page 177: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/177.jpg)
轉接板上面的腳位安排如下:
12 組 RC Servo 插座 電源/鋰電池插座
※ 電源/鋰電池插座旁各有一個的紅點和黑點,紅點代表電源,黑點代表地
![Page 178: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/178.jpg)
轉接板的電路如下圖:
:PWM 信號腳,各別獨立
:電源線,彼此相連
:地線,彼此相連
左圖對應轉接板背面
電源/鋰電池插座
轉接板背面
![Page 179: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/179.jpg)
將信號排線和電源線插到轉接板上
在歸零程式中使用了第 2 腳位做為 PWM 信號輸出腳,
所以我們將杜邦線連接如下圖:
2 5V
GND
![Page 180: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/180.jpg)
插上需要歸零的伺服機 伺服機的橘線,為 PWM 信號線
,需接在杜邦線下方 (如右圖)
伺服機的紅線接在電源 (5V)
伺服機的黑線接地 (GND)
伺服機橘線要連接在 PWM 信號排線下方
杜邦線
Servo橘線
![Page 181: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/181.jpg)
86DuinoOne 上的連接方法 歸零程式中使用了第 21 腳位做為 PWM 信號輸出腳,
我們直接將伺服機連接至 86DuinoOne 即可:
![Page 182: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/182.jpg)
將 86Duino 接上電源/電池後,伺服機會立即轉到中
點位置,此時請用奇異筆標記如下位置,以利後續不
插電時辨識:
標記線
![Page 183: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/183.jpg)
標記完成後,請拔除伺服機連接線,讓伺服機停止出
力:
後面步驟即將鎖上配件盤,如果不拔除伺服機連接線,
伺服機會一直保持在中點位置,此時若用螺絲起子將配
件盤鎖上,鎖上的力道容易導致伺服機內部減速機崩牙。
※ 崩牙後的 SG-90 伺服機將永遠無法順利轉動,只能更換新的伺服機
![Page 184: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/184.jpg)
將十字型配件盤的短軸對齊中點 (標記線),套在伺服
機輸出軸上,如下圖所示:
將配件盤的短軸對齊標記線 套在伺服機輸出軸上
標記線
十字配件盤短軸 對齊標記線
十字配件盤短軸
![Page 185: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/185.jpg)
用 4mm 長度的螺絲 2 根,鎖緊 A_arm_bottom
使用伺服機配件包中的自攻螺絲鎖緊十字配件盤
長度4mm 螺絲
伺服機配件包
中的自攻螺絲
![Page 186: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/186.jpg)
用斜口鉗修飾配件盤,剪除較長的邊,形成下圖:
![Page 187: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/187.jpg)
用長度 8mm 螺絲 2 顆鎖上 leg 零件,最後完成圖如
下:
長度 2mm 螺絲
Leg
![Page 188: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/188.jpg)
組裝影片
![Page 189: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/189.jpg)
86小六足 DIY 流程 使用 86Duino Enjoy 3D 印表機列印小六足零件
列印件前處理
組合足部
組合身體
![Page 190: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/190.jpg)
組裝概述 將 6 顆伺服機置入 body_bottom 零件中
蓋上 body_top 零件,用螺絲固定
鎖上 6 個已完成的足部、86Duino 開發板
連接並整理外露的伺服機連接線,完成 86小六足
![Page 191: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/191.jpg)
將 6 顆伺服機置於 body_bootom,如下圖:
![Page 192: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/192.jpg)
將落在外側的伺服機連接線,各別拉至身體中央,統
一從一端伸出 (這麼做是為了方便後續整線):
完成圖 將伺服機連接線拉進身體 並從一端伸出
![Page 193: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/193.jpg)
準備蓋上 body_top 零件
![Page 194: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/194.jpg)
先將 body_top 零件旋轉如下圖:
正確方向 錯誤方向
![Page 195: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/195.jpg)
蓋上 body_top 零件
![Page 196: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/196.jpg)
用 6 顆長度15mm 的螺絲鎖緊 body_top,如下圖紅
圈處:
長度 15 mm 螺絲
![Page 197: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/197.jpg)
使用鑽孔刀對一字型配件盤鑽孔 (由中心數來第二個
孔,如下圖),一共要對 6 個一字型配件盤鑽孔:
一字型配件盤上要鑽孔的孔位 鑽孔完成
![Page 198: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/198.jpg)
將 6 顆伺服機分別歸零至中點,並畫上標記線
將一字型配件盤照下圖方式套至伺服機輸出軸:
45 度 45 度
45 度 45 度
※ 身體邊角上的伺
服機,每個一字型
配件盤套上伺服機
時, 需要與左圖中的
紅色虛線呈 45 度
![Page 199: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/199.jpg)
用 3 顆 2mm x 4mm 螺絲固定足部 (2 顆固定配件盤,
另一顆固定 linker 與 body_bottom)
以自攻螺絲鎖緊伺服機一字型配件盤
長度 4mm 螺絲 長度 4mm 螺絲
長度 4mm 螺絲
伺服機自攻螺絲
![Page 200: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/200.jpg)
用斜口鉗將一字型配件盤凸出的部分剪除,增加美觀,
如下圖:
![Page 201: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/201.jpg)
6 個足部全部鎖上後,如下圖:
![Page 202: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/202.jpg)
組合 86DuinoZero 小六足
![Page 203: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/203.jpg)
對應下圖紅圈處,用 3 顆 2mm x 4mm 螺絲固定
86DuinoZero 於 body_top 上
裝上 86DuinoZero 開發板
![Page 204: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/204.jpg)
用 2 顆 2mm x 4mm 螺絲固定擴充板:
長度 4mm 螺絲
![Page 205: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/205.jpg)
使用杜邦線連接 86DuinoZero 與擴充板
PWM 信號線、電源線、地線共 14 條,擴充板上的腳位對應
如下:
2 3 4 5
6 7 8 9
10 11 12 13
電源 (VIN)
地 (GND)
![Page 206: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/206.jpg)
使用 12 條黃色 (PWM)、1 條紅色(VIN)、1 條黑色
(GND)的杜邦線連接 86DuinoZero 和轉接板:
![Page 207: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/207.jpg)
將足部的伺服機連接線穿過 body_bottom 下方的孔
足部伺服機連接線
![Page 208: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/208.jpg)
連接伺服機與擴充板 86小六足伺服機編號與擴充板上的腳位對應如下:
1 2
3 4
5
6
7
8
9 10
11 12
![Page 209: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/209.jpg)
將所有伺服機連接線連接至擴充板上:
![Page 210: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/210.jpg)
組合 86DuinoOne 小六足
![Page 211: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/211.jpg)
對應下圖紅圈處,用 3 顆 2mm x 4mm 螺絲將
86DuinoOne 固定於 body_top 零件上
裝上 86DuinoOne 開發板
![Page 212: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/212.jpg)
將足部伺服機連接線穿過 body_bottom 下方的孔
足部伺服機連接線
![Page 213: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/213.jpg)
連接伺服機與擴充板 86小六足伺服機編號與擴充板上的腳位對應如下:
1 2
3 4
5
6
7
8
9 10
11 12
![Page 214: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/214.jpg)
將所有伺服機連接線連接至 86DuinoOne 上:
![Page 215: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/215.jpg)
我們將外露的連接線稍做整理,讓 86小六足看起來更
美觀。
無論使用 86DuinoZero 或 86DuinoOne,整線方法都
相同,下面我們以 86DuinoZero 為例,介紹整線方法。
伺服機連接線整理
![Page 216: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/216.jpg)
先將外露的伺服機連接線拉至 86小六足身體內,如下
圖:
將伺服機連接線塞進 86小六足身體
連接線整理
![Page 217: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/217.jpg)
將伺服機連接線來回折短,用束線帶固定在兩旁支架:
折短的 伺服機 連接線
束線帶
示範影片
![Page 218: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/218.jpg)
用 束線帶固定完成後,盡量讓下圖紅框處沒有伺服機
連接線穿過,因為這是未來要放置鋰電池的空間
最後完成如下圖:
鋰電池空間
![Page 219: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/219.jpg)
置入鋰電池後的完成圖
7.4V 850mA 鋰電池
![Page 220: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/220.jpg)
組裝身體影片
![Page 221: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/221.jpg)
附錄- 接上鋰電池 接上鋰電池前,請注意
7.4V 鋰電池充飽時,一般電壓是 8.2V ~ 8.4V,86小六
足使用的 SG-90 伺服機,操作電壓為 4.8V ~ 7.2 V。如
果直接接上充飽的鋰電池,會因過高的電壓造成 SG-90
運作時產生不規律抖動,再接上鋰電池之前,請先用三
用電表量測電壓,待電壓下降至 7.2V ~ 7.4V 時,再接
上 86小六足。
![Page 222: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/222.jpg)
鋰電池放電的方法
閒置鋰電池,等待內部自放電至適合電壓 (缺點:等待時間長)
接上 20 歐姆 40W 的水銀電組主動降壓 (約 20 分鐘後降到適合電
壓)
![Page 223: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/223.jpg)
除了將鋰電池放電,我們也可以直接用充飽的鋰電池,透
過 DC to DC 降壓模組為 86小六足供電
由於 86小六足身上的 12 顆 SG-90 啟動電流會超過 3A,
建議購買提供電流超過 5A 的 DC-DC 降壓模組
DC-DC 降壓模組
※ 輸出電壓可透過模組
上的可變電阻調整
![Page 224: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/224.jpg)
** 鋰電池的電源線,紅線必需朝著伺服機,黑線朝外,不可弄反!!
鋰電池腳位
鋰電池電源線
連接鋰電池的方法 – 86DuinoZero
![Page 225: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/225.jpg)
連接鋰電池的方法 – 86DuinoOne 將 2 pins 的杜邦針腳鎖在綠色端子台上:
![Page 226: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/226.jpg)
連接鋰電池的方法 – 86DuinoOne
鋰電池電源線
依照下圖方向插上鋰電池電源線:
紅線接 +
黑線接 - +
-
![Page 227: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/227.jpg)
Arduino/86Duino
控制伺服機方式簡介
![Page 228: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/228.jpg)
Arduino 控制伺服機: 使用 Servo 函式庫 attach() - 初始化 Servo pin
write() - 控制 Servo 轉動至 0 ~ 180 度
writeMicroseconds()- 輸入 PWM duty 來控制 Servo 角度
read() - 讀 Servo 目前角度
attached() - 檢查 Servo pin 是否 attach 過
detach() - 關閉 Servo pin
** Servo 函式庫使用方法大部分 Arduino 書籍皆有介紹,此處不再贅述**
![Page 229: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/229.jpg)
範例程式 #include <Servo.h> Servo myservo; void setup() { myservo.attach(9); myservo.write(900); delay(1000); myservo.write(2000); delay(1000); myservo.write(900); delay(1000); myservo.write(2000); } void loop() {}
Demo 影片
伺服機以最快速度轉動,無法直接控制速度
![Page 230: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/230.jpg)
Servo 函式庫的改良: 86Duino Servo86 函式庫 可設定每顆伺服機轉動速度
可同步控制多顆伺服機轉動,並且在同時間內到達目標位置
可支援最多 45 顆伺服機同步控制
改善 PWM Duty 抖動(jitter)的問題
支持以 Frame 為基礎的機器人動作流程控制方法
![Page 231: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/231.jpg)
範例程式 #include <Servo86.h> Servo myservo; void setup() { myservo.attach(9); myservo.write(900); delay(1000); myservo.setVelocity(1100); myservo.write(2000); delay(1000); myservo.setVelocity(550); myservo.write(900); delay(2000); myservo.setVelocity(2200); myservo.write(2000); } void loop() {}
Demo 影片
伺服機轉動速度簡易可控
![Page 232: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/232.jpg)
PWM Duty 抖動現象 (1/2) 由於舊的 Arduino Servo 函式庫裡 PWM 是用軟體模擬的
方式來實現,所以會出現以下情形:
實際輸出的 PWM duty 時間會有抖動現象 ( jitter)
當使用的 PWM channel 超過 12 組, Arduino 會啟用
更多組 Timer, 多個 Timer 中斷彼此干擾, 有時會惡化
PWM jitter 現象
![Page 233: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/233.jpg)
PWM Duty 抖動現象 (2/2) 以示波器量測 Arduino 輸出的 PWM duty,如下圖:
因抖動造成的誤差範圍與 CPU 特性及軟體模擬算法有關
抖動現象
![Page 234: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/234.jpg)
以 Arduino UNO 為例, 觀察 PWM 抖動情況
+
示波器 Arduino UNO
波型抖動 實況影片:
![Page 235: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/235.jpg)
PWM 抖動現象的影響 在命令解析度比較高的 RC Servo 上, 會造成 servo 輸出軸
實際的抖動
一般模型用的低價 RC Servo 解析度較低, 受 PWM 抖動現
象的影響不大
Arduino UNO
+
KONDO KRS4014 Servo
Servo抖動實況影片
![Page 236: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/236.jpg)
在 Arduino 和 86Duino 上只使用 1 個 servo pin, 並量測
輸出的 PWM duty 與目標值的誤差,所測得的數據如下:
各板子的 PWM Duty 抖動實測 (1/2)
板子 目標 duty
實際量測值 duty 誤差範圍 最小 最大
Arduino UNO 1000 us 1000.04 us 1006.42 us 約 6 ~ 7 us
Arduino Leonardo
1000 us 1000.04 us 1007.92 us 約 7 ~ 8 us
Arduino DUE 1000 us 998.200 us 998.280 us 約 1 ~ 2 us
Arduino Mega2560
1000 us 1001.12 us 1008.87 us 約 8 ~ 9 us
86Duino 1000 us 998.64 us 1001.1 us 約 1 ~ 2 us **
** 在 86Duino 有標註硬體 PWM 功能的 I/O pin 上, 誤差則是 0
![Page 237: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/237.jpg)
在 Arduino DUE / Mega2560 和 86Duino 上啟用 45 組
servo pins, 並量測其中一個 pin 輸出的 PWM duty 與目
標值的誤差, 所測得的數據如下表所示:
各板子的 PWM Duty 抖動實測 (2/2)
板子 目標 duty 實際量測值 duty 誤差範圍
最小 最大
Arduino DUE 1000 us 998.05 us 1004.68 us 約 2 ~ 5 us
Arduino Mega2560
1000 us 1001.09 us 1076.96 us 約 1 ~ 77 us
86Duino 1000 us 998.70 us 1001.31 us 約 1 ~ 2 us
Arduino 的 Servo 函式庫在超過 12 組 channels 時, 會啟用 2 組以上 Timer 中斷, 以上表格可以看出多組 Timer 中斷互相影響所造成的 jitter 惡化情形
![Page 238: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/238.jpg)
用動畫的概念控制機器人動作
![Page 239: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/239.jpg)
動畫播放原理 (1/3) 翻書動畫:https://www.youtube.com/watch?v=oOgHzcrVG1s
![Page 240: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/240.jpg)
動畫播放原理 (2/3)
![Page 241: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/241.jpg)
動畫播放原理 (3/3)
![Page 242: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/242.jpg)
Frame (幀) 的概念 機器人的動作編輯,也可以視為在編輯圖片中人物的
動作,一個動作(畫面)稱為 ”幀 (Frame)”,多個
靜止動作透過 Servo86 函式庫連續播放出來,機器
人就會動起來了。
在一些專用的機器人控制板中,Frame 有時候被成為
Pose (姿勢)
![Page 243: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/243.jpg)
機器人動作編輯與播放 編輯 Frame 1 編輯 Frame 2 編輯 Frame 3 編輯 Frame 4 編輯 Frame 5
…
播放全部 Frames 影片:
![Page 244: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/244.jpg)
動畫 Frame 每張圖片上的人物姿勢
機器人 Frame 伺服機目標位置列表
Frame1: 1500, 1300, 1200, 900, 1765, 1809, 1243, 1200,990, 754, 2000 …
Frame2: 1340, 1200, 1543, 2178, 1222, 1456, 1723, 1111, 954, 1245…
Frame3: 1000, 2345, 2000, 800, 1200, 2019, 2430, 1432, 1270, 955, 1560…
![Page 245: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/245.jpg)
86ME 機器人動作編輯器簡介
![Page 246: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/246.jpg)
86ME 機器人專用動作編輯器,編輯機器人動作 Frame 變得
更輕鬆,可以自動產生使用 Servo86 函式庫的
86Duino 的程式,省掉我們寫程式的工夫
是一套綠色、開源軟體,解開可立即使用,無須安裝,
原始碼可以根據自己的喜好修改
![Page 247: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/247.jpg)
使用 86ME 的基礎觀念 Frame
各個伺服機角度所組成的一個姿勢
Motion
展現一連串 frame 的整個過程
homeframe
機器人上電之後所會展現的第一個 frame,編輯各個 frame 時的初始值也會同 homeframe
offset
機器人實際的 homeframe 難免會因為組裝上有誤差而與自己的理想值有偏移,這個偏移量即為 offset
![Page 248: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/248.jpg)
86ME 功能簡介 支援線上調整 offset 與 homeframe
支援線上調整 frame,讓使用者能立即看到編輯結果
並即時調整
支援編輯多個動作 (motion),並且可即時播放動作的
連續 frame
可設定 motion 的觸發條件,並且可以產生 86Duino
的 sketch 程式
![Page 249: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/249.jpg)
86ME Demo 影片 https://www.youtube.com/watch?v=LZhoCQ4E-N4
![Page 250: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/250.jpg)
86ME 安裝和使用教學
![Page 251: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/251.jpg)
86ME 安裝 1. 下載最新版 86ME:
http://www.86duino.com/index.php?page_id=8923&lang=TW
2. 解壓縮檔案,進入 86ME 資料夾後檢查有下列檔案即完成安裝
3. 目前僅支援 Windows 環境下執行,且須要有 .NET Framework 3.5 以上的環境才能正常啟動 86ME
![Page 252: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/252.jpg)
86ME 與 86Duino 的溝通方式
USB 線
PC 上的 86ME
燒錄 86Duino
86ME 韌體程式
![Page 253: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/253.jpg)
燒錄 86ME 的韌體至 86Duino 使用一條 USB 線將電腦與 86Duino 連接起來
![Page 254: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/254.jpg)
燒錄 86ME 的韌體至 86Duino 1. 打開 86Duino Coding IDE
2. 選擇工具 > 板子 > 86Duino Zero
3. 選擇工具 > COM port > (86Duino 的虛擬連接埠)
4. 選擇 檔案 > 範例 > Servo86 > MotionEditor
![Page 255: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/255.jpg)
![Page 256: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/256.jpg)
燒錄 86ME 的韌體至 86Duino 按下燒錄按鈕,之後看到 Uploading the binary sketch …
Done 訊息,說明燒錄已完成
燒錄
完成
![Page 257: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/257.jpg)
開啟 86ME 韌體燒錄完成後,關閉 86Duino IDE,滑鼠左鍵雙擊
86ME,此時會看到連接埠選擇視窗
選擇 86Duino 虛擬連接埠,也可以選 Auto 由 86ME
自動選取
自動抓取 COM port 離線模式 選定一個 COM port
![Page 258: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/258.jpg)
新增專案 (1/6) 選擇好連線模式之後,會出現主畫面如下:
![Page 259: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/259.jpg)
新增專案 (2/6) 此時大部份的控制鍵是不能使用或無效的,要在畫面
左上方點選新增一個專案或是讀取一個專案後才能再
進行後續動作:
新增專案 讀取專案
![Page 260: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/260.jpg)
新增專案 (3/6) 新 增 專 案 後 會 彈 出 Robot
Configuration 介面。這個介面
是用來設定所使用的 86Duino
型號、機器人的圖片、各 Pin 腳
的伺服機型號,以及設定 Home
的位置與各個伺服機的 Offset。
而這些設定也都能夠透過 Robot
Configuration 再調整
![Page 261: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/261.jpg)
新增專案 (4/6)
設定 86Duino 型號
設定伺服機型號
設定是否同步、Offset、 歸 Home 時的角度
![Page 262: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/262.jpg)
新增專案 (5/6) 86小六足有十二個自由度,所以至少要選用 12 個伺
服機才能充分發揮小六足動作
範例中,86DuinoZero 規劃給 86小六足使用的腳位
為 2~13,型號為 TOWERPRO_SG90
這時利用線上調整功能將 Home 點設定好(調整
offset),讓小六足每隻腳都能夠接觸地面,設定完
成的部分畫面如下:
![Page 263: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/263.jpg)
盡量呈現水平
觸地
![Page 264: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/264.jpg)
新增專案 (6/6) 最下方的 Load Robot Picture 按鈕可以讓使用者載入
機器人圖片,方便對應機器人和伺服機之間的位置:
![Page 265: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/265.jpg)
1. 2.
按下 OK 後,會被載入指定圖片
載入圖片功能:
![Page 266: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/266.jpg)
完成新增專案 設定完成後按下 OK,接著 86ME 會開啟 Motion
Name 欄位可供使用者建立 Motion
![Page 267: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/267.jpg)
用 86ME 編輯一個 Frame
![Page 268: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/268.jpg)
編輯 Frame (1/6) 1. 在畫面右邊的 Motion Name 欄位中輸入字串,替動作
取名
2. 按下上方的 Add Motion 按鈕建立 Motion,Motion 可
以含有許多不同的 Frame 或其他 Action 來組成一個完
整的動作
1
2
![Page 269: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/269.jpg)
編輯 Frame (2/6) 3. 在 Action List 空白處按滑鼠右鍵
4. 選擇 Add new action at the first field
5. 選擇 Frame
選擇 Frame
![Page 270: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/270.jpg)
編輯動作 (3/6) 新增一個 Frame 後,你會在左邊的空白區塊看到以
CH<num>開頭的控制項出現在左邊的空白區域,而
num 即為伺服機腳位編號,編號後面接的數字是 PWM
duty,數字後面的拉桿可以調整 PWM duty 大小,一共
可看到三個這樣的控制項
![Page 271: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/271.jpg)
![Page 272: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/272.jpg)
編輯動作 (4/6) 調整 PWM duty:可以手動輸入或是以滑鼠左鍵拉動拉桿
來調整
![Page 273: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/273.jpg)
編輯動作 (5/6) 為了要讓使用者方便對應馬達的編號與實際的位置,使用
者可以在 Robot Configuration 中載入機器人圖片,空白
區域底圖會設為此圖
滑鼠指到 CH 字樣時會出現 圖示,可以把整個控制項拖
拉到圖片中機器人關節旁邊,這樣就不用花時間去記憶伺
服機和腳位的對應關係,直接調整關節旁的伺服機即可
![Page 274: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/274.jpg)
滑鼠左鍵拖曳
![Page 275: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/275.jpg)
編輯動作 (6/6) 線上調整 Frame:勾選左上角的 Sync,此時當你拖拉光
桿來改變 PWM duty 的時候,伺服機也會同步跟著動作
![Page 276: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/276.jpg)
編輯完成 利用線上同步編輯伺服機角度的功能,可以方便的調
整一個 Frame
當我們調整好 12 個伺服機角度時,第一個 Frame 就
完成了
![Page 277: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/277.jpg)
完成一個 Motion
![Page 278: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/278.jpg)
新增 Frame (1/3) 只有一個 Frame 無法完成前進、後退等等的動作,我
們需要新增更多 Frame 來完成一個 Motion
1) 在剛剛 Frame 0 的下方再新增一個 Frame 1
2) 滑鼠右鍵選擇
add new action at the next field -> frame
![Page 279: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/279.jpg)
新增 Frame (2/3) 做為範例,我們先編輯 4 個測試動作,如下圖所示:
![Page 280: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/280.jpg)
新增 Frame (3/3) 另一個新增方式:Duplicate frame
會複製所選 Frame 並新增在下方,若下個 Frame 大部
分的伺服機角度與上個 Frame 相同,就可以利用此功
能來新增 Frame
![Page 281: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/281.jpg)
測試動作
![Page 282: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/282.jpg)
測試動作 (1/3) 有了 4 個 Frame,86ME 右上方像音樂播放器的按鈕,
可以幫助我們實現連續 Frame 的播放、暫停和停止:
![Page 283: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/283.jpg)
測試動作 (2/3) 播放:全部 Frame 會從頭執行到底,共一次
暫停:保持目前播放到的位置並暫停播放,再按一次
播放時會從上次暫停的地方開始
停止:從目前播放到的位置中斷但不記住位置
![Page 284: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/284.jpg)
測試動作 (3/3)
從頭到底播放一次 暫停動作,再按播放後會從暫停處繼續往下播放至底
停止播放
暫停 停止
![Page 285: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/285.jpg)
循環播放
![Page 286: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/286.jpg)
循環播放 我們要用到兩個元素: Flag 和 Goto
Flag & Goto 必須成對才會有作用,流程如下:
播放到 Goto 時
是否有同名的 Flag
是
否
不跳轉,繼續播放
依照 Goto 所設定之條件判斷是否
跳轉
是
回到同名的 Flag 繼續播放
否
播放
![Page 287: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/287.jpg)
Flag 新增 Flag
設定 Flag Name
選擇 Flag
![Page 288: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/288.jpg)
Goto 新增 Goto
選擇 Goto
![Page 289: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/289.jpg)
點擊 Goto 後,左邊空白處會出現設定項目:
Target Flag Name:選擇要跳到哪個 Flag
Enable Goto:選擇是否啟用 Goto 功能
Loop Infinitely:選擇是否啟用循環功能
![Page 290: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/290.jpg)
設定無限循環播放
Target Flag Name:選擇要跳到哪一個目標 Flag
Enable Goto:打勾
Loop Infinitely:打勾
![Page 291: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/291.jpg)
![Page 292: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/292.jpg)
設定有限循環播放 將 Loop Infinitely 打勾取消,下方的 Number of
loops 的數值可以決定要 Goto 幾次後停止播放
以下圖為例, Number of loops 填 2,這邊的次數為
Goto 會跳轉的次數,並不是整個 Motion 的總執行
次數
![Page 293: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/293.jpg)
編輯第二個 Motion
![Page 294: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/294.jpg)
新增 Motion 1. 打上新的 Motion 名稱,按下 Add Motion 按鈕
2. 此時 Motion name 下拉式選單的內容也會跟著更
新,如下圖
![Page 295: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/295.jpg)
Motion 觸發設定
![Page 296: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/296.jpg)
觸發概念簡介 觸發的概念即利用某些控制方式來驅動小六足的動作
觸發
![Page 297: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/297.jpg)
設定觸發方式 86ME 允許每個 Motion 設定一個觸發條件,目前共
有四種方式:
Auto
Keyboard
Bluetooth
PS2 Controller
![Page 298: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/298.jpg)
第一個觸發方式:Auto Always On
永遠觸發目前所選的動作
Always Off
永不觸發目前所選的動作
Start Up
目前所選的動作只會在開機後執行一次
![Page 299: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/299.jpg)
第二個觸發方式:Keyboard Keyboard
Key:選擇以哪個按鍵觸發
Type:何種狀態下觸發,分為
First Press(第一次按下)
Pressed(一直按住)
Release(放開)
![Page 300: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/300.jpg)
第三個觸發方式:Bluetooth Bluetooth
Key:選擇以甚麼樣的字元觸發
Baud Rate:選擇藍芽模組所採
用的 Baud Rate
Used Port:選擇藍牙模組是連
接在 86Duino 的哪個 Port 上
![Page 301: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/301.jpg)
第四個觸發方式:PS2 搖桿 PS2 搖桿
Key:選擇搖桿上的按鈕以用來觸
發動作
Type:與 Keyboard 相同
DAT、CMD、ATT、CLK 為 PS2
接收器接上 86Duino 時需要接的
腳位,須選擇自己接線時所用的
Pin 腳
![Page 302: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/302.jpg)
啟用觸發條件 設定完成的觸發條件不會立即反應在 86Duino 上,我
們要使用自動產生 sketch 的按鈕,並且將產生的
sketch 程式燒錄至 86Duino 才會起作用。
![Page 303: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/303.jpg)
產生 86Duino sketch 程式
![Page 304: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/304.jpg)
產生 86Duino Sketch (1/3) 86ME 可以將編輯好的所有 Motion 產生成 86Duino
Sketch,燒錄產生的 Sketch 進 86Duino 後,86Duino
會根據觸發條件判斷是否操作這個 Motion
86ME 提供兩種產生 Sketch 的方式
• Frame 檔和 sketch 分開
• 所有 Frame 直接寫在 sketch 內
![Page 305: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/305.jpg)
產生 86Duino Sketch (2/3) • Frame 檔與 sketch 分開:
• 按下下圖中的第一個按鈕,會產生 Offset 檔、86Duino Frame
檔與 sketch 程式 (.ino 檔)
• Offset 檔、 Frame 檔必須放在 SD 卡中,sketch 執行時會自動
讀取
![Page 306: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/306.jpg)
產生 86Duino Sketch (3/3) • 所有 Frame 直接寫在 sketch 內(建議方式,不需 SD 卡)
• 按下下圖中第二個按鈕,只會產生一個 sketch 程式 (.ino 檔),
Offset 與 Frame 皆已寫好在程式中
• 用此方式可直接將產生的程式燒錄進 86Duino,不需要 SD 卡
![Page 307: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/307.jpg)
認識六足 –
六足機構原理
![Page 308: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/308.jpg)
六足機構原理
足部的機構設計
Serial 機構
parallel 機構
工作空間的考量
![Page 309: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/309.jpg)
足部機構設計 昆蟲單足的腿部構造
![Page 310: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/310.jpg)
足部機構設計 一隻腳可以達到 6 DOF
機構設計必須考慮單足的自由度(簡化)
自由度的多寡會影響工作空間的大小及靈活性
機構設計必須考慮工作空間的大小
![Page 311: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/311.jpg)
足部 serial 機構設計 單足 1 個自由度的設計 即使是 1 DOF,靈活性還是很好
影片網址:http://www.youtube.com/watch?v=a0NFrA-Nx4Y
![Page 312: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/312.jpg)
足部 serial 機構設計 單足 2 個自由度的設計
影片網址: https://www.youtube.com/watch?v=MMrbYbdmvqM
![Page 313: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/313.jpg)
足部 serial 機構設計 單足 3 個自由度的設計
影片網址: http://www.youtube.com/watch?v=0jyBiECoS3Q
![Page 314: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/314.jpg)
足部 serial 機構設計 單足 4 個自由度的設計
影片網址: http://www.youtube.com/watch?v=6J9GKPKTyb8
![Page 315: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/315.jpg)
足部 parallel 機構設計 單足 2 個自由度的設計
平行機構 影片網址: http://www.youtube.com/watch?v=RVqn-UZahpw
![Page 316: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/316.jpg)
足部機構設計 Serial 機構的特性
腿節長度(L)是固定的
角度(β)需要脛節馬達的帶動才會變化
腿節與脛帶的動作是獨立的
L
β
![Page 317: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/317.jpg)
足部機構設計 下列以 DMP Hexapod 示範
腿節長度由短變長
腿節的動作帶動脛帶的動作
只轉動腿節的馬達,脛節的馬達是不動的
足部夾角由小變大
![Page 318: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/318.jpg)
足部機構設計
這顆馬達是沒有動作的
只會轉動這 顆馬達
![Page 319: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/319.jpg)
足部機構設計
![Page 320: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/320.jpg)
足部機構設計
![Page 321: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/321.jpg)
足部機構設計 Parallel 機構腿節長度不固定 增加六足機器人運動學計算的難度
![Page 322: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/322.jpg)
足部機構設計 Parallel 機構腿節的動作可以帶動脛帶的動作
可以考慮脛節少負載一個馬達
編輯六足機器人的歩行變得容易
編輯動作可以不用考慮脛節馬達的位置
![Page 323: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/323.jpg)
足部機構設計 Parallel 機構工作空間的受限
腿部的位置會影響脛部的工作空間
脛節馬達轉動的角度大於 180 度
![Page 324: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/324.jpg)
足部機構設計
脛節馬達轉動的角度約 100 度
![Page 325: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/325.jpg)
足部機構設計 腿部的工作空間會受 parallel 機構影響
脛節馬達轉動的角度約 120 度
![Page 326: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/326.jpg)
Parallel vs. Serial
Parallel 機構 Serial 機構
工作空間 較小 較大
動作編輯 容易 較難
運動學計算 較繁瑣困難 較直接簡單
![Page 327: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/327.jpg)
認識六足 –
六足步態簡介
![Page 328: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/328.jpg)
步態類型 Tripod 步態 Wave (Metachronal) 步態 Ripple 步態
![Page 329: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/329.jpg)
Tripod Gait 三足同步的方式 (L1,R2,L3) -> (R1,L2,R3) -> (L1,R2,L3) -> …
步徏轉移的時間較短 行進的速度較快
![Page 330: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/330.jpg)
Tripod Gait (影片)
影片網址: https://www.youtube.com/watch?v=O4rff7KnkeA
![Page 331: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/331.jpg)
Wave Gait 單足行進的方式 L3 -> L2 -> L1 -> R3 -> R2 -> R1 -> L3 -> …
步徏轉移的時間較長 行進的速度較慢
![Page 332: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/332.jpg)
Wave Gait (影片)
影片網址: http://www.youtube.com/watch?v=6F5VSLm3qkY
![Page 333: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/333.jpg)
Ripple Gait 單足行進的方式 L3 -> R1 -> L2 -> R3 -> L1 -> R2 -> L3 -> …
步徏轉移的時間較長 行進的速度較慢
![Page 334: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/334.jpg)
Ripple Gait (影片)
影片網址: http://www.youtube.com/watch?v=5ro_1-6ADQM
![Page 335: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/335.jpg)
認識六足 –
DMP 小六足
![Page 336: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/336.jpg)
DMP 小六足 (影片) 內部研發自我消遣用 (做好玩的)
平行機構
可自適應地形
具前方避障功能
內部使用逆運動學計算
步伐
影片網址:https://www.youtube.com/watch?v=MuY1w_5qIOk Open Source on GitHub website: https://github.com/acen2009/roboard-hexapod/tree/Copy_Files_from_Google
![Page 337: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/337.jpg)
DMP 小六足 (影片) DMP 暑期實習生專題
六足蠍子 - 史迦納
Serial 機構
內部使用逆運動學來
計算步伐
根據展現的動作會發出
不同音效
影片網址:https://www.youtube.com/watch?v=ujsKvYa32kY Open Source on GitHub website:https://github.com/RoBoardGod/Robot-Sk
![Page 338: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/338.jpg)
使用 86ME 編輯小六足動作
![Page 339: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/339.jpg)
概念說明 六足的常見步態有 Tripod、Wave、Ripple,而我們所採用的範例為
Tripod 步態,同時會有三隻腳觸地,另外三隻腳離地,機器人的移動
是藉由觸地的腳位移產生。而這三隻腳如下圖是分為兩組,抬腳時會
一起行動。
右上-左中-右下 為紅組
左上-右中-左下 為藍組
以最前方的腳簡稱 紅
紅
紅
藍
藍
藍
![Page 340: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/340.jpg)
標注說明 之後會說明 86小六足的範例步態,為了方便理解,會
以實際圖片加上輔助的標注來表達
腳部抬升離地以 表示, 表示放腳觸地
![Page 341: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/341.jpg)
標注說明 圖片皆為俯視圖,上方為小六足的前方
前方
![Page 342: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/342.jpg)
編輯前進動作
![Page 343: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/343.jpg)
前進的方式 (1/6) 紅組抬腳
紅組向前
藍組向後
![Page 344: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/344.jpg)
慢動作播放影片
![Page 345: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/345.jpg)
前進的方式 (2/6) 紅組放腳觸地
其餘不動
![Page 346: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/346.jpg)
慢動作播放影片
![Page 347: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/347.jpg)
前進的方式 (3/6) 藍組抬腳
其餘不動
![Page 348: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/348.jpg)
慢動作播放影片
![Page 349: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/349.jpg)
前進的方式 (4/6) 藍組向前
藍組抬腳
紅組向後
![Page 350: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/350.jpg)
慢動作播放影片
![Page 351: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/351.jpg)
前進的方式 (5/6) 藍組放腳觸地
其餘不動
![Page 352: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/352.jpg)
慢動作播放影片
![Page 353: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/353.jpg)
前進的方式 (6/6) 紅組抬腳
其餘不動
![Page 354: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/354.jpg)
慢動作播放影片
![Page 355: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/355.jpg)
連續慢動作播放前進影片
![Page 356: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/356.jpg)
實際調整前進動作 (1/6) 第一個 Frame:
playtime 300 ms
![Page 357: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/357.jpg)
![Page 358: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/358.jpg)
實際調整前進動作 (2/6) 第二個 Frame:
playtime 150 ms
![Page 359: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/359.jpg)
![Page 360: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/360.jpg)
實際調整前進動作 (3/6) 第三個 Frame:
playtime 150 ms
![Page 361: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/361.jpg)
![Page 362: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/362.jpg)
實際調整前進動作 (4/6) 第四個 Frame:
playtime 300 ms
![Page 363: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/363.jpg)
![Page 364: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/364.jpg)
實際調整前進動作 (5/6) 第五個 Frame:
playtime 150 ms
![Page 365: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/365.jpg)
![Page 366: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/366.jpg)
實際調整前進動作 (6/6) 第六個 Frame:
playtime 150 ms
![Page 367: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/367.jpg)
![Page 368: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/368.jpg)
完成前進動作 將編輯好的 frame 連續播放,86小六足就能向前奔跑囉
若是想要機器人一次多動幾步,也可以自行加入 Flag 與 Goto
![Page 369: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/369.jpg)
編輯左轉動作
![Page 370: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/370.jpg)
左轉的方式 (1/6) 藍組抬腳
前後移動如圖
![Page 371: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/371.jpg)
慢動作播放影片
![Page 372: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/372.jpg)
左轉的方式 (2/6) 藍組放腳觸地
其餘不動
![Page 373: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/373.jpg)
慢動作播放影片
![Page 374: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/374.jpg)
左轉的方式 (3/6) 紅組抬腳
其餘不動
![Page 375: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/375.jpg)
慢動作播放影片
![Page 376: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/376.jpg)
左轉的方式 (4/6) 紅組抬腳
前後移動如圖
![Page 377: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/377.jpg)
慢動作播放影片
![Page 378: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/378.jpg)
左轉的方式 (5/6) 紅組放腳觸地
其餘不動
![Page 379: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/379.jpg)
慢動作播放影片
![Page 380: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/380.jpg)
左轉的方式 (6/6) 藍組抬腳
其餘不動
![Page 381: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/381.jpg)
慢動作播放影片
![Page 382: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/382.jpg)
連續慢動作播放左轉影片
![Page 383: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/383.jpg)
實際調整左轉動作 (1/6) 第一個 Frame:
delay 300 ms
![Page 384: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/384.jpg)
![Page 385: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/385.jpg)
實際調整左轉動作 (2/6) 第二個 Frame:
delay 150 ms
![Page 386: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/386.jpg)
![Page 387: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/387.jpg)
實際調整左轉動作 (3/6) 第三個 Frame:
delay 150 ms
![Page 388: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/388.jpg)
![Page 389: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/389.jpg)
實際調整左轉動作 (4/6) 第四個 Frame:
delay 300 ms
![Page 390: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/390.jpg)
![Page 391: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/391.jpg)
實際調整左轉動作 (5/6) 第五個 Frame:
delay 150 ms
![Page 392: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/392.jpg)
![Page 393: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/393.jpg)
實際調整左轉動作 (6/6) 第六個 Frame:
delay 150 ms
![Page 394: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/394.jpg)
![Page 395: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/395.jpg)
完成左轉動作 將編輯好的 frame 連續播放,86小六足就能左轉囉
若是想要機器人一次多動幾步,也可以自行加入 Flag 與 Goto
![Page 396: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/396.jpg)
編輯右轉動作
![Page 397: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/397.jpg)
右轉的方式 (1/6) 藍組抬腳
前後移動如圖
![Page 398: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/398.jpg)
慢動作播放影片
![Page 399: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/399.jpg)
右轉的方式 (2/6) 藍組放腳觸地
其餘不動
![Page 400: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/400.jpg)
慢動作播放影片
![Page 401: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/401.jpg)
右轉的方式 (3/6) 紅組抬腳
其餘不動
![Page 402: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/402.jpg)
慢動作播放影片
![Page 403: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/403.jpg)
右轉的方式 (4/6) 紅組抬腳
前後移動如圖
![Page 404: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/404.jpg)
慢動作播放影片
![Page 405: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/405.jpg)
右轉的方式 (5/6) 紅組放腳觸地
其餘不動
![Page 406: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/406.jpg)
慢動作播放影片
![Page 407: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/407.jpg)
右轉的方式 (6/6) 藍組抬腳
其餘不動
![Page 408: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/408.jpg)
慢動作播放影片
![Page 409: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/409.jpg)
連續慢動作播放右轉影片
![Page 410: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/410.jpg)
實際調整右轉動作 (1/6) 第一個 Frame:
delay 300 ms
![Page 411: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/411.jpg)
![Page 412: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/412.jpg)
實際調整右轉動作 (2/6) 第二個 Frame:
delay 150 ms
![Page 413: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/413.jpg)
![Page 414: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/414.jpg)
實際調整右轉動作 (3/6) 第三個 Frame:
delay 150 ms
![Page 415: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/415.jpg)
![Page 416: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/416.jpg)
實際調整右轉動作 (4/6) 第四個 Frame:
delay 300 ms
![Page 417: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/417.jpg)
![Page 418: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/418.jpg)
實際調整右轉動作 (5/6) 第五個 Frame:
delay 150 ms
![Page 419: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/419.jpg)
![Page 420: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/420.jpg)
實際調整右轉動作 (6/6) 第六個 Frame:
delay 150 ms
![Page 421: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/421.jpg)
![Page 422: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/422.jpg)
完成右轉動作 將編輯好的 frame 連續播放,86小六足就能右轉囉
若是想要機器人一次多動幾步,也可以自行加入 Flag 與 Goto
![Page 423: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/423.jpg)
雖然現在有了前進、左轉、右轉等動作,但仍是靠著
USB 線連接 86小六足才能動作。接下來,我們要將
動作燒錄至 86小六足,並且介紹如何用第三方控制器
(如:鍵盤、手機或 PS2 搖桿)來選擇播放的動作。
![Page 424: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/424.jpg)
動作觸發方式的設定
![Page 425: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/425.jpg)
USB 鍵盤觸發 在 86ME 中,假設以英文大寫字母 W、A 、D 分別代
表前進、左轉、右轉的動作,設定如下:
持續按著 W 鍵觸發前進動作
持續按著 A 鍵觸發左轉動作
持續按著 D 鍵觸發左轉動作
前進 左轉 右轉
![Page 426: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/426.jpg)
藍牙觸發 在 86ME 中,假設以英文大寫字母 U、L 、R 分別代
表前進、左轉、右轉的動作,設定如下:
收到 U 字母觸發前進動作 收到 L 字母觸發左轉動作 收到 R 字母觸發右轉動作
前進 左轉 右轉
![Page 427: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/427.jpg)
PS2 搖桿觸發 在 86ME 中,假設以PS2 搖桿上的十字鍵上、左 、右
分別代表前進、左轉、右轉的動作,設定如下:
持續按著十字鍵的”上”觸發前進動作
持續按著十字鍵的”左”觸發前進動作
持續按著十字鍵的”右”觸發前進動作
※ 設定中 DAT、CMD 、ATT 、CLK 可以任選四根沒用到的腳位
前進 左轉 右轉
![Page 428: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/428.jpg)
全部設定完成後,按下 Generate 86Duino sketch
(All in One) 按鈕,將產生出來的 .ino 燒錄至
86Duino。然後拔除 86小六足的 USB 線,接上鋰電
池,開始用指定的第三方控制器控制 86小六足的動作!
下面我們將詳細介紹前進/左轉/右轉動作的藍牙觸發
設定方法,最後以手機遙控 86小六足。
![Page 429: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/429.jpg)
實作觸發範例 –
用手機藍牙遙控 86小六足
![Page 430: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/430.jpg)
手機藍牙控制原理 我們會使用一塊藍牙模組與 86DuinoZero 連接,藍
牙模組會接收手機藍牙 APP 送來的命令,並將命令透
過 UART 介面送給 86DuinoZero,收到命令的
86DuinoZero 便將指定的小六足動作播放一次,如此
一來,即達到用手機控制小六足的效果
![Page 431: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/431.jpg)
示意圖:
86Duino Zero
藍牙模組 UART
伺服機 伺服機 伺服機
PWM
86小六足
PWM
藍牙遙控
‧‧‧ ‧‧‧
![Page 432: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/432.jpg)
手機藍牙遙控步驟
下載藍牙遙控 APP
設定藍牙觸發
產生 sketch 程式
燒錄 sketch 程式
使用 86ME
使用 86Duino IDE
使用手機 設定按鍵字元
藍牙配對
開始遙控 86小六足
連接藍牙模組 86DuinoZero
![Page 433: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/433.jpg)
86DuinoZero 連接藍牙模組 準備 HC-06 或 HC-05 模組 1 塊(以下以 HC-06 藍
牙模組做為範例說明):
![Page 434: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/434.jpg)
HC-06 對外連接介面為 UART,連接腳有 4 支:VCC、
GND 、RXD 、 TXD
這裡我們以 86DuinoZero 的 Serial1 為例,對照下表,
連接 86DuinoZero 與 HC-06 :
![Page 435: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/435.jpg)
實際連接如下圖所示:
藍牙模組 HC-06
藍牙 TXD 接 pin 0 藍牙 RXD 接 pin 1
RXD TXD
![Page 436: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/436.jpg)
當 HC-06 接上電源後,可以看到上面的 LED 燈號快
速閃爍 (間隔約 0.2 秒),代表 HC-06 正在等待配對:
快速閃爍
![Page 437: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/437.jpg)
1) 選擇一個小六足動作
例如:forward
2) 選擇 Trigger 分頁
3) 選擇 Bluetooth 為觸發方式
4) 選擇要觸發這個動作的字元
該字元可以於手機藍牙 APP 中自由設定
例如:英文字大寫 U
5) 選擇 86Duino 與藍牙模組通訊的 Baud Rate
例如:9600
6) 選擇 86Duino 與藍牙模組通訊的序列埠
例如:Serial1
86ME 設定藍牙觸發 1
3 4
5
2
6
![Page 438: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/438.jpg)
86ME 產生 Sketch 程式 按下 86ME 右下角的 “Generate 86Duino sketch (All in
One” 按鈕,它將自動產生 86Duino sketch 程式
![Page 439: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/439.jpg)
燒錄藍牙控制程式 打開 86Duino IDE,選擇檔案 > 開啟... ,選擇剛剛
86ME 產生出來的程式
![Page 440: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/440.jpg)
然後按下 86Duino IDE 的燒錄按鈕,將程式燒錄至
86Duino 上
燒錄
![Page 441: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/441.jpg)
下載藍牙遙控 APP 手機環境為 Android 系統:
在 Google 商店中搜尋 “Bluetooth Controller”
手機環境為 iOS 系統
APP store 中搜尋 “LightBlue”
※下面我們以 Android 系統上的 Bluetooth Controller App 為例,介紹其操
作方式。在 iOS 上,操作方法與 Bluetooth Controller App 大同小異
![Page 442: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/442.jpg)
設定按鍵名稱和對應字元 打開 Bluetooth Controller,點擊 “Set Keys”
![Page 443: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/443.jpg)
進入設定畫面後,我們要設定按鍵名稱 “Key Name”
和對應字元 “Data of Key”
![Page 444: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/444.jpg)
對應 86ME 中選取的動作名稱,這裡的按鍵名稱也命
名為 “forward”,觸發字元為 “U”,如右下圖:
![Page 445: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/445.jpg)
回到主畫面,會看到下方按鍵上出現剛剛設定的名稱:
![Page 446: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/446.jpg)
按下 Scan,APP 會自動搜尋並列出附近的藍牙裝置:
![Page 447: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/447.jpg)
這裡我們選 HC-06,APP 將會自動配對
配對成功後,下方會出現 “Connect to HC-06” 訊息
![Page 448: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/448.jpg)
配對成功同時,我們也可以看到 HC-06 藍牙模組的
LED 燈從快速閃爍狀態,改為常亮狀態,此時代表我
們可以用手機藍牙遙控 86小六足了!!
常亮
![Page 449: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/449.jpg)
此時手機上按下 forward 按鈕,就可以看到 86小六
足播放前進的動作了:
![Page 450: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/450.jpg)
使用其他藍牙 APP 可以安裝具有控制鍵等圖形的藍牙 APP,讓操控介面
變得更直覺。例如:
BlueControl Arduino BT Joystick Free
![Page 451: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/451.jpg)
小六足動作程式解析
![Page 452: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/452.jpg)
我們將 86ME 產生出來的程式稱為 86小六足動作程式
86小六足動作程式運作流程如下:
解析命令 (有設定觸發條件的情況)
Servo86 函式庫
Timer
GPIO
GPIO
GPIO … …
![Page 453: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/453.jpg)
由於 86小六足動作程式只使用一個函式庫:Servo86,
因此,我們要先對 Servo86 函式庫有基礎的認識,後
面在講解 86小六足動作程式時會比較容易理解其運作
原理。
![Page 454: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/454.jpg)
Servo86 函式解說
![Page 455: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/455.jpg)
單一伺服機設定函式 setVelocity()
setPosition()
setOffset()
setRealTimeMixing()
![Page 456: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/456.jpg)
setVelocity() 設定伺服機的轉速。
傳入參數:轉動速度,單位 us/s
#include <Servo86.h> Servo myservo; void setup() { myservo.attach(9); myservo.write(1500); // 將伺服機轉動到 1500us 角度 myservo.setVelocity(1000); // 設定速度 1000us/s myservo.write(900); // 啟動伺服機,用 1000us/s 的速度轉到 900us 角度 } void loop() {}
![Page 457: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/457.jpg)
setPosition() 設定伺服機目標角度。(在呼叫 run() 之前,伺服機還不會轉動)
傳入參數:目標角度和轉動時間。您也可以不設定轉動時間,此時伺
服機會用最快速度轉到目標位置。
#include <Servo86.h> Servo myservo; void setup() { myservo.attach(9); myservo.setPosition(1500); // 設定以最快速度轉動到 1500us 角度 myservo.run(); // 轉動伺服機 myservo.setPosition(1000, 1000); // 設定轉到 1000us 角度,用時 1 秒 myservo.run(); // 轉動伺服機 } void loop() {}
![Page 458: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/458.jpg)
setOffset() 設定伺服機原點的微調角度
用於校正伺服機原點誤差及機器人組裝的位置誤差
傳入參數:微調值,範圍 -256 ~ 256,單位 us
#include <Servo86.h> Servo myservo; void setup() { myservo.attach(9); myservo.setOffset(-10); // 設定 -10 us 的微調角度 myservo.write(1500); // 將伺服機轉動到 1500us 角度 (實際上是 1500 - 10 = 1490us) } void loop() {}
![Page 459: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/459.jpg)
setRealTimeMixing() 動態設定伺服機對目標角度的偏移值。當機器人裝有感應
器的情況下,此函式可以將感測器回傳的偏差值即時加入
目標角度的運算式中,進而修正伺服機的目標角度。
此功能的一個應用是可根據陀螺儀的回傳數值對機器人的平
衡動作進行動態補償,進而增加動作時的穩定性
傳入參數:偏移值,單位 us。
![Page 460: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/460.jpg)
單一伺服機動作函式 run()
pause()
resume()
stop()
release()
isMoving()
![Page 461: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/461.jpg)
run() 啟動伺服機(伺服機開始出力)往目標角度轉動
傳入參數:無 #include <Servo86.h> Servo myservo; void setup() { myservo.attach(9); myservo.setPosition(1500); // 設定以最快速度轉動到 1500us 角度 myservo.run(); // 啟動伺服機 myservo.setPosition(1000, 1000); // 設定轉到 1000us 角度,用時 1 秒 myservo.run(); // 啟動伺服機 } void loop() {}
![Page 462: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/462.jpg)
pause() 暫停正在動作的伺服機。
傳入參數:無
![Page 463: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/463.jpg)
resume() 恢復暫停中的伺服機
傳入參數:無
![Page 464: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/464.jpg)
#include <Servo86.h> Servo myservo; void setup() { myservo.attach(9); myservo.write(1500); // 將伺服機轉到 1500us 初始位置 delay(100); } void loop() { myservo.setPosition(1800, 3000); // 設定伺服機的目標角度:1800us,時間:3 秒 myservo.run(); delay(1000); myservo.pause(); // 伺服機暫停轉動 delay(1000); // 暫停 1 秒 myservo.resume(); // 伺服機恢復轉動 delay(3000); }
![Page 465: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/465.jpg)
stop() 停止動作中的伺服機。
經由 stop() 停止的伺服機無法 resume。呼叫 stop() 後
必須重新設定伺服機目標角度以及呼叫 run(),才會讓
伺服機再往目標角度移動。
傳入參數:無
![Page 466: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/466.jpg)
release() 讓伺服機停止出力
前面提到的 stop()、pause(),呼叫後伺服機會停下並
持續出力。而 release() 則會使伺服機停下並處於脫力
(不出力) 狀態。
輸入參數:無
![Page 467: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/467.jpg)
isMoving() 回傳伺服機是否已到達目標位置
傳入參數:無
回傳:true (伺服機仍在轉動,尚未到達目標位置) 或
false (伺服機已到達目標位置)
![Page 468: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/468.jpg)
多伺服機同時動作函式 servoMultiRun() - 同時啟動多顆伺服機
servoMultiPause() - 同時暫停多顆伺服機
servoMultiResume() - 同時恢復多顆伺服機
servoMultiStop() - 同時停止多顆伺服機
isServoMultiMoving() - 同時檢查多顆伺服機是否
已全部到達目標位置
![Page 469: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/469.jpg)
#include <Servo86.h> Servo servo1; Servo servo2; void setup() { servo1.attach(6); servo2.attach(10); // 使用 pin 6、10 servo1.setPosition(1500); servo2.setPosition(1500); servoMultiRun(servo1, servo2); // 將 servo1、servo2 轉到初始位置 } void loop() { servo1.setPosition(2000, 2000); servo2.setPosition(1800, 2000); servoMultiRun(servo1, servo2); // 使 servo1 和 servo2 同時往新目標角度轉動 while(isServoMultiMoving() == true); // 等待所有伺服機都轉到目標位置 servo1.setPosition(1700, 2000); servo2.setPosition(1600, 2000); servoMultiRun(); // 使 servo1、servo2 同時往新目標角度轉動 while(isServoMultiMoving() == true); // 等待所有伺服機都轉到目標位置 }
![Page 470: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/470.jpg)
Servo86 函式庫對 Frame 的支援
![Page 471: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/471.jpg)
ServoFrame 函式 ServoFrame 類別
positions[]
setPositions()
playPositions()
load()
save()
![Page 472: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/472.jpg)
positions[] 儲存所有伺服機位置的列表。最多 45 顆伺服機。
#include <Servo86.h> Servo myservo0; Servo myservo1; Servo myservo2; ServoFrame myframe; // 宣告一個 Frame 物件 void setup() { myservo0.attach(9); myservo1.attach(11); myservo2.attach(5); myframe.positions[0] = 1800; // 設定 Frame 內容 myframe.positions[1] = 1300; myframe.positions[2] = 2000; // 設定以 500ms 的時間將伺服機轉動到 Frame 指定的位置 (myservo0 轉動到 position[0] // 位置, myservo1 轉動到 position[1] 位置, myservo2 轉動到 position[2] 位置) myframe.setPositions(500, myservo0 , myservo1, myservo2); servoMultiRun(); // 根據設定值轉動所有伺服機 } void loop() {}
![Page 473: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/473.jpg)
setPositions() 把代表 Frame 的目標位置列表分別指定給各伺服機
輸入參數:轉動時間和 Servo 類別。轉動時間可以不
輸入,如果沒有輸入時間,預設會用最快的速度轉到
目標位置。
![Page 474: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/474.jpg)
#include <Servo86.h> Servo myservo0; Servo myservo1; Servo myservo2; ServoFrame myframe; // 宣告一個 Frame 物件 void setup() { myservo0.attach(9); myservo1.attach(11); myservo2.attach(5); myframe.positions[0] = 1800; // 設定 Frame 內容 myframe.positions[1] = 1300; myframe.positions[2] = 2000; // 設定以 500ms 的時間將伺服機轉動到 Frame 指定的位置 (myservo0 轉動到 position[0] // 位置, myservo1 轉動到 position[1] 位置, myservo2 轉動到 position[2] 位置) myframe.setPositions(500, myservo0 , myservo1, myservo2); servoMultiRun(); // 根據設定值轉動所有伺服機 } void loop() {}
![Page 475: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/475.jpg)
playPositions() 把代表 Frame 的目標位置列表指定給各伺服機並立即控制
伺服機移動到 Frame 指定的角度
等同先呼叫 setPositions() 再接著呼叫 servoMultiRun() 的
效果
輸入參數:和 setPositions() 一樣
![Page 476: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/476.jpg)
#include <Servo86.h> Servo myservo0; Servo myservo1; Servo myservo2; ServoFrame myframe; // 宣告一個 Frame 物件 void setup() { myservo0.attach(9); myservo1.attach(11); myservo2.attach(5); myframe.positions[0] = 1800; // 設定 Frame 內容 myframe.positions[1] = 1300; myframe.positions[2] = 2000; // 以 500ms 的時間將伺服機轉動到 Frame 指定的位置 (myservo0 轉動到 position[0] // 位置, myservo1 轉動到 position[1] 位置, myservo2 轉動到 position[2] 位置) myframe.playPositions(500, myservo0 , myservo1, myservo2); } void loop() {}
![Page 477: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/477.jpg)
save() 儲存目前的 Frame 至指定檔案
輸入參數:86Duino Frame 檔名
#include <Servo86.h> Servo myservo1; Servo myservo2; Servo myservo3; ServoFrame myframe; void setup() { myservo1.attach(9); myservo2.attach(11); myservo3.attach(5); myframe.positions[0] = 1800; // 設定 Frame 內容 myframe.positions[1] = 1300; myframe.positions[2] = 2000; myframe.save(“frm0.txt”); // 將動作幀儲存至 SD 卡根目錄下的 "frm0.txt" } void loop() {}
![Page 478: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/478.jpg)
load() 載入 86Duino Frame 檔案
輸入參數:86Duino Frame 檔名
#include <Servo86.h> Servo myservo1; Servo myservo2; Servo myservo3; ServoFrame myframe; void setup() { myservo1.attach(9); myservo2.attach(11); myservo3.attach(5); myframe.load(“frm0.txt”); // 從指定的檔案載入機器人動作幀 myframe.playPositions(500, myservo1, myservo2, myservo3); // 以 500 ms 的時間播放此 Frame } void loop() {}
![Page 479: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/479.jpg)
擴充的 ServoFrame 類別 (可以用來讀取其他專用伺服機控制板的 Frame 檔)
![Page 480: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/480.jpg)
Pololu RC 伺服機控制板
Pololu Maestro
影片網址:https://www.youtube.com/watch?v=AqToEWmTVXA
Demo 影片
![Page 481: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/481.jpg)
Pololu 動作編輯器
※ 會將動作儲存到一個特定格式的 .txt 檔
![Page 482: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/482.jpg)
ServoFramePololu 函式 ServoFramePololu 類別
positions[] – 功能與 ServoFrame 一樣
setPositions() – 功能與 ServoFrame 一樣
playPositions() – 功能與 ServoFrame 一樣
load() - 讀取 Pololu 的 .txt Frame 檔
save() – 功能與 ServoFrame 一樣
![Page 483: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/483.jpg)
load() 讀取 Pololu Frame 檔案
傳入參數:檔案名稱、Sequence 名稱和 Frame 名稱
Sequence 名稱和 Frame 名稱可在 Pololu 編輯器中查
詢取得
回傳:true 為讀取成功,false 為失敗
![Page 484: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/484.jpg)
#include <Servo86.h> Servo myservo1; Servo myservo2; Servo myservo3; ServoFramePololu myframe; void setup() { myservo1.attach(9); myservo2.attach(11); myservo3.attach(5); myframe.load(“pololu.txt”, “Sequence 0”, “Frame 0”); // 讀取 Pololu Frame 檔中 Sequence 0 的 Frame 0 myframe.playPositions(myservo1, myservo2, myservo3); // 播放動作 } void loop() {}
![Page 485: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/485.jpg)
Innovati RC 伺服機控制板
影片網址: https://www.youtube.com/watch?v=SOrZUK1i34g
控制機器人影片
![Page 486: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/486.jpg)
Innovati 動作編輯器
※ 會將編輯好的 Frame 個別存到 .ftxt 檔
![Page 487: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/487.jpg)
ServoFrameInno 函式 ServoFrameInno 類別
positions[] – 功能與 ServoFrame 一樣
setPositions() – 功能與 ServoFrame 一樣
playPositions() – 功能與 ServoFrame 一樣
load() - 讀取 Innovati 的 .ftxt Frame 檔
save() – 功能與 ServoFrame 一樣
![Page 488: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/488.jpg)
load() 讀取 Innovati Frame 檔案
傳入參數:Frame 檔案名稱
回傳:true 為讀取成功,false 為失敗
![Page 489: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/489.jpg)
#include <Servo86.h> Servo myservo1; Servo myservo2; Servo myservo3; ServoFrameInno myframe; void setup() { myservo1.attach(9); myservo2.attach(11); myservo3.attach(5); myframe.load(“Frame0.ftxt”); // 讀取 Innovati 的 Frame 0 檔案 myframe.playPositions(myservo1, myservo2, myservo3); // 播放動作 } void loop() {}
![Page 490: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/490.jpg)
KONDO RC 伺服機控制板
控制機器人影片 KONDO RCB-1/RCB-3
影片網址: https://www.youtube.com/watch?v=KPaTl9qljRU
![Page 491: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/491.jpg)
KONDO 動作編輯器
※ 會將編輯好的 Frame 全部存在一個 .RCB 檔
![Page 492: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/492.jpg)
KONDO Frame 函式 ServoFrameKondo 類別
positions[] – 功能與 ServoFrame 一樣
setPositions() – 功能與 ServoFrame 一樣
playPositions() – 功能與 ServoFrame 一樣
load() - 讀取 KONDO 的 .RCB Frame 檔
save() – 功能與 ServoFrame 一樣
capture() – 抓取 KONDO 伺服機目前角度(KONDO 伺服機專用的位置抓取函式)
![Page 493: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/493.jpg)
load() 讀取 KONDO Frame 檔案
傳入參數:檔案名稱和 Frame 名稱
Frame 名稱可在 KONDO 編輯器中查詢取得
回傳:true 為讀取成功,false 為失敗
![Page 494: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/494.jpg)
#include <Servo86.h> Servo myservo1; Servo myservo2; Servo myservo3; ServoFrameKondo myframe; void setup() { myservo1.attach(9); myservo2.attach(11); myservo3.attach(5); myframe.load(“kondo.rcb”, “Frame0”); // 讀取 KONDO Frame 檔中的 Frame0 myframe.playPositions(myservo1, myservo2, myservo3); // 播放動作 } void loop() {}
![Page 495: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/495.jpg)
支援 KONDO 伺服機的
位置回授功能
![Page 496: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/496.jpg)
KONDO 機器人專用伺服機 (1/2)
KRS-786 KRS-788HV KRS-4014
![Page 497: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/497.jpg)
KONDO 機器人專用伺服機 (2/2) 這種伺服機除了可以控制角度外,也具有抓取位置功能。
可以用來做教導式的機器人的動作編輯,如下面影片:
影片網址: https://www.youtube.com/watch?v=8ucti15PX20
![Page 498: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/498.jpg)
Servo86 函式庫的 capture() 功能可以用來抓取
KONDO 伺服機的位置
![Page 499: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/499.jpg)
capture() 讀取 KONDO 伺服機回傳的角度。注意,capture()
需要在所有伺服機皆為 release 狀態下才有作用,如
果您之前有啟動過任一伺服機,必須先呼叫 release()
後再呼叫此函式。
傳入參數:要 capture 的 servo 類別
回傳:讀到的角度,單位 us。
![Page 500: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/500.jpg)
#include <Servo86.h> Servo myservo0; Servo myservo1; Servo myservo2; ServoFrameKondo myframe; void setup() { myservo0.attach(9); myservo1.attach(11); myservo2.attach(5); // 分別讀取 myservo0、myservo1、myservo2 的回傳角度 myframe.positions[0] = myframe.capture(myservo0); myframe.positions[1] = myframe.capture(myservo1); myframe.positions[2] = myframe.capture(myservo2); Serial.println(myframe.positions[0]); Serial.println(myframe.positions[1]); Serial.println(myframe.positions[2]); myframe.save(“captured_frame.txt”); } void loop() {}
![Page 501: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/501.jpg)
KONDO 伺服機和 86Duino 連接的注意事項 86Duino 要透過 capture() 來讀取 KONDO 伺服機回傳的角度前,要
注意阻抗匹配問題,也就是說您必須在 PWM 信號腳加上一個 5k 以
下的 pull-up 電阻,才有辦法讀取回傳角度, 如下圖:
5K 電阻
3.3V
![Page 502: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/502.jpg)
更詳細的內容請參考 86Duino 官網的 Servo86 文件:
http://www.86duino.com/?p=11050&lang=TW
![Page 503: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/503.jpg)
解析 86小六足動作程式
![Page 504: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/504.jpg)
前言 為了用較簡單清晰的方式來解析小六足動作程式,我
們先將前進/左轉/右轉的動作設定成 Always ON/Off,
來認識基本的程式結構,最後再設定其他的觸發方式,
了解不同觸發方式在程式中所做的改變。
這裡我們使用的 86ME 為 v1.5 版。
※ 未來新版 86ME 產生的小六足動作程式架構可能有所進化,導致
新版小六足動作程式與下面將要介紹的內容不同。
![Page 505: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/505.jpg)
產生小六足動作程式檔 (1/2) 先將小六足四個 Motion 的觸發設定為
forward:Always On
left :Always On
right :Always On
home :Always Off
forward
home right left
![Page 506: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/506.jpg)
產生小六足動作程式檔 (2/2) 按下 Generate 86Duino Sketch (All in One) 按鈕
將產生名稱為 AllinOne_Motion_Sketch 的 .ino 檔,
即小六足動作程式檔:
![Page 507: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/507.jpg)
打開小六足動作程式檔 用 86Duino IDE 或
Notepad++ 等文書
編輯軟體打開小六
足動作程式檔:
![Page 508: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/508.jpg)
小六足動作程式結構簡介 程式結構分為三大段:
引入 Servo86 和其他必要的函式庫、宣告變數
setup 初始化 Servo Pin、設定 Offset 和 Frame,最後讓機器人出力並回到 Home 姿勢
更新狀態(鍵盤、藍牙等等)並逐一判斷是否執行各個 Motion
loop
第一段
第二段
第三段
![Page 509: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/509.jpg)
小六足動作程式解析 – 第一段 #include <Servo86.h> Servo myservo2; Servo myservo13; ServoOffset myoffs; ServoFrame _86ME_HOME;
…
引入 Servo86 函式庫
宣告 Servo 變數,用來初始化 Servo 物件內部的變數,如:PWM 範圍、Servo 數量等等
宣告 ServoOffset 變數來設定伺服機微調值,即 86ME 裡面設定的 offset 值
宣告 ServoFrame 變數 _86ME_HOME,用來讓機器人在開啟時即轉到 Home 點, 即 86ME 裡面設定的 HomeFrame
![Page 510: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/510.jpg)
ServoFrame forward_frm0; ServoFrame forward_frm5; ServoFrame left_frm0; ServoFrame left_frm5; ServoFrame right_frm0; ServoFrame right_frm5; ServoFrame home_frm0;
…
宣告 ServoFrame forward_frm0 ~ frm 5 ,用來儲存 forward 這個 Motion 各個 Frame 的值
…
…
宣告 ServoFrame left_frm0 ~ frm 5 ,用來儲存 left 這個 Motion 各個 Frame 的值
宣告 ServoFrame right_frm0 ~ frm 5 ,用來儲存 right 這個 Motion 各個 Frame 的值
宣告 ServoFrame home_frm0,用來儲存 home 這個 Motion Frame 的值
![Page 511: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/511.jpg)
void setup() { myservo2.attach(2); myservo13.attach(13); myoffs.offsets[1] = -140; myoffs.offsets[3] = -50; myoffs.offsets[5] = -50; myoffs.offsets[7] = -90; myoffs.offsets[9] = -110; myoffs.offsets[11] = -100;
… 初始化 Servo pin,這裡用到 pin
2 ~ pin 13,共 12 個 pins
初始化每個 pin 上伺服機的偏轉角度,offset[0] 對應至 pin 2,offset[1] 對應至 pin 3 … 依此類推,不需要改變微調值的 pin 可以跳過不設定,其預設值為 0,例如左邊沒列出的 offset[0]、 offset[2]、 offset[4] 等值皆為 0
小六足動作程式解析 – 第二段
![Page 512: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/512.jpg)
forward_frm0.positions[0] = 1700; forward_frm0.positions[11] = 1700; forward_frm1.positions[0] = 1700; myoffs.setOffsets(); _86ME_HOME.playPositions(0); } //end of setup
…
設定 forward 動作的第一個 frame ,所有伺服機的角度
依此類推,後面依序設定 left、right、home 各個 Motion 所有 frame 的伺服機角度
… …
…
將上一頁設定的所有 offset 值設定至伺服機
播放小六足的 homeframe,即 86ME 中設定的 HomeFrame,讓小六足接電後便自動調整到 HOME 的姿勢
設定 forward 動作的第二個 frame ,所有伺服機的角度
![Page 513: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/513.jpg)
void loop() { if(1) { forward_frm0.playPositions(300); while(isServoMultiMoving() == true); } if(1) { left_frm0.playPositions(300); while(isServoMultiMoving() == true); } }
…
依此類推,後面是 right 動作的判斷式,格式與 forward、left 相同
1. 按照指定播放時間來播放 left 動作的每個 frame
2. 直到所有伺服機都轉到目標位置後,才會在播放下一個 frame
因為 forward 動作的觸發設定為 Always On,所以判斷式為永遠成立的 if(1),在 loop 迴圈中,forward 動作會一直重複不斷的播放
…
因為 left 動作的觸發設定為 Always On,所以判斷式為永遠成立的 if(1),在 loop 迴圈中,left 動作會一直重複不斷的播放 (順序在 forward 動作播放完之後)
小六足動作程式解析 – 第三段
1. 按照指定播放時間來播放 forward動作的每個 frame
2. 直到所有伺服機都轉到目標位置後,才會在播放下一個 frame
![Page 514: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/514.jpg)
void loop() { if(0) { home_frm0.playPositions(1000); while(isServoMultiMoving() == true); } }
…
因為 home 動作的觸發設定為 Always Off,所以判斷式為永遠不成立的 if(0),在 loop 迴圈中,home 動作永遠不會播放
![Page 515: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/515.jpg)
更改觸發條件 以上是使用 Always On/Off 觸發所產生的小六足動作
程式,我們用它來認識基本的程式結構。
下面我們將改用藍牙/USB鍵盤/PS搖桿來觸發前進/左
轉/右轉動作,然後產生程式,看看產生出來的小六足
動作程式有哪裡不同,並了解那些不同的程式的作用。
![Page 516: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/516.jpg)
USB 鍵盤觸發
![Page 517: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/517.jpg)
設定鍵盤觸發 在 86ME 中,假設以英文大寫字母 W、A 、D 分別代
表前進、左轉、右轉的動作,設定如下:
第一次按下 W 鍵觸發前進動作
持續按著 A 鍵觸發左轉動作
放開 D 鍵觸發左轉動作
前進 左轉 右轉
![Page 518: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/518.jpg)
打開產生出來的小六足動作程式,在第一段程式碼中
會額外引入 KeyboardController.h 並產生更新鍵盤按
鍵狀態必要的程式碼:
![Page 519: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/519.jpg)
setup() 上方會新增一個函式,為 key_state(),用來
判斷一個按鍵的狀態,狀態可分成:
第一次按下
持續按著
放開
下面來看看 key_state() 的程式碼,並了解其運作原理:
![Page 520: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/520.jpg)
回傳 0 代表第一次按下
回傳 1 代表持續按著
回傳 2 代表放開
共可判斷 128 個按鍵,陣列中的元素號碼對應到一個鍵盤按鍵,例如:key_state[4] 為鍵盤 A 的狀態
當鍵盤按鍵被按下時,按下的按鍵會即時儲存至 current_key 變數中
按鍵的按下狀態,1 為按下,0 為放開
非以上狀態回傳 3
判斷是否第一次按下
判斷是否持續按著
判斷是否放開
![Page 521: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/521.jpg)
取得鍵盤按鍵狀態
更新按鍵 W、A 、D 的狀態
判斷是否第一次按下 W 鍵
如果是第一次按下 W 鍵,則播放 forward 動作
![Page 522: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/522.jpg)
左轉的動作判斷式變更為
右轉的動作判斷式變更為
判斷是否持續按著 A 鍵
如果是持續按著 A 鍵,則播放 left 動作
判斷是否放開 D 鍵
如果是放開 D 鍵,則播放 right 動作
![Page 523: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/523.jpg)
藍牙觸發
![Page 524: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/524.jpg)
藍牙觸發 在 86ME 中,假設以英文大寫字母 U、L 、R 分別代
表前進、左轉、右轉的動作,設定如下:
收到 U 字母觸發前進動作 收到 L 字母觸發左轉動作 收到 R 字母觸發右轉動作
前進 左轉 右轉
![Page 525: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/525.jpg)
打開產生出來的小六足動作程式,可以看到程式開頭
不需要額外引入函式庫,只需要多宣告一個變數來接
收收到的字元,並在 Setup 函式初始化指定的 Serial
Port:
多宣告一個變數
初始化 Serial1
![Page 526: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/526.jpg)
接收新指令,並且把 指 令 存 到 Serial_Command 變數中 沒有指令傳過來時,變數值
為 0xFFF,代表不做任何事
是否收到命令 ‘U’ 字元
如果收到 ‘U’ 字元,則播放 forward 動作
![Page 527: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/527.jpg)
左轉的動作判斷式變更為
右轉的動作判斷式變更為
判斷是否收到 ‘L’ 字元
如果收到 ‘L’ 字元,則播放 left 動作
判斷是否收到 ‘R’ 字元
如果收到 ‘R’ 字元 ,則播放 right 動作
![Page 528: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/528.jpg)
PS2 搖桿觸發
![Page 529: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/529.jpg)
PS2 搖桿觸發 在 86ME 中,假設以PS2 搖桿上的十字鍵上、左 、右
分別代表前進、左轉、右轉的動作,設定如下:
持續按著十字鍵的”上”觸發前進動作
持續按著十字鍵的”左”觸發前進動作
持續按著十字鍵的”右”觸發前進動作
※ 設定中 DAT、CMD 、ATT 、CLK 可以任選四根沒用到的腳
位
前進 左轉 右轉
![Page 530: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/530.jpg)
不同觸發條件的影響 – PS2搖桿 打開產生出來的小六足動作程式,程式開頭引入
PS2X_lib.h 並宣告 PS2X 物件來初始化搖桿
…
初始化 PS2 搖桿
![Page 531: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/531.jpg)
Setup 函式中以 config_gamepad 來設定 PS2 接收
器與 86Duino 連接的腳位
![Page 532: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/532.jpg)
讀取 PS2 搖桿狀態 按下 + 非第一次按下 = 持續按下
如果持續按著十字件的 ‘上’,則播放 forward 動作
![Page 533: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/533.jpg)
左轉的動作判斷式變更為
右轉的動作判斷式變更為
判斷是否持續按著十字鍵的 ‘左’
如果是,則播放 left 動作
判斷是否持續按著十字鍵的 ‘右’
如果是,則播放 right 動作
![Page 534: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/534.jpg)
進階練習 –
改寫一個有效率的小六足動作程式
![Page 535: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/535.jpg)
以上展示的小六足動作,一定會播放完整個動作後才
能再接收新指令,這是因為每個 frame 中間都呼叫了
isServoMultiMoving() 來等待所有伺服機轉到目標角
度,造成小六足無法 “即時反應” 新動作的指令:
![Page 536: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/536.jpg)
這裡我們以藍牙觸發的小六足動作程式為例,介紹如
何把程式改成可以立即反應新指令的到來。
修改要點:
在 while(isServoMultiMoving() == true) 中不斷地
判斷是否有新指令到來,如果有,則跳出目前正在播
放的動作,改播放新動作
最簡單、直接的方法是使用 Flag 和 Goto,見下頁說明
![Page 537: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/537.jpg)
加入 flag
每個 while 迴圈中,判斷是否有新指令到來,若有,則跳到 flag 去接收新指令,這麼一來,動作就會立即改變了
後面的 left、right 動作的 while 迴圈中,加入上述相同的判斷式
![Page 538: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/538.jpg)
用以上方法可以簡單的將原程式改寫成對新指令 “即
時反應” 的程式
但事實上,可以實現這個目標的方法不只一種,您可以
使用有結構性的方法讓程式變得更簡潔、易修改(留給
各位自行發揮)。
![Page 539: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/539.jpg)
86小六足創意改造
![Page 540: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/540.jpg)
動作創作 如何加快 86小六足走路速度?
如何編輯 86小六足打招呼、伸懶腰動作?
如何編輯出其他種六足步態?
如何使用鍵盤或PS2搖桿觸發動作?
如何加入運動學計算來控制小六足步態?
![Page 541: 86Duino 小六足機器人 DIY 課程教材](https://reader037.vdocuments.pub/reader037/viewer/2022102322/58f9aace760da3da068b7ce2/html5/thumbnails/541.jpg)
創作屬於自己的小六足 例如:
加入上半身
搭載獠牙,尾巴…