用意するもの
ボリューム×1
Arduino
コード
アナログ値を取得
1 2 3 4 5 6 7 8 9 10 11 12 |
int val; void setup(){ Serial.begin(9600); } void loop(){ val = analogRead(0); Serial.print("Value: "); Serial.println(val); delay(1000); |
コード補足
Serial.begin(9600);
9600bpsで通信開始
val = analogRead(0)
A0ピンから値を取得し、”val”に代入する
Serial.print(“Value: “);
Serial.println(“val: “);
出力にValue: valの値を表示させ、printlnで改行する
delay(1000)
1秒毎
電圧値を計算
アナログ値から電圧値に変換し、出力します。
・Arduinoは0-1023の値を読みとる(1024個の値)
・つまり、0が最小値で、1023が最大値
・今回5V入力に対して,ボリュームを入れているため、0Vが最小、5Vが最大となる。
・Arduino:0で電圧:0V、 Arduino:1024で電圧:5V
・5Vを1024個で割ると、1個あたりの値は0.0049になる。
・Arduinoのアナログ出力”1″に対して、電圧は”0.0049V”という計算になる。
・アナログ値 * 0.0049 =実際の電圧値となる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
//変数定義 int val; float val2; //設定 void setup(){ Serial.begin(9600); } //動作 void loop(){ val = analogRead(0); val2 = val * 5.0/1024.0; //表示 Serial.print(val2); Serial.println(" V"); //周期 delay(1000); } |
コード補足
float val2
val2は小数点表示とするため、”float”型とする
val = analogRead(0);
val2 = val * 5.0/1024.0;
A0ピンからアナログ値を読取り、valに代入
アナログ値×5/1024で電圧に変換する