Arduinoボードが、種々のステッピングモーターを制御することを可能とする。このライブラリを利用すると、ユニポーラとバイポーラのステッピングモーターを制御することができる。このライブラリを利用するには、ステッピングモーターと制御用の適切なハードウェアが必要となる。
このライブラリを利用すると、ユニポーラとバイポーラのステッピングモーターを制御することができる。このライブラリを利用するには、ステッピングモーターと制御用の適切なハードウェアが必要となる。
このライブラリを使うためには、以下を宣言する。
#include <Stepper.h> 回路
プログラム例
- Motor Knob: 可変抵抗器を使って、高精度ステッ-ピングモータを制御する。
- Stepper One Revolution: シャフトを右1回転、左1回転する。
- Stepper One Step At A Time: シャフトを少しずつ回転する。
- Stepper Speed Control: 可変抵抗器を使って、ステッピングスピードを制御する。
プログラム例のリンク先はすべて英語です。
このライブラリを使うためには、Arduino IDEでライブラリマネージャを開きインストールする。
- 1.1.3(最新)
Stepper()
この関数は、Arduinoボードに接続された特定のステッピングモータを示すStepperクラスの新しいインスタンスを生成する。setup()やloop()よりも前の、スケッチの最初の方に記述する。パラメータの数は、ステッピングモータとArduinoを、2ピンで接続したのか、4ピンで接続したのかに依存する。
書式
Stepper::Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2);
Stepper::Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2, int motor_pin_3, int motor_pin_4);
Stepper::Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2,int motor_pin_3, int motor_pin_4, int motor_pin_5);
引数
| steps | モータが一周するのに必要なステップ数。モータの仕様がステップごとの角度で表記されているときは、360をその角度で割って、ステップ数を求める必要がある。例:1ステップ3.6度のときは、360/3.6=100ステップとなる。 |
| pin1, pin2 | モータに接続するピン番号。 |
| pin3, pin4 | 4ピンで接続したときの、残りのピン番号。 |
| pin5 | 5ピンで接続したときの、残りのピン番号。 |
戻り値
Stepperクラスの新しいインスタンス。
訳者註
3個目の書式は、公式ページには記載がありませんが、ソースコード上実装されています。5相のステッピングモータにも対応しています。
使用例
|
|
Stepper::setSpeed()
この関数は、モータのスピード(RPM:1分当たりの回転数)を設定する。この関数はモータを回転させるのではなく、step()を呼び出した時のスピードを設定する。
書式
void Stepper::setSpeed(long whatSpeed);
引数
| whatSpeed | スピード(1分当たりの回転数)。正数。 |
戻り値
なし。
Stepper::step()
この機能は、モータを指定したステップ数だけ回転させる。回転スピードは直近のsetSpeed()の呼び出しによって設定されている。この関数(step())を実行すると処理はブロックされ、モータの回転が完了するまでスケッチの次の行に制御は移行しない。例えば、1回転100ステップのモータで、回転スピードを1RPMに設定して、step(100)を呼び出すと、この関数の実行には1分間を要する。うまく制御するには、回転スピードを速くして、step()では数ステップだけ回転させるようにするのがいい。
書式
void Stepper::step(int steps_to_move);
引数
| steps_to_move | モータを回転させるステップ数。符号により回転方向が変わる。 |
戻り値
なし。