ステッピングモータ(Stepperクラス)

ステッピングモータ(Stepperクラス)

ステッピングモータを制御をするためのライブラリです。

使用する場合は、#include <stepper.h>を記述して、Stepper stepper(100, 8, 9, 10, 11)のようにインスタンス生成してください。

Stepper用コンストラクタ

概要
Stepperクラスのインスタンス生成用コンストラクタです。
文法
Stepper(steps, pin1, pin2)
Stepper(steps, pin1, pin2, pin3, pin4)
パラメータ
steps: 1回転(360度)のステップ数。100のとき1ステップは3.6度。(int型)
pin1~pin4: 接続するピン
戻り値
なし

setSpeed

概要
1分間あたり何回転するか設定する。
文法
stepper.setSpeed(int rpms)
パラメータ
rpms: 回転速度[rpm]]
戻り値
なし

step

概要
モータを回転させる。
文法
stepper.step(int steps)
パラメータ
steps: モータが回転する量をステップ数により指定する。負の数を入力すると逆回転する。
戻り値
なし

getRpms

概要
モータの現在の回転速度を取得する。
文法
int stepper.getRpms()
パラメータ
なし
戻り値
現在の回転速度[rpm]

getPosition

概要
モータの現在の回転位置を取得する。
文法
int stepper.getPosition()
パラメータ
なし
戻り値
現在の回転位置(ステップ数)。

サンプルプログラム


#include <Arduino.h>
#include <Stepper.h>
// change this to the number of steps on your motor
#define STEPS 100
 
// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 8, 9, 10, 11);
 
// the previous reading from the analog input
int previous = 0;
 
void setup()
{
  // set the speed of the motor to 30 RPMs
  stepper.setSpeed(30);
}
 
void loop()
{
  // get the sensor value
  int val = analogRead(A0);
 
  // move a number of steps equal to the change in the
  // sensor reading
  stepper.step(val - previous);
 
  // remember the previous value of the sensor
  previous = val;
}