🤖
LinkIt 7697 BlocklyDuino 使用指南
  • LinkIt 7697 BlocklyDuino 使用指南
    • 認識 LinkIt 7697
    • 認識 BlocklyDuino
    • BlocklyDuino v2 & v3 比較
    • 安裝開發環境 (v2)
      • 安裝 Arduino 編輯器
      • 安裝驅動並連接開發板
      • 安裝 BlocklyDuino 編輯器
      • 連結兩個編輯器並上傳程式
    • 安裝開發環境 (v3)
    • BlocklyDuino 基礎操作
    • 實作範例教學
      • A01. 內建 LED 閃爍
      • A02. 外接 LED 閃爍
      • A03. 外接 LED 呼吸燈
      • A04. RGB LED 顏色變化
      • A05. 外部按鈕控制開關
      • A06. 蜂鳴器播放聲音
      • A07 .可變電阻控制電壓輸出
      • A08. 伺服馬達控制
      • A21. DHT: 溫濕度感應器
      • A22. HTU21D: 溫溼度感應器
      • A23. PMSX003: PM2.5 感測器
      • A24. HC-SR04P: 超音波測距
      • A25. ADXL345: 加速規(動態)
      • A26. ADXL345: 加速規(手勢)
      • A27. 1602/2004: 液晶顯示模組
      • A28. WS2812: RGB 彩色燈條
      • A29. MFRC522: RFID
      • B00. Grove 相關基礎知識
      • B01. Grove 光感應器
      • B02. Grove 超音波測距感應器
      • B03. Grove 溫溼度感應器
      • B04. Grove 繼電器
      • B05. Grove LED 燈條
      • B06. Grove OLED 顯示器
      • C01. 雲端控制 LED 開關
      • C02. 上傳溫溼度到雲端
      • D01. 手機透過 BLE 讀寫裝置資料
      • E01. 遙控器: 按鈕控制 LED
    • 資源鏈結
  • LinkIt 7697 - Arduino IDE 開發指南
    • 環境設定
      • 設定 Arduino IDE
      • 將 LinkIt 7697 連接到電腦
        • 在 Windows 上安裝 CP2102N 驅動程式
        • 在 macOS 上安裝 CP2102N 驅動程式
      • 執行第一個程式
    • 開發指南
      • GPIO
      • UART
      • ADC
      • EINT (外部中斷 / External Interrupt)
      • I2C
      • SPI
      • EEPROM
      • Timer
      • Flash (索引式儲存空間)
      • RTC (Real-Time Clock)
      • Software Serial
      • 使用 Wi-Fi 函式庫
      • 使用 MCS 函式庫
        • 連接到 MCS
        • 連接到 MCSLite
          • 建立可透過 MCS Lite 控制的 Beacon
        • MCS 函式庫 API 使用手冊
          • MCSDevice
          • MCSLiteDeviceMCSLiteDevice
          • MCSDataChannel 相關類別
      • 使用 BLE 低功耗藍牙
        • 藍牙信標
        • 主控裝置
        • 周邊裝置
        • 已知限制
        • LBLE API 指南
          • LBLE
          • LBLECentral
          • LBLEPeripheral
          • LBLEAdvertisementData
          • LBLEService
          • LBLECharacteristic
          • LBLEAddress
          • LBLEUuid
          • LBLEClient
      • 使用 LinkIt Remote
        • LRemote API
        • LRemote 控制元件 API
      • LinkIt 7697 腳位的初始狀態
      • LinkIt 7697 供電說明
      • 更新 Bootloader 與韌體
      • Flash 燒錄工具
      • FOTA 更新
      • LinkIt 7697 的功能限制
      • 自行編譯 Arduino Package
      • 回報問題
    • 週邊元件連接教學
      • SMD 按鈕
      • RGB 三色 LED
      • 可變電阻
      • 九軸感應器 (MPU-9250)
      • 溫度與濕度感應器 (AM2302)
      • 超音波距離感應器
      • 光感應器 (LM358)
      • 0.96 吋 OLED 顯示模組 (SSD1308Z)
      • 長條型 LED 顯示模組 (MY9221)
      • 繼電器
      • 伺服馬達 (EMAX 9g ES08A Servo)
      • 使用 74HC595 驅動七段顯示器
      • 使用 MAX7219 驅動七段顯示器
      • 使用 MAX7219 驅動 8x8 矩陣式顯示器
      • 使用 OLED 模組 (如 SH1106 / SSD1306... 等模組)
      • 使用 PCF8574 / PCF8574A 驅動 1602 LCD
    • 開發套件與擴充板
      • Grove Starter Kit
      • Robot Shield
        • OTTO97
    • 下載
    • 資源連結
    • BSP 版本更新資訊
  • LinkIt 7697 - Development Guide for Arduino IDE
    • Environment Setup
      • Setup Arduino IDE
      • Connecting LinkIt 7697 to Computer
        • Install CP2102N Driver on Windows
        • Install CP2102N Driver on macOS
      • Run Your First Sketch
    • Developer Guide
      • GPIO
      • UART
      • ADC
      • External Interrupt
      • I2C
      • SPI
      • EEPROM
      • Timer
      • Flash (Key-Pair Storage)
      • RTC (Real-Time Clock)
      • Software Serial
      • Using the Wi-Fi Library
      • Using MCS Library
        • Connecting to MCS
        • Connecting to MCSLite
          • Build a Beacon controlled by MCS Lite
        • MCS Library API Reference
          • MCSDevice
          • MCSLiteDevice
          • MCSDataChannel Classes
      • Using Bluetooth
        • Beacons
        • Central Devices
        • Peripheral Devices
        • Limitations of LBLE library
        • LBLE Library API Guide
          • LBLE
          • LBLECentral
          • LBLEPeripheral
          • LBLEAdvertisementData
          • LBLEService
          • LBLECharacteristic
          • LBLEAddress
          • LBLEUuid
          • LBLEClient
      • Using LinkIt Remote
        • LRemote
        • LRemote Control Classes
      • Initial Pin State of LinkIt 7697
      • Powering the LinkIt 7697
      • Update Bootloader and Firmware
      • Flash Uploading Tool
      • FOTA Update
      • Limitations of LinkIt 7697
      • Source Code of Arduino Package
      • Issue Report
    • Tutorial
      • SMD Buttons
      • RGB LED
      • Potentiometer
      • IMU 9DOF v2.0 (MPU-9250)
      • Temperature and Humidity Sensor Pro (AM2302)
      • Grove Ultrasonic Ranger
      • Light Sensor (LM358)
      • Grove OLED Display 0.96" (SSD1308Z)
      • LED Bar v2.0 (MY9221)
      • Relay
      • Mini Servo (EMAX 9g ES08A Servo)
      • Driving 7-segment Displays with 74HC595
      • Driving 7-segment Displays with MAX7219
      • Driving 8x8 Dot Matrices with MAX7219
      • Using OLED module (SH1106 / SSD1306... etc.)
      • Driving 1602 LCD with PCF8574 / PCF8574A
    • Kits and Shields
      • Grove Starter Kit
      • Robot Shield
        • OTTO97
    • Download
    • Resources
    • BSP Release Notes
