【Arduino】Parallax HB-25 Motor Controlを使ってみるよ
プログラム
こちらに素晴らしい先駆者がいました。
Reefwing Robotics: Parallax HB-25 Motor Control Library for Arduino
Servo.hを使ってコントロールをしていきます。
私が使ったコードはこちら
#include <Servo.h> #define REVERSE 1000 #define STOP 1500 #define FORWARD 2000 #define HOLD_OFF_TIME 8 #define controlPin 9 Servo servo; void setup(){ // HB-25 initialisation time (5ms) delay(5); pinMode(controlPin, OUTPUT); // Set control pin low on power up digitalWrite(controlPin, LOW); //serial confirm Serial.begin(9600); } void loop(){ // Attach HB-25 to the control pin & set valid range servo.attach(controlPin, 800, 2200); servo.writeMicroseconds(STOP); Serial.println("Stop"); delay(5000); // Attach HB-25 to the control pin & set valid range servo.attach(controlPin, 800, 2200); servo.writeMicroseconds(FORWARD); Serial.println("Forward"); delay(5000); // Attach HB-25 to the control pin & set valid range servo.attach(controlPin, 800, 2200); servo.writeMicroseconds(STOP); Serial.println("Stop"); delay(5000); // Attach HB-25 to the control pin & set valid range servo.attach(controlPin, 800, 2200); servo.writeMicroseconds(REVERSE); Serial.println("Reverse"); delay(5000); }
結果
コマンド | M1 | M2 |
---|---|---|
STOP | 0 | 0 |
FORWARD | + | - |
REVERSE | - | + |
今回は可変電源から6V流したので、6Vが出力されています。
コマンドによって、電源の流れる向きが制御できます。