モーターArduinoでステッピングモーターを制御するには、A4988ステッピングモータードライバーかEasyDriverの制御モジュールを使うと簡単に制御する事が出来る。配線も簡単で、A4988とEasyDriverはほぼ同じ配線で制御出来る。マイクロステップで細かい差異があるが、基本はあまり変わらない。EasyDriverの配線は以下の通り。Directionがクロスしているが、ブレッドボードシールド上に配置して配線した場合隣に来るためこのピンアサインにしている。LowでMS2を接続する事でハーフステップ設定にしている(EasyDriverはデフォルト1/8ステップ)A4988の配線。Highに設定しMS1を接続する事でハーフステップ設定にしている違いがある(A4988はデフォルトでフルステップ)。所に100uF程度の電解コンデンサを配置。基板上の電流調整つまみを回すことでモーターへの電流を調整するが、ぐるぐる適当に回すとモーターを焼く可能性があるので注意。テスターを使って調整するのが確実だが、筆者はとりあえず中央あたりから始め、モーターを制御しつつ低め(左方向)に回していって、モーターが止まる所より少しだけ高めに調整する適当調整でやっている(適当調整をやる場合は自己責任で)。ArduinoのコードはAccelStepperライブラリが簡単で使いやすい。stepper1(1,5,6);引数最初の1が制御ドライバ使用、5,6がステップ/方向ピン番号。マイクロステップの設定はモジュールによりMS1、MS2、MS3(A4988)をLow/Highに設定する事で切り替え出来る。EasyDriverの場合MS2をLowにする事でハーフステップに、A4988はMS1をHighにする事でハーフステップになる。stepper1(8,3,4,5,6);と指定するだけでハーフステップ制御が出来る(8が4線ハーフステップ指定、4指定でフルステップになる)。以下は筆者がステッピングモーターのテスト用に作ったサンプルコード。上記配線でEasyDriver/A4988どちらでも動作する。シリアルモニタから「s###」で速度設定、「m###」でステップ移動、「d###」でcm指定移動(cyclelenとstepsを適切に設定しておく事)出来る。12番pinにスイッチをつけてGNDと繋げるとスイッチを押すたび1m動く様にもしている。移動距離マイナス数値指定で逆回転。速度が速すぎても脱調して動かないので、上手く動作しない場合電流調整と速度100~400あたりを試してみると動くかもしれない。EasyDriverとA4988で最低電圧が6v/8v必要なので、モーターが無反応(静止トルクもかからない)場合は外部電源もチェックする事。cyclelenは2mmピッチの歯でプーリーが一周20歯の場合400(2*20)、stepsはモーターの一周のステップ数(m50と入力して90度回転すれば200。ステップ角1.8度であればハーフステップ時は1ステップ0.9度になるので一周は400)。これだけのコードでステッピングモーターが思いのままに動作する。