前回は自分でドライバを作ってブラシレスモーターを回しましたが、Amazonなどでも売っているESCというものを使うことで簡単に回すことができます。

 今回は下のセットを使いました。

 これは12Aまで流せるもので、ブラシレスモーター本体もついてくるので便利でした。
 配線は
・黄→D9ピン
・赤→5Vピン
・黒→GND
につなぎます。また、太い赤と黒の線は10V程度の電源とGNDにつなぎ、太い青い線は適当にBLDCモーターにつなぎます。

 また、ESCの制御はサーボの制御と一緒でパルス信号で制御します。それなので、プログラムは公式ライブラリのServo.hを使います。コードは以下の通りです。
#include <Servo.h>

const int throttle_high = 2000;
const int throttle_low = 1000;

Servo throttle;
int level = throttle_low;

void setup(){
  throttle.attach(9);
  throttle.writeMicroseconds(level);
  delay(1000);
}

void loop() {
  for (level = throttle_low; level <= throttle_high; level += 100) {
    throttle.writeMicroseconds(level);
    delay(1000);
  }
  for (level = throttle_high; level >= throttle_low; level -= 100) {
    throttle.writeMicroseconds(level);
    delay(1000);
  }
}
 level1の値を1000~2000の間で変化させることでモーターの回転速度を制御します。
 動作させると下のような感じになります。

 ESCを使うと簡単にブラシレスモーターを回すことができるので、難しいことを考えないときにはいいかもしれません。それではまた今度。