OTTO97

OTTO97 (OTTO for LinkIt 7697) 是衍生自 OTTODIY 的機器人專案,利用 LinkIt 7697 與 Robot Shield 製作出有趣可愛的雙足機器人。 

OTTO 具有行走、跳舞、唱歌、以及偵測障礙物的能力,並能顯示嘴部的表情動畫。

Acknowledgement

使用授權 (CC-BY-SA)

組裝前需具備的技能

  • 能使用 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 列印檔案

安裝說明

第 1 步:3D 列印出 OTTO 本體零件

  • Thingiverse 下載所需的 3D 檔案。此 3D 檔案基於 OTTODIY 專案修改而成,以適於 LinkIt 7697 + Robot Shield 使用。
  • 所有的零件包含:頭、身體、腿 x2、左腳底板、右腳底板共六個元件。



第 2 步:下載與安裝 Arduino 相關函式庫與應用程式 

  • 從專案 GitHub 頁面下載相關函式庫與程式,並將之解壓縮至 Sketchbook 所在的目錄。



    Sketchbook 目錄位置可至 File > Preferences 內查詢:

第 3 步:啟動裝置校正測試程式

  • 開啟 Arduino IDE,選擇第 2 步中下載的 OTTO_Clibration.ino 範例並上傳至 LinkIt 7697 執行。 
  • 在手機上安裝並執行 LinkIt Remote,開啟後即會看到名為 "OTTO CAL" 的裝置。
     

  • 點選 "OTTO_CAL" 後即可透過藍芽連接 LinkIt 7697,並開啟裝置校正相關介面。

     

第 4 步:連接伺服馬達

  • 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" 狀態。

第 5 步:連接超音波感應器

  • 如下圖,利用尖嘴鉗等工具將感應器模組的排針彎曲 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 的偵測值。
       

第 6 步:連接被動式蜂鳴器 (非必要。安裝後可讓 OTTO 具有唱歌的能力)

  • 被動式蜂鳴器連接至 Robot Shield 的 P4。 
  • 點選 BUZ 開關,將可聽見蜂鳴器發出聲音。


    請使用被動式 (有源) 蜂鳴器 (透過 PWM 改變音調頻率),而非主動式 (無源) 蜂鳴器 (僅能發出單一音調)。

第 7 步:連接 8x8 矩陣式 LED 顯示模組 (MAX7219) (非必要。安裝後可顯示 OTTO 的嘴巴)

  • 由於 OTTO 頭部內的空間限制,安裝顯示模組時需 rework 將模組的排針移除、改由直接焊接杜邦線以節省空間。因此若不熟悉焊接操作,可略過此步驟。
  • 開始 rework 前,可先測試 8x8 矩陣式 LED 顯示模組是否能正常運作。如下圖所示,將顯示模組連接到擴充板的 P7P8 和 P9

  • 點選 LED 開關,應可看見 8x8 矩陣式 LED 模組開始顯示不同圖案。


  • 若上一步驟結果正常,表示顯示模組功能無誤,接下來即可進行 rework (需使用焊接工具)。
  • 將顯示模組的輸出針腳剪斷 (如下圖左側)。
  • 移除模組的輸入針腳,並從模組背面焊接五條杜邦線至對應的孔位 (詳細操作步驟於後面說明)。
  • 再次將 8x8 矩陣式 LED 顯示模組連接至 Robot Shield,並透過手機的校正測試 APP 確認運作正常。

如何移除針腳?


將輸出腳剪斷 (剪齊圖示紅色虛線)。
 

將輸入腳剪斷。
 

移除殘餘的接頭 (如影片,可於 焊錫熔解後進行敲擊使之脫落)。
 

準備五條各約 5cm 的杜邦線。
 

將這五條線分別焊接至模組背後的孔位。

這一步驟完成後,即完成了所有電子元件的測試,接下來將進行零件組裝。

在此之前,請先將擴充板上的接線全部解開,之後的組裝步驟會再說明對應機構的接線方式。

