一覧へ 前へ<< >>次へ
Arduino Uno で遊ぶ (2019年03月30日更新)
電圧測定テスト |
ANALOG IN のA0に赤線をつなぎ、GNDに白線をつなぐ。 下のスケッチ(プログラム)をアップロード。 ツール → シリアルモニタ 、で表示。(シリアルプロッターもあり)
5Vまで測定が可能。電池を測定し、テスターで測ったところ、ほぼ同じ値であった。
参考: http://hsh.s2jp.com/2011/09/arduino-voltmeter/
---以下、プログラム---
void setup() { // put your setup code here, to run once: 電圧測定テスト Serial.begin(9600); } void loop() { double value; value = analogRead(0) ; value *= 5; value /= 1024; Serial.println(value); delay(100); }
|
|
|
---|
小型ボリュームの抵抗器の両側にArduinoから5Vをかけ、 真ん中と左の電圧を測定。
ボリュームをねじると値がかわることを確認。 |
ボリュームの抵抗値変化でサーボを動かしてみました。 |
#include
Servo myservo;
int pos = 0;
void setup() { // 電圧測定+サーボテスト myservo.attach( 9 ); Serial.begin(9600); } void loop() { double value; value = analogRead(0) ; value *= 90; value /= 1024; pos = value; Serial.println(pos);
myservo.write( pos );
delay(20); }
|
デジタル出力のサンプル |
例えば、CdSで明るさを測り、電圧が一定の値になったらLEDライトをつける、とかができる。
void setup() { // 電圧測定+デジタル出力
Serial.begin(9600); pinMode(13,OUTPUT); } void loop() { double value; value = analogRead(0) ; value *= 5; value /= 1024;
Serial.println(value);
if (value > 3 ) { digitalWrite(13,HIGH) ; } else { digitalWrite(13,LOW) ; } delay(100); }
|
シリアルプロッター |

こんな感じで表示される。
|
電圧測定+デジタル出力 |
|
---|
void setup() { // 電圧測定+デジタル出力
Serial.begin(9600); pinMode(13,OUTPUT); } void loop() { double Voltage = 3.05; double value; value = analogRead(0) ; value *= 5; value /= 1024;
Serial.println(value);
if (value > Voltage ) { digitalWrite(13,HIGH) ; delay(5000); } else { digitalWrite(13,LOW) ; } delay(100); } |
|