一覧へ   前へ<<  >>次へ


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);
}


サーボのつなぎ方はこちらのサイトを参照。

http://jkoba.net/prototyping/arduino/rc_servo_practice.html




デジタル出力のサンプル

例えば、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);
}