基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
サーボモーター
ステッピングモーター
キャラクタ液晶表示
EEPROM
SPI通信
I2C通信(Wire)
メモリカード
メモリカード(File操作)
Ethernet
Ethernetサーバー
Ethernetクライアント
Firmata
周期処理
省電力
時計(RTC)
SoftwareSerial
ユーティリティ
ステッピングモータ(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分間あたり何回転するか設定する。
文法
setSpeed(int rpms)
パラメータ
rpms: 回転速度[rpm]
戻り値
なし
step
概要
モータを回転させる。
文法
step(int steps)
パラメータ
steps: モータが回転する量をステップ数により指定する。負の数を入力すると逆回転する。
戻り値
なし
getRpms
概要
モータの現在の回転速度を取得する。
文法
int getRpms()
パラメータ
なし
戻り値
現在の回転速度[rpm]
getPosition
概要
モータの現在の回転位置を取得する。
文法
int 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;
}