「CDSセル」は光の当たる量によって抵抗値が変化する素子だそうで、昔のフィルムカメラの光量測定などけっこう古くからいろいろ利用されているみたいです。
「CDSセル」による光の変化を利用するとしたら、暗くなると道を明るく照らしてくれる「センサーライト」が一番に思いつきました。同様に冷蔵庫の照明?(これはタッチスイッチかな?)車のオートライトもそうでしょうか?
では、実験します。
- CDSセル:1個
- LED:1個
- ブレッドボード:1個
- 抵抗:330Ω(100~1Kくらい):2個
- ジャンパー線:4本
- Arduino本体:1個
- USBケーブル:1本(PC⇔Arduino接続用)
- パソコン:1台(ArduinoIDEインストール済)
配線しましょう。
LEDは13番へ CDSはA0番へ(極性なし)
ソースコードは以下の通りです。コピペして「書き込みCtrl+U」しましょう。
#define LEDPIN 13 // LEDを13番ピンに
#define THRESHOLD 920 // Cdsのしきい値(暗くなりこの値より高くなったらLEDを点灯する)
// Cds値をシリアルモニタで確認して、しきい値を決定
void setup() {
Serial.begin(9600) ; // 9600bpsでシリアル通信
pinMode(LEDPIN,OUTPUT) ; // 13番ピンにLED接続
}
void loop() {
int analogValue = analogRead(0) ; // A0番へつないだCdsから値を読み取る
Serial.println(analogValue) ; // 読み取った値を送る
if (analogValue >= THRESHOLD) { // Cds値でLEDをON/OFFする
digitalWrite(LEDPIN, HIGH) ; // 光がしきい値より暗くなったらLEDを点灯
} else {
digitalWrite(LEDPIN, LOW) ; // 光がしきい値より明るくなったならLEDを消灯
}
delay(1000) ; // 1秒待つ
}
Serial.begin(9600) ; // 9600bpsでシリアル通信
ArduinoIDE画面の右上にある🔎虫眼鏡みたいなシリアルモニタボタンを押して、今度は右下に出てくるプルダウンのbaudの種類を9600baudに設定しましよう。少しして現在のCDSセルの読み取り状況が表示されます。
「CDSセル」を指で押さえると、今まで数値が800台だったところ900台へ上昇し、ギュッとしっかりと押さえると1000を超えてきました。真っ暗闇になると、おそらく1023になると思われます。
#define THRESHOLD 920 // Cdsのしきい値(暗くなりこの値より高くなったらLEDを点灯する)
指で押さえて変化のあった920(適当にキリのいい所)にしてみました。
CDSを指などで覆うとLEDが点灯しました。
リンク
リンク
リンク