1
0

More than 1 year has passed since last update.

Arduinoで明るさを測定

Last updated at Posted at 2021-10-07

明るさセンサー(CdS)で明るさを測定する

CdSセル
10kΩ抵抗

CdSセルは暗いところにおくとセンサーの抵抗値が大きくなり、明るいところに置くと抵抗値が低くなる性質を持っています。その特徴を利用して、明るさセンサーとして使ってみましょう。

配線

ブレッドボードを使って
Arduinoの5Vー10kΩの抵抗ーCdSセルーArduinoのGND
の流れができるような配線をします。
その後、10kΩの抵抗とCdSセルが繋がっている列からArduinoのA1ピンに配線します。

スクリーンショット 2021-10-28 20.28.47.png

プログラム

下記のプログラムをコピペし、Arduinoに書き込んでください。
書き込む前にArduinoの設定でやったボードの設定とシリアルポートの設定を忘れずに。

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  int val=0;
  val=analogRead(1);
  Serial.println(val);
  delay(500);
  
}

シリアルモニタで数値を確認

図の赤枠の部分を押すとシリアルモニタが表示されるので、明るさセンサーで観測された値が表示されます。
暗くすると、数値が大きくなります。

スクリーンショット 2023-03-07 10.24.54.png

シリアルモニタの様子

small___________2018-10-25_14.44.40.png

ポイント

ポイント1:アナログ入力

デジタルは01の世界と言われますが、Arduinoの例でいうと0=0V(LOW)、1=5V(HIGH)です。
つまり、Lチカの例で行ったデジタル出力は0Vか5Vのどちらかしかない出力です。
しかし、アナログは連続した値です。0〜5Vの値の間のどの値でも取れます。
今回の明るさセンサーは明るさ、暗さを数値で表したいのでアナログピンを使います。
ただし、アナログ入力は0-5Vの入力電圧を0-1023の値に変換されます。
0→0V
1023→5V

ポイント2:読み取り方法

val=analogRead(1);
はアナログ1番ピン(A1)の値を読むことを意味しています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0