3Dプリント

Arduinoシミュレータ UnoArdusim サーボ編 No.4

今回は、アナログ入力の値でサーボの位置を指示するプログラムです。
アナログ入力A3にスライド式のボリュームを接続して、出力ピン9に接続したサーボをコントロールします。

Arduinoのアナログ入力の分解能は10bitなので 0V~5Vの信号が 0~1023の数値として取り込まれます。
この0~1023をサーボのコントロール信号0~180に変換してサーボをコントロールします。
これは アナログ入力値/5.67で計算できます。

以下がプログラムと UnoArdusim の設定(赤で囲んだ部分)です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//***********************************************************
// サーボモーターを動かすプログラム No.6
// 博多電子工作室 2015/07/27
//***********************************************************
#include <Servo.h>  //サーボモーター用ライブラリを読み込み
Servo myservo; 		//サーボ用のオブジェクトを作成
int val; 			//サーボの角度を格納するための変数
int analogPin = 3;	// アナログ入力にPin A3を使う
 
void setup()
{
	myservo.attach(9); //デジタル9番ピンをサーボの角度命令出力ピンとして設定
}
void loop()
{
	val = analogRead(analogPin);    //アナログピンを読み取る;
	myservo.write(val/5.67); 		//アナログ入力値 0~1023を 0~180に変換してサーボをまわす。
	delay(100);						// 100msのウェイト
}

アナログ入力によるサーボの制御

123D Circuit版はこちら


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です