Powered by GitBook
On this page
  • Acknowledgement
  • 使用授權 (CC-BY-SA)
  • 組裝前需具備的技能
  • 使用材料
  • 工具
  • 相關程式碼
  • 安裝說明
  1. LinkIt 7697 - Arduino IDE 開發指南
  2. 開發套件與擴充板
  3. Robot Shield

OTTO97

PreviousRobot ShieldNext下載

Last updated 3 years ago

OTTO97 (OTTO for LinkIt 7697) 是衍生自 的機器人專案,利用 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 模組以方便安裝)

  • 快乾膠 (非必要。可用來加強組裝強度)

  • 其他可幫助組裝的工具如下:

相關程式碼

  • 目錄名稱
    說明

    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 本體零件

  • 所有的零件包含:頭、身體、腿 x2、左腳底板、右腳底板共六個元件。

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

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 顯示模組是否能正常運作。如下圖所示,將顯示模組連接到擴充板的 P7、P8 和 P9。

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

  • 若上一步驟結果正常,表示顯示模組功能無誤,接下來即可進行 rework (需使用焊接工具)。

  • 將顯示模組的輸出針腳剪斷 (如下圖左側)。

  • 移除模組的輸入針腳,並從模組背面焊接五條杜邦線至對應的孔位 (詳細操作步驟於後面說明)。

  • 再次將 8x8 矩陣式 LED 顯示模組連接至 Robot Shield,並透過手機的校正測試 APP 確認運作正常。

如何移除針腳?

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

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

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

第 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 各式各樣的動作了!

OTTO97 (OTTO for LinkIt 7697) 為衍生自 OTTO DIY ( / / ) 的專案。

此專案使用 授權。

可從 取得 OTTO97 相關的程式碼資訊:

從 下載所需的 3D 檔案。此 3D 檔案基於 OTTODIY 專案修改而成,以適於 LinkIt 7697 + Robot Shield 使用。

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

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

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

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

Offical Site
Github
Thingiverse
Creative Commons Attribution-ShareAlike 4.0 International License
https://github.com/bearwbearw/OTTO97
Thingiverse
GitHub 頁面
https://youtu.be/4FGtW8HOYKM
OTTODIY
SlideShare連結