第 8 步:組裝左腿 (連接擴充板 P15)

  • 打開 SG90 伺服馬達套件,會看見一顆伺服馬達、三支轉軸支架 (旋臂)、以及二長一短的螺絲。在此專案中,僅會用到最短的轉軸支架。
  • 用兩隻長螺絲將伺服馬達鎖至 OTTO 身體的左腳位置。
  • 將伺服馬達接線至擴充板的 P15,並將手機上的 LinkIt Remote APP 連結至 LinkIt 7697。開啟校正測試 UI 後,點選 Stiff 按鈕使伺服馬達回到初始位置,亦即 OTTO 直立的狀態。
  • OTTO 兩隻的零件是相同的 (但腳底板左右有分),因此可任意選擇進行組裝。


  • 將轉軸支架切短以放入左腿的卡榫溝槽 (如下圖左),並確認與伺服馬達的連接面需平整 (如下圖右)。不平整的馬達接觸面將會導致 OTTO 無法直線行走。
     

    完成上述轉軸支架尺寸及位置的微調後,可用快乾膠固定支架與腿部間的接合。注意使用的黏著劑份量以免影響接合面的平整度。

  • 以面朝正面的方向 (如下圖),將左腿連接至 OTTO 的身體。由於齒輪齒紋的關係,腿部不見得能精準地對準身體正面,這可於之後的步驟透過校正測試 APP 進行修正。

  • 短螺絲腿上轉軸支架身體上伺服馬達鎖緊,若沒有確實鎖緊會導致 OTTO 無法順利直線行走。

第 9 步:組裝右腿 (P16)

  • 採用與組裝左腿相同的步驟完成右腿的組裝,並將伺服馬達連接至擴充板的 P16 接腳
  • 開啟 LinkIt Remote 的校正介面進行腿部位置調整,使雙腿的初始方向平行於身體的面向 (如下圖)。校正完成後,務必按下 Save 按鈕儲存相關設定值供之後使用。 
     

第 10 步:組裝左腳底板 (P5:LF)

  • 將伺服馬達的電線穿過左腿身體的開孔後連接至 Robot Shield 的 P5
  • 選擇校正介面中的 Stiff 將伺服馬達轉軸置於初始位置。  


  • 切割馬達轉軸支架 (懸臂),使它能放進左腳底板零件的卡榫溝槽。


  • 用短螺絲將伺服馬達鎖緊固定於腳底板上。
     
  • 整理並反折馬達的線好將馬達放入左腿的機構當中。
      
  • 用長螺絲鎖緊固定馬達與左腿 (注意正反面,下圖為 OTTO 的背面)。
      

第 11 步:組裝右腳底板 (P11: RF)

  • 依照與組裝左腳底板相同的步驟,完成右腳底板的組裝並連接伺服馬達至擴充板的 P11
  • 使用校正 APP 調整腳底板的角度,使它們能平穩地站在地面上 (如下圖)。
  • 矯正完畢後務必點選 Save 儲存相關設定值。

第 12 步:將 Robot Shield 裝進 OTTO 身體裡

  •  為了留下安裝 LED 模組的空間,將 Robot Shield 放進 OTTO 身體時,盡量將腿部相關走線整理至後方 (綠色箭頭所指方向)。
     

  • 調整 Robot Shield 的位置,使開發板相關接口能對齊 OTTO 身上預先開好的孔位。
  • 使用 Robot Shield 附贈的螺絲將板子固定在 OTTO 身體機構當中。
     

第 13 步:安裝超音波感應器、蜂鳴器、以及 8x8 矩陣式 LED

  • 接下來的組裝步驟,會依照下圖的接線方法,分別將之前測試過的超音波感應器、蜂鳴器、以及 8x8 矩陣式 LED 連接回 Robot Shield。
  • 將蜂鳴器面朝下安裝至 OTTO 身體中預留的蜂鳴器位置,並將接線接回至 Robot Shield


  • 將超音波感應器模組安裝至 OTTO 頭部裡 (可用銼刀修整眼睛開口邊緣以方便安裝),並將接線接回至 Robot Shield (注意 Trig / Echo 接線的位置)


  • 將 8x8 矩陣式 LED 模組接線回 Robot Shield,並用膠帶或其他絕緣物包覆 LED 模組背面以避免接觸 Robot Shield 造成短路。
  • 放置 LED 模組於 OTTO 身體正面位置 (如下箭頭所指)。

  • 最後將頭部身體組合起來,就完成了 OTTO 的組裝。
     

第 14 步:執行 DEMO App

  • 在 Arduino IDE 中開啟 OTTO_Demo.ino 範例,並上傳至 LinkIt 7697 執行。
  • 開啟 LinkIt Remote APP 並連接至 OTTO,從 LinkIt 7697 載入 UI 後會看見如下的控制介面:


  • 接下來就可以開始嘗試 OTTO 各式各樣的動作了!