Arduinoを始めよう!(2)モーター制御編
2013年2月28日(木)
回路
前回で登場したブレッドボードを使って、次の回路を組みます。
これがArduinoを使ったモーターの制御回路です。モーターの回転方向を制御する“Hブリッジ回路”は自分で組むこともできますが、この連載の目的はミニ四駆の制御なので、少し楽をしてFETモジュールというものを使うことにします(Hブリッジ回路とFETモジュールについては後述します)。
モーターと回路の接続はクリップを使うと良いのですが、ここでは導線を直接、繋いでいます。この方法だと接触が悪く、モーターが動かない場合がありますので、その場合は、はじめにモーターと導線の接続を確認してください。
- [注意] FETモジュールとArduinoの接続に注意してください。これを間違えると、FETモジュールが壊れる可能性があります。
プログラム
回路が出来たら、次のプログラムをArduinoに転送します。
void signal1(int value) { switch (value) { case 0: digitalWrite(12, HIGH); digitalWrite(13, LOW); break; case 1: digitalWrite(12, LOW); digitalWrite(13, HIGH); break; } } void signal2(int value) { switch (value) { case 0: digitalWrite(10, HIGH); digitalWrite(11, LOW); break; case 1: digitalWrite(10, LOW); digitalWrite(11, HIGH); break; } } void forward() { signal1(1); signal2(0); } void back() { signal1(0); signal2(1); } void setup() { pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); } void loop() { forward(); delay(1000); back(); delay(1000); }
これでDCモーターの制御プログラムの完成です。
- [注意1] signal1()とsignal2()の出力ピン番号とLOWとHIGHの組み合わせをしっかりと確認してください。これを間違えると、FETモジュールが壊れる可能性があります。
- [注意2] プログラムを転送するまで、電池ボックスのスイッチは切っておいてください。
動作確認
それでは動作確認してみましょう。電池ボックスのスイッチをオフにしてから、プログラムを転送します。プログラムの転送が完了したら、電池ボックスのスイッチを入れます。そうすると、1秒おきにモーターが正転と逆転を繰り返します。
このように、モーターが正転と逆転を繰り返し続ければ、プログラムは正常に動いています。もし、動かない場合、ArduinoとFETモジュールの接続を確認してください。また、同様にモーターと回路の接続も確認してください。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。