[Arduino] 第5回 信号の入力

第4回では、デジタル信号を出力しました。

アナログ信号の入力

今回は、アナログ信号を入力してみましょう。

には、CDSセルが入っています。これは明暗によって抵抗が変わるものです。最近、暗くなると点灯するライトとかのたぐいですね。
プログラムは次のようになります。

int CDS_PIN = 0; //アナログA0のピンを使う
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //シリアルモニタで情報を見る。
}
void loop() {
// put your main code here, to run repeatedly:
int analog_val;
analog_val = analogRead(CDS_PIN);
Serial.println(analog_val); //シリアルモニタで出力する
delay(1000);
}

日付_CDSで保存しましょう。
次に、
次のように1k(茶黒赤金)とCDSセルを接続します。

コンパイルして、Arduinoに書き込みます。

ツールのシリアルモニタを開きます。

9600bpsになっていることを確認してみましょう。

1秒おきに数字が出るはずです。

抵抗がなければ、5vの電圧が流れているはずです。
明るいと230ぐらいの値になります。
一方、暗いと(手でCDSを覆うなど)56ぐらいの値になります。

このように明暗で値が変わるので、この変化を利用するのがIOTの基本になります。

デジタル信号

ここでは、サンプルは用意しませんが、デジタル信号の時は、

第4回でやったLチカで信号の出力をした

pinMode(ピン番号,OUTPUT)
の逆で
pinMode(ピン番号, INPUT)

を設定しておいて、値を知りたいときに

digitalRead(ピン番号);

とすると、デジタル信号を0,1で読み取ることができます。また使うときに紹介します。