哈爸雜記- 利基 OZONE + Server Runner A + JoyStick2A
緣起
- 一不小心走進利基,相談甚歡,一直對多 port servo 控制器有興趣,不小心就敗回家了。買東西怎麼可以不驗驗貨,所以就做了這個
零件
- OZONE
- Servo Runner A
- JoyStick2A
單元驗證
- 測試 OZONE
- 在 Arduion IDE(1.6.5) 選 Leonardo
- 無法使用 IDE 介面中的 Include Library->Add .ZIP Library 功能,必須手動將 zip 解開,複製到 library 的目錄
- 測試 Servo Runner A
- 伺服機控制模組 - Servo Runner A 使用手冊
- ServerRunnerA 範例程式工作正常,馬達會動。簡化情況下,直接將 OZone 5V 接給 ServerRunnerA( 3.3 V 也行,動得慢些)
- 測試 JoyStick2A
- 二軸搖桿與搖桿按鍵模組
- 使用 CmdBus Library 中的 JoyStick2A 範例程式
- setup 模組編號 6 => DIP3, DIP4 on. 讀到以下結果。
- 測試中,先搖桿向左->搖桿向右->放掉後按 button->搖桿向上->搖桿向下
X=-127 Y=10 Button=0 搖桿向左
X=-127 Y=-31 Button=0
X=-127 Y=-30 Button=0
X=-127 Y=-22 Button=0
X=-127 Y=-22 Button=0
X=-127 Y=-22 Button=0
X=0 Y=-5 Button=0
X=0 Y=-5 Button=0
X=13 Y=-3 Button=0
X=127 Y=0 Button=0 搖桿向右
X=127 Y=15 Button=0
X=127 Y=19 Button=0
X=127 Y=10 Button=0
X=115 Y=4 Button=0
X=3 Y=-5 Button=0
X=3 Y=-5 Button=0
X=3 Y=-5 Button=0
X=3 Y=-5 Button=0
X=4 Y=-5 Button=0
X=6 Y=0 Button=1 按 button
X=6 Y=0 Button=1
X=6 Y=0 Button=1
X=6 Y=1 Button=1
X=6 Y=0 Button=1
X=7 Y=-6 Button=0 放 button
X=7 Y=-4 Button=0
X=7 Y=-4 Button=0
X=7 Y=-4 Button=0
X=7 Y=-4 Button=0
X=7 Y=-4 Button=0
X=7 Y=-4 Button=0
X=7 Y=59 Button=0
X=21 Y=127 Button=0 搖桿向上
X=42 Y=127 Button=0
X=42 Y=127 Button=0
X=42 Y=127 Button=0
X=5 Y=-8 Button=0
X=4 Y=-6 Button=0
X=4 Y=-6 Button=0
X=11 Y=-74 Button=0
X=26 Y=-127 Button=0 搖桿向下
X=26 Y=-127 Button=0
X=26 Y=-127 Button=0
X=26 Y=-127 Button=0
X=26 Y=-127 Button=0
- 校正模式操作正常,值回到 X=0 Y=0 Button=0
小玩一下
- 用JoyStick2A 搖桿,控制兩個伺服馬達。搖桿 X/Y 軸,各控制一個伺服馬達
- 小車 : Actobotics Kit- ActoBitty 2
- 安裝
- OZONE
- CmdBus1 接 Servo Runner A
- CMdBus2 接 Joystick2A
- Servo Runner A
- 電池盒 6V 接 External Power PIN
- Servo0, Servo1 接 MG90
- CmdBus 接 OZONE
- #include "ozone.h"
- // 範例程式中的伺服機位置是以多數伺服機的範圍設定,
- // 請根據所使用的伺服機可設定的位置做調整,以免造成伺服機毀損
- ServoRunnerA mySer(5); // 設定模組編號為 5
- JoyStick2A myJoy(6); // 設定模組編號為6
- int8_t sX, sY;
- #define SERVO_X 0
- #define SERVO_Y 1
- void setup()
- {
- }
- void loop()
- {
- int vx,vy;
- myJoy.GetXY(sX, sY);
- vx = map(sX, -127, 127, 700, 2200);
- vy = map(sY, -127, 127, 700, 2200);
- mySer.SetPosAndRun(SERVO_X, vx);
- mySer.SetPosAndRun(SERVO_Y, vy);
- delay(100);
- }
小記
- 利基的東西,做得滿貼心的,Library 整合的完整,文件也夠清楚,還中文的。玩起來相對輕鬆很多