You are here

MOTOR-LEAF

MOTOR-LEAFの概要

準備中

MOTOR-LEAFの利用例

ESP8266-LEAF-R5にDCモーターやRCサーボを接続できるようにする拡張ボードです。
ESP-WROOM-02をWebサーバーとして構成したり、Blynkを利用することにより、スマートフォンなどから操作できる自動車やロボットの作成に利用することができます。


  • ESP8266-LEAFに接続できます。
  • DCモーター2個を接続できます。
  • RCサーボ2個を接続できます。(NeoPixel/WS2812を接続することもできます)
  • 圧電サウンダーを搭載しています。
  • OLEDディスプレイ(別売り)を搭載できます。
  • I2Cの接続端子を搭載しています。

なお、ESP8266-LEAF-R5本体にMPU6050加速度・ジャイロセンサーを搭載できます。


DCモータードライバーには、L9110を使用しています。


  • DCモーター駆動用の電源電圧は、2.5V~9Vを使用してください。
  • DCモーター電流は、継続的には800mAまで、瞬間的には1.5Aを流すことができます。
  • DCモーターは、正転、反転の制御ができます。

例えば、マブチモーターの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の回路図を示します。

MOTOR-LEAFの回路図


開発ソフト: 
チップファミリー: 
MCUチップ: