目次
博士課程学生です。電子工作はただの趣味です。
Motorシールドは、L298というモータードライバICを ArduinoUno から扱いやすいように、周辺部品を含めて一つのボードにまとめたものです。ArduinoUnoにMotorシールドを接続することで、DCモーター2個またはステッピングモーター1個を制御できます。ここではDCモーターのスピードや回転方向の制御方法を見ていきます。公式ページはこちらです。
購入方法
今回は公式ページと同じ製品をAmazonから購入して使用しました。動作確認はしていませんが、秋月電子通商で販売されているこちらの商品の方が安いようです。今度試してみようと思います。
データシート
DCモーターを制御してみよう
用意するもの
- DCモーター (x2)
- ArduinoUno (x1)
- Motorシールド (x1)
- モーター用別電源 (なくてもいいです)
- 工具 (マイナスドライバー、カッター)
手順1
写真のように、ArduinoUnoとMotorシールドを接続し、さらにMotorシールドにDCモーターの端子を接続し、マイナスドライバーで締めて固定します。
手順2
モーター用別電源を接続しない場合、ArduinoUno本体にUSB等から供給される5V電源がモーター駆動のためにも使用されます。そのため、制御するDCモーターの動作電圧がそれを上回る場合や、供給電力が不足してモーターの回りが悪い場合には、写真のように極性に注意してモーター用別電源を接続するとよいです。
ただし、このモーター用別電源の電圧が9Vを上回る場合、ArduinoUno本体に電気的にダメージを与える恐れがあります。その場合、公式ページに記載されているように、Motorシールド背面にある "Vin Connect" と記載されたはんだ付けされた部分を、カッター (またははんだごて) で電気的に切断してください。
If your motor require more than 9V we recommend that you separate the power lines of the shield and the Arduino board on which the shield is mounted. This is possible by cutting the "Vin Connect" jumper placed on the back side of the shield.
手順3
マイコンに下記サンプルプログラムをコンパイルして書き込みます:
void setup() {
// モーターAの制御用ピン設定
pinMode(12, OUTPUT); // 回転方向 (HIGH/LOW)
pinMode(9, OUTPUT); // ブレーキ (HIGH/LOW)
pinMode(3, OUTPUT); // PWMによるスピード制御 (0-255)
// モーターBの制御用ピン設定
pinMode(13, OUTPUT); // 回転方向 (HIGH/LOW)
pinMode(8, OUTPUT); // ブレーキ (HIGH/LOW)
pinMode(11, OUTPUT); // PWMによるスピード制御 (0-255)
}
void loop(){
// モーターA: フルスピード正転
digitalWrite(12, HIGH);
digitalWrite(9, LOW);
analogWrite(3, 255);
// モーターB: フルスピード正転
digitalWrite(13, HIGH);
digitalWrite(8, LOW);
analogWrite(11, 255);
// 2秒間上記設定で回転
delay(2000);
// モーターA: フルスピード逆転
digitalWrite(12, LOW);
digitalWrite(9, LOW);
analogWrite(3, 255);
// モーターB: フルスピード逆転
digitalWrite(13, LOW);
digitalWrite(8, LOW);
analogWrite(11, 255);
// 2秒間上記設定で回転
delay(2000);
}
手順4
リセットボタンを押して動作することを目視確認します。
記事の執筆者にステッカーを贈る
有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。
さらに詳しく →Feedbacks
ログインするとコメントを投稿できます。
関連記事
- 内蔵LEDを点灯させるまで (Arduino)Arduinoとは Arduino は初心者でも入門しやすいマイコンボードです。アルデュイーノと読みます。マイコンとは家電などに内蔵されている小さなコンピュータで、マイコンが必要とする周辺機器一式と一緒に一つのボードにまとめたものがマイコンボードです。数あるマイコンの中で特にArduinoにはAVRマイコンが使用されています。2005年にイタリアで開始されたオープンソースハードウェアのプロジェクト...
- 虚仮威しの防犯装置 (Arduino)人が接近すると防犯用の音を鳴らします。インターネットに接続してメール送信機能を追加すれば、虚仮威しどころか立派な防犯装置になります。センサの性能は視野角が約 120 度と広範囲で、距離もおおよそ 2m まで検知可能です。赤外線を発する人体や動物などが動くと反応します。自動ドアや照明の自動点灯にも応用されています。
- Arduino で作る温度と気圧の計測基板専用の IC を利用すると、簡単に温度や気圧を測定できます。インターネットに接続してグラフ化したりボットを作ったりと応用先は様々ですが、ここでは LCD に結果を表示する測定基板を作成します。 必要なパーツ 以下のパーツが必要になります。画像ではコンデンサを直列に接続したり抵抗を並列に接続したりしていますが、これは手元に適切な値のパーツがなかったためです。 高精度
- 電力の無駄遣い (定電圧電源)マイコンを含む様々な IC を動作させるためには定電圧電源が必要です。USB ケーブルなどで供給する場合を除き、定電圧を出力するための回路が必要になります。ここでは、乾電池 9V 形から得られる電圧を 5V に変換し、更に 3.3V に変換し、最後に 5V に昇圧するという電力の無駄遣いともとれる基板を作ります。動作させるものはマイコンではなく燦然と輝く LED です。汎用基板として様々な場面で利...
- Arduino で作る 7 セグメント LED タイマーArduino の入門として、4 桁の 7 セグメント LED でカウントアップタイマーを作ってみます。PIN の電流制限を考慮してトランジスタを使用する必要があったり、桁数が多いためダイナミック点灯制御を用いなければならなかったりと、単なる LED 点灯制御と比較して考えなければならない事項は多めです。