準備中
MOTOR-LEAFの利用例
ESP8266-LEAF-R5にDCモーターやRCサーボを接続できるようにする拡張ボードです。
ESP-WROOM-02をWebサーバーとして構成したり、Blynkを利用することにより、スマートフォンなどから操作できる自動車やロボットの作成に利用することができます。
なお、ESP8266-LEAF-R5本体にMPU6050加速度・ジャイロセンサーを搭載できます。
DCモータードライバーには、L9110を使用しています。
例えば、マブチモーターのFA-130RAを使用する場合には、DCモーター駆動用の電源は3V-6Vを接続するとよいでしょう。
ただし、FA-130RAの適正電圧は1.5V、利用電圧範囲は1.5V~3Vとなっているので、3V以上の電源を接続する場合には、PWM機能を利用して、実効電力を適切な範囲に制限するなどの配慮をしてください。
MOTOR-LEAFにDCモータを2個接続して正転と反転を繰り返すスケッチです。
#define MOTOR1A 12 #define MOTOR1B 13 #define MOTOR2A 14 #define MOTOR2B 16 #define MAX_PWM_VALUE PWMRANGE #define DURATION 2000 #define PWMPOWER PWMRANGE void motor1(int value) { if (value > MAX_PWM_VALUE) value = MAX_PWM_VALUE ; else if (value < -MAX_PWM_VALUE) value = -MAX_PWM_VALUE ; if (value >= 0) { analogWrite(MOTOR1B, 0) ; analogWrite(MOTOR1A, value) ; } else { analogWrite(MOTOR1A, 0) ; analogWrite(MOTOR1B, -value) ; } } void motor2(int value) { if (value > MAX_PWM_VALUE) value = MAX_PWM_VALUE ; else if (value < -MAX_PWM_VALUE) value = -MAX_PWM_VALUE ; if (value >= 0) { analogWrite(MOTOR2B, 0) ; analogWrite(MOTOR2A, value) ; } else { analogWrite(MOTOR2A, 0) ; analogWrite(MOTOR2B, -value) ; } } void setup() { } void loop() { motor1(PWMPOWER) ; motor2(PWMPOWER) ; delay(DURATION) ; motor1(-PWMPOWER) ; motor2(-PWMPOWER) ; delay(DURATION) ; }
なお、ESP8266のanalogWriteで出力されるPWMの周波数は、デフォルトで1KHzです。
MOTOR-LEAFの回路図を示します。
MOTOR-LEAFの回路図