第5回 AD変換
1.やってみよう
(1) 図1に示す実験回路を作りなさい。
図1.実験回路
(2) Arduinoのプログラミング環境に、つぎのプログラムを入力しなさい。
int x; void setup() { Serial.begin(9600); } void loop() { x = analogRead(0); Serial.println(x); delay(200); }
(3) 書き込みボタンを押してプログラムを実行し、シリアルモニタを使って可変抵抗の値を確認しなさい。
2.解説
0Vから5Vまでの電圧を多段階の信号に変換することをAD変換と呼ぶ。
図2に示すように、Arduinoの場合、アナログ入力の量子化精度は10bitになっており、0Vから5Vまでの電位を、0から1023までの値に変換してマイコンボードに入力することができるようになっている。
図2.ArduinoのAD変換
3.課題
(1) 明るさセンサを使って、周囲が暗くなるにしたがって、しだいにLEDが明るく発光するプログラムを作りなさい。
(2) 距離センサを使って、距離センサに手をかざすと手の位置によって音の高さが変化する楽器を作りなさい。
4.ヒント
明るさセンサを使って、明るさを計測する回路を図3に示す。
図3.明るさセンサの実験回路
つぎのプログラムは、この明るさセンサを使って計測した明るさを、0から1023の値に変換して表示するものになっている。
int x; void setup() { Serial.begin(9600); } void loop() { x = analogRead(0); Serial.println(x); delay(200); }
距離センサを使って、距離を計測する回路を図4に示す。
図4.距離センサの実験回路
つぎのプログラムは、この距離センサを使って計測した距離を、cmを単位として表示するものになっている。
int x; int y; void setup() { Serial.begin(9600); } void loop() { x = analogRead(0); y = (6787 / (x - 3)) - 4; Serial.println(y); delay(200); }
Last Modified: June 14 12:00 JST 2016 by Naofumi Aoki
E-mail: aoki@ime.ist.hokudai.ac.jp