それではArduinoに先ほどの駆動回路をつないでみます。
接続にはArduinoのGPIOのうち、D2、D3、D4、D5を使います。駆動回路のS1にD5、S2にD4、S3にD3、S5にD2を接続します。出力に設定されたGPIO端子に外からの電圧が加わるとArduino自体が破損してしまう場合がありますので、Arduinoをつないだ後はスイッチを押さないようにしてください。
void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); } void loop() { digitalWrite(2, HIGH); delay(10); digitalWrite(2, LOW); digitalWrite(4, HIGH); delay(10); digitalWrite(4, LOW); digitalWrite(3, HIGH); delay(10); digitalWrite(3, LOW); digitalWrite(5, HIGH); delay(10); digitalWrite(5, LOW); }
上のList1が最初に試すプログラムです。前回紹介したユニポーラ型では駆動するために「Stepper」クラスを使いましたが、今回はステッピングモーターの基本を押さえるために、GPIOをプログラムで直接制御するコードを書き、動作を確かながら進めていくことにします。
setup関数で2番、3番、4番、5番ピンを出力に設定しています。loop関数の中でタクトスイッチを操作した順番にGPIOピンをON/OFFしています。それぞれのGPIOピンを10ミリ秒ON状態にしています。
実際に皆さんのステッピングモーターは回転しましたか。筆者の場合は回ることは回るのですが、ガクガクとした、ぎこちない感じの回り方でした。実はステッピングモーターは2つあるコイルにオーバーラップするよう電流を流すと、よりスムーズに回転させることができるのです。
Copyright © ITmedia, Inc. All Rights Reserved.