1個160円くらいのEasyDriverを3つゲットして、まずは1つを半田付け。
ブレッドボードも新調しました! 前使ってたのが、ピンがめちゃくちゃ入りにくくて。今度のは、いいですね。挿しやすくてイライラしない。で、こんな感じに差し込んで半田付け。
で、ステッピングモーターを用意してなかったので、フロッピーディスクか、CD-ROMを分解してステッピングモーターを取り出すことに。
Junk物色中。配線中、、、、完了。接続。、、、、うごきません。!!!
寝る!
・・・ 起床後、ふと見るとEasyDriver 側のLEDがついていないのを発見。電源が入っていませんでした。
5Vをモータードライブ用に入れていたんですが、仕様的に、6~30Vとか書いてあるので、手持ちに8Vくらいのしかなかったので、それを印加。
サンプルは、ネットで見たのをコピペ。PINのアサインは、PIN2 に Direction (正逆の回転方向)と、PIN3 にStep パルスを。
ほほー、な感じです。他にもPinがあるけども、深追いせず。Sleep とか PFD とか何に使うんでしょうかね。
/*
Junk FDD Stepper Motor Control Sample.
JunkHack 2015.04.19
*/
#include <Stepper.h>
int steps; // ステップカウンター
int movement = 1400; // 片道移動量 ( step 数)
int Delay = 200; // 遅延 ms
int dirPin = 2; // 回転方向出力 Pin
int stepPin = 3; // ステップパルス Pin
void setup() {
pinMode(dirPin, OUTPUT); // 回転方向の出力PINを指定
pinMode(stepPin, OUTPUT); // ステップ出力PINを指定
digitalWrite(dirPin, LOW); // PIN出力をLOWで初期化
digitalWrite(stepPin, LOW); // PIN出力をLOWで初期化
steps = 1; // ステップカウンターを初期化
}
void loop() {
if ( steps < movement ) { // 移動量を超えてなければ
digitalWrite(dirPin, HIGH); // 回転方向出力PIN は HIGH (5V)
}
if ( steps > movement ) { // 移動量を超えたら
digitalWrite(dirPin, LOW); // 回転方向出力PIN を LOW (0V)
}
digitalWrite(stepPin, HIGH); // ステップ出力 PIN を HIGH (5V)
delayMicroseconds(Delay); // 遅延
digitalWrite(stepPin, LOW); // ステップ出力 PIN を LOW (0V)
delayMicroseconds(Delay); // 遅延
steps += 1; // ステップカウンターを +1加算
if ( steps > movement * 2 ) { // 往復したら
steps = 1; // ステップカウンターリセット
}
}