OTTO97
Last updated
Last updated
OTTO97 (OTTO for LinkIt 7697) 是衍生自 OTTODIY 的機器人專案,利用 LinkIt 7697 與 Robot Shield 製作出有趣可愛的雙足機器人。
OTTO 具有行走、跳舞、唱歌、以及偵測障礙物的能力,並能顯示嘴部的表情動畫。
OTTO97 (OTTO for LinkIt 7697) 為衍生自 OTTO DIY (Offical Site / Github / Thingiverse) 的專案。
能使用 Arduino IDE 進行 LinkIt 7697 的基本操作。相關資料請參閱 LinkIt 7697 - Arduino IDE 開發指南。
了解如何使用 LinkIt Remote 應用程式 (iOS/Android) 連結 LinkIt 7697。
基本電路接線概念。
基本焊接能力 (若想替 OTTO97 加上嘴部動畫顯示)。
LinkIt 7697 x1
Robot Shield for LinkIt 7697 (由 MiniPlan 出品) x1
MicroUSB 線 x2
Tower Pro SG90 伺服馬達 (Micro Servo 9g) x4 (附轉軸支架以及二長一短的螺絲)
HC-SR04P 超音波感應器,工作電壓範圍 3V~5.5V x1
MAX7219 8x8 矩陣式 LED 顯示模組 x1 (選配)
被動式 (有源) 蜂鳴器 x1,工作電壓範圍 3V~5V (選配)
3D 列印出機器人各部位零件 (頭、身體、腿 x2、腳底板 x2)
母對母杜邦線 x11
準備下列元件時,請確認使用的是寬工作電壓版本,以免進行後續步驟時產生無法運作的狀況。
超音波感測器的型號需為 HC-SR04P (工作電壓範圍 3V~5.5V),而非只能支援 5V 電壓的 HC-SR04。兩者在外觀上非常相近,需要特別注意。
被動式 (有源) 蜂鳴器需支援 3V~5V 的工作電壓。請勿選擇僅能使用於 5V 電壓的版本。
智慧型手機 (iOS/Android 皆可,用來執行伺服馬達校正以及主控程式)
3D 印表機
焊槍 (非必要。但若要顯示嘴部動畫,則需要 rework 矩陣式 LED 模組以方便安裝)
快乾膠 (非必要。可用來加強組裝強度)
其他可幫助組裝的工具如下:
可從 https://github.com/bearwbearw/OTTO97 取得 OTTO97 相關的程式碼資訊:
libraries
OTTO 相關的函式庫
OTTO_Calibration
測試與校正 OTTO 的 sketch 程式
OTTO_Demo
控制 OTTO 基本動作的 sketch 程式
OTTO_UnitTest_Buzzer
測試被動式蜂鳴器的 sketch 程式
OTTO_UnitTest_LEDMatrix
測試 LED 顯示矩陣的 sketch 程式
OTTO_UnitTest_Servo
測試伺服馬達的 sketch 程式
OTTO_UnitTest_Ultrasonic
測試超音波感應器的 sketch 程式
3D_STL
OTTO 零件的 3D 列印檔案
從 Thingiverse 下載所需的 3D 檔案。此 3D 檔案基於 OTTODIY 專案修改而成,以適於 LinkIt 7697 + Robot Shield 使用。
所有的零件包含:頭、身體、腿 x2、左腳底板、右腳底板共六個元件。
從專案 GitHub 頁面下載相關函式庫與程式,並將之解壓縮至 Sketchbook 所在的目錄。
Sketchbook 目錄位置可至 File > Preferences 內查詢:
開啟 Arduino IDE,選擇第 2 步中下載的 OTTO_Clibration.ino 範例並上傳至 LinkIt 7697 執行。
在手機上安裝並執行 LinkIt Remote,開啟後即會看到名為 "OTTO CAL" 的裝置。
點選 "OTTO_CAL" 後即可透過藍芽連接 LinkIt 7697,並開啟裝置校正相關介面。
將 LinkIt 7697 接上 Robot Shield,並確認安裝方向是否正確 (開發板與擴充板的 USB 接頭應在同一側)。
透過 USB 線將 LinkIt 7697 連接至 PC 電腦。
透過 USB 線將 Robot Shield 連接至 5V 電源 (亦可透過 PC 供電),保持電池充電。
如下圖將四個伺服馬達連接至 Robot Shield。
開啟 Robot Shield 的電源 (以附圖方向為例,開關撥至左方為開啟)。
按下校正程式中的 "Walk" 按鈕,確認是否四個伺服馬達都會動作。
按下 "Home" 或 "Stiff" 按鈕使伺服馬達轉軸 (懸臂) 回到初始位置。
Home 按鈕:使伺服馬達轉軸停在初始位置 (OTTO 處於直立狀態),並鬆開馬達內部與轉軸之間的連結;此時可從外部施力任意轉動馬達轉軸。
Stiff 按鈕:使伺服馬達轉軸停在初始位置 (OTTO 處於直立狀態),且持續輸出 PWM 訊號保持馬達內部與轉軸之間的接合。此時外部若有過大的力道轉動轉軸,可能會損壞伺服馬達。
組裝過程中,通常會讓伺服馬達處於 "Stiff" 狀態。
如下圖,利用尖嘴鉗等工具將感應器模組的排針彎曲 90 度 (或將針腳靠在桌上,往旁邊施力即能彎曲整排針腳),避免後續組裝時卡到 LED 模組。
將 HC-SR04P 連接到 Robot Shield 的 P2 和 P3。
照上圖連接時,需特別注意超音波模組的正反面方向、以及 Trig / Echo 接腳的位置,若連接錯誤可能造成模組發燙、需儘速拔除接線以免元件損壞。
點選 US 開關,將可在 Serial Monitor 看見感應器偵測到的距離。
HC-SR04 (5V) 和 HC-SR04P (3V~5.5V) 外觀非常相似,請務必確認購買的元件是 HC-SR04P。
由於 Robot Shield 的 VCC 電源來自內建的鋰電池、供電電壓範圍為 3.7V ~ 4.5V,因此無法驅動 HC-SR04。HC-SR04 在電壓不足的狀況下,從 Serial Monitor 只會看到 999.00cm 的偵測值。
將被動式蜂鳴器連接至 Robot Shield 的 P4。
點選 BUZ 開關,將可聽見蜂鳴器發出聲音。
請使用被動式 (有源) 蜂鳴器 (透過 PWM 改變音調頻率),而非主動式 (無源) 蜂鳴器 (僅能發出單一音調)。
由於 OTTO 頭部內的空間限制,安裝顯示模組時需 rework 將模組的排針移除、改由直接焊接杜邦線以節省空間。因此若不熟悉焊接操作,可略過此步驟。
開始 rework 前,可先測試 8x8 矩陣式 LED 顯示模組是否能正常運作。如下圖所示,將顯示模組連接到擴充板的 P7、P8 和 P9。
點選 LED 開關,應可看見 8x8 矩陣式 LED 模組開始顯示不同圖案。
若上一步驟結果正常,表示顯示模組功能無誤,接下來即可進行 rework (需使用焊接工具)。
將顯示模組的輸出針腳剪斷 (如下圖左側)。
移除模組的輸入針腳,並從模組背面焊接五條杜邦線至對應的孔位 (詳細操作步驟於後面說明)。
再次將 8x8 矩陣式 LED 顯示模組連接至 Robot Shield,並透過手機的校正測試 APP 確認運作正常。
這一步驟完成後,即完成了所有電子元件的測試,接下來將進行零件組裝。
在此之前,請先將擴充板上的接線全部解開,之後的組裝步驟會再說明對應機構的接線方式。
打開 SG90 伺服馬達套件,會看見一顆伺服馬達、三支轉軸支架 (旋臂)、以及二長一短的螺絲。在此專案中,僅會用到最短的轉軸支架。
用兩隻長螺絲將伺服馬達鎖至 OTTO 身體的左腳位置。
將伺服馬達接線至擴充板的 P15,並將手機上的 LinkIt Remote APP 連結至 LinkIt 7697。開啟校正測試 UI 後,點選 Stiff 按鈕使伺服馬達回到初始位置,亦即 OTTO 直立的狀態。
OTTO 兩隻腿的零件是相同的 (但腳底板左右有分),因此可任意選擇進行組裝。
將轉軸支架切短以放入左腿的卡榫溝槽 (如下圖左),並確認與伺服馬達的連接面需平整 (如下圖右)。不平整的馬達接觸面將會導致 OTTO 無法直線行走。
完成上述轉軸支架尺寸及位置的微調後,可用快乾膠固定支架與腿部間的接合。注意使用的黏著劑份量以免影響接合面的平整度。
以面朝正面的方向 (如下圖),將左腿連接至 OTTO 的身體。由於齒輪齒紋的關係,腿部不見得能精準地對準身體正面,這可於之後的步驟透過校正測試 APP 進行修正。
用短螺絲將腿上的轉軸支架與身體上的伺服馬達鎖緊,若沒有確實鎖緊會導致 OTTO 無法順利直線行走。
採用與組裝左腿相同的步驟完成右腿的組裝,並將伺服馬達連接至擴充板的 P16 接腳。
開啟 LinkIt Remote 的校正介面進行腿部位置調整,使雙腿的初始方向平行於身體的面向 (如下圖)。校正完成後,務必按下 Save 按鈕儲存相關設定值供之後使用。
將伺服馬達的電線穿過左腿及身體的開孔後連接至 Robot Shield 的 P5。
選擇校正介面中的 Stiff 將伺服馬達轉軸置於初始位置。
切割馬達轉軸支架 (懸臂),使它能放進左腳底板零件的卡榫溝槽。
用短螺絲將伺服馬達鎖緊固定於腳底板上。
整理並反折馬達的線好將馬達放入左腿的機構當中。
用長螺絲鎖緊固定馬達與左腿 (注意正反面,下圖為 OTTO 的背面)。
依照與組裝左腳底板相同的步驟,完成右腳底板的組裝並連接伺服馬達至擴充板的 P11。
使用校正 APP 調整腳底板的角度,使它們能平穩地站在地面上 (如下圖)。
矯正完畢後務必點選 Save 儲存相關設定值。
第 12 步:將 Robot Shield 裝進 OTTO 身體裡
為了留下安裝 LED 模組的空間,將 Robot Shield 放進 OTTO 身體時,盡量將腿部相關走線整理至後方 (綠色箭頭所指方向)。
調整 Robot Shield 的位置,使開發板相關接口能對齊 OTTO 身上預先開好的孔位。
使用 Robot Shield 附贈的螺絲將板子固定在 OTTO 身體機構當中。
接下來的組裝步驟,會依照下圖的接線方法,分別將之前測試過的超音波感應器、蜂鳴器、以及 8x8 矩陣式 LED 連接回 Robot Shield。
將蜂鳴器面朝下安裝至 OTTO 身體中預留的蜂鳴器位置,並將接線接回至 Robot Shield。
將超音波感應器模組安裝至 OTTO 頭部裡 (可用銼刀修整眼睛開口邊緣以方便安裝),並將接線接回至 Robot Shield (注意 Trig / Echo 接線的位置)。
將 8x8 矩陣式 LED 模組接線回 Robot Shield,並用膠帶或其他絕緣物包覆 LED 模組背面以避免接觸 Robot Shield 造成短路。
放置 LED 模組於 OTTO 身體正面位置 (如下箭頭所指)。
最後將頭部與身體組合起來,就完成了 OTTO 的組裝。
在 Arduino IDE 中開啟 OTTO_Demo.ino 範例,並上傳至 LinkIt 7697 執行。
開啟 LinkIt Remote APP 並連接至 OTTO,從 LinkIt 7697 載入 UI 後會看見如下的控制介面:
接下來就可以開始嘗試 OTTO 各式各樣的動作了!
將輸出腳剪斷 (剪齊圖示紅色虛線)。 將輸入腳剪斷。
準備五條各約 5cm 的杜邦線。
將這五條線分別焊接至模組背後的孔位。