概要
DCモータを制御する際にモータコントローラを使用すると思いますが、複数のモータを制御する際は配線が複雑になってしまいがちです。
https://rb-station.com/blogs/article/l298p-motor-shieldそこで上記記事ではL298Pという、Arduino対応のシールド型モータコントローラを紹介しました。L298Pは2チャンネルでしたが、さらにチャンネル数の多い、4チャンネルに対応可能なDCモータコントローラL293Dモータシールドについて紹介します。
接続の仕方
下の接続口にはモータ電源を接続します。(6V〜15V)
左右についているA/Bそれぞれの接続口に4つまでDCモータを接続することが可能です。
このように、Arduinoの上に差し込む形で上にL293Dモータシールドを接続します。給電はシールドに繋げたモータ用の電源から行われるのでArduino自身への給電は不要です。
DCモータを4つ繋げても配線はとてもシンプルになります。
制御コード例
AFMotorというライブラリを使用しています。
上記URLからzipダウンロードをして、Arduino IDEでZIPファイルをインクルードしましょう。
#include <AFMotor.h> AF_DCMotor motor1(1); AF_DCMotor motor2(2); AF_DCMotor motor3(3); AF_DCMotor motor4(4); void setup() { motor1.run(RELEASE); motor2.run(RELEASE); motor3.run(RELEASE); motor4.run(RELEASE); } void loop() { motor1.run(FORWARD); motor2.run(FORWARD); motor3.run(FORWARD); motor4.run(FORWARD); motor1.setSpeed(200); motor2.setSpeed(200); motor3.setSpeed(200); motor4.setSpeed(200); delay(2000); motor1.run(BACKWARD); motor2.run(BACKWARD); motor3.run(BACKWARD); motor4.run(BACKWARD); motor1.setSpeed(200); motor2.setSpeed(200); motor3.setSpeed(200); motor4.setSpeed(200); delay(2000); }