NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(servo:read関数の使い方)

■servo:read関数
  servo:read関数は、サーボの現在の角度(write関数への最後の呼び出しに渡された値)を読み込みます。

■使用例
  Arduino IDEで使用するservo:read関数の使い方は以下の通りです。
  試しに図1の様に定番サーボモータSG90Arduino UNOを接続し下記プログラムを実行すると、servo:write関数でサーボモーターのアームが0~180°の範囲を3.6秒周期で行き来します。
 この時Write関数で指定された角度をservo:read関数で読み取りPCのシリアルモニタ上に表示します。

図1:サーボモータSG90Arduino UNOの接続例
#include <Servo.h>
Servo myservo;

void setup()   {
   Serial.begin(9600);                         //9600bpsでシリアルポートを開く
   myservo.attach(4, 500, 2400);   //4番ピンを出力ピンにする
}

void loop() {
   for (int i = 0; i < 180; i++) { //サーボの角度を0~180°迄1°づつ増加させる
       myservo.write(i);                                       //4番ピンにサーボ制御信号を出力
       delay(20);                                     //20ms待つ
   }
   for (int i = 180; i >= 0; i--) { //サーボの角度を180~0°迄1°づつ減少させる
       myservo.write(i);                                       //4番ピンにサーボ制御信号を出力
       delay(20);                                     //20ms待つ
   }
   Serial.println(myservo.read());                                   //iの値の後に改行を付けてシリアル出力します
}
イメージ 1
図1:プログラム例

■構文
 myservo.read()

■パラメータ
 myservo:接続先毎に設定する任意の接続名

■戻り値
 0度から180度までのサーボの角度。 

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る