レゴMINDSTORMのパーツはロボットのハードをつくるには非常に有用ですが、肝心のEV3本体のサイズ大きく、小型のロボットを作成するときにネックになります。そこでEV3モータを直接Arduinoやその他マイコンに繋いで動かす方法を紹介します。
EV3モータについて
https://depfields.com/dcmotor-pwmcontrol/#i-2
上記のサイトを参考にするとEV3のコードの白と黒の線がモータを動かすのに必要であることがわかります。実際にこの2線に電池を繋ぐとモータが動くことが確認できると思います。今回はトランジスタを使ってモータの回転を制御します。
使用したもの
・EV3モータおよび接続ケーブル
・Arduino Nano Every
・npnトランジスタ(2sc1815)
・抵抗(1.5kΩ)
・電池(単4×1)
・ブレッドボードやジャンパーワイヤ、ピンソケットなど
モータを動かす
写真のようにEV3用のコードを切断して、代わりにそれぞれの線にピンソケットをはんだ付けしました。このうち赤緑青黄は今回は使いません。
このコードを使って以下のような回路を組みます。モータの部分はコードの黒と白の線にそれぞれ繋ぎます。(Arduinoの電源はPCから)
ブレッドボードに作った回路は以下の通り。
プログラムはArduinoIDEで以下のものを作成しました。1秒ごとにモータが回転と停止を繰り返します。モータの回転中はLEDが光るようにしています。
#define MOTOR 2
#define LED 13
void setup()
{
pinMode(MOTOR, OUTPUT);
pinMode(LED, OUTPUT);
digitalWrite(MOTOR, LOW);
digitalWrite(LED, LOW);
}
void loop()
{
digitalWrite(MOTOR, HIGH);
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(MOTOR, LOW);
digitalWrite(LED, LOW);
delay(1000);
}
プログラムを書き込んで実際に動かした様子です。ArduinoでEV3モータを制御できました!
終わりに
ハードはレゴベースでつくりたいけど、EV3は使いたくないという方の参考になればと思います。