🤖
エンジくん
夜になると自動で光る街灯、仕組みが気になったことない?今日はCdSセルという光センサーを使って、暗くなったら自動でLEDが光る街灯を作ろう!
1このレッスンで学ぶこと
- 💡 CdSセル(フォトレジスタ) — 光で変わる抵抗
- ⚡ 分圧回路 — 2つの抵抗で電圧を分ける
- 📊 しきい値 — 明るさの境界線を決める
- 🌙 自動街灯 — 暗くなったらLED ON、明るくなったらOFF
- 🎮 街灯シミュレーター — スライダーで昼夜を再現!
2用意するもの
3CdSセルと分圧回路のしくみ
🌤️ CdSセルってなんだろう?
CdSセル(フォトレジスタ)は光の強さによって抵抗値が変わる部品です。
☀️
明るいとき
抵抗値 小(数kΩ)
→ 電流がよく流れる
🌙
暗いとき
抵抗値 大(数百kΩ)
→ 電流がほとんど流れない
⚡ 分圧回路のしくみ
分圧回路の配線図
☀️ 明るいとき
CdS抵抗小 → A0電圧高 → analogRead 大
🌙 暗いとき
CdS抵抗大 → A0電圧低 → analogRead 小
💡 街灯ロジック
if (light < 400)
→ LED ON !
4コードを見てみよう
const int CDS = A0;
const int LED = 9;
const int THRESHOLD = 400; // しきい値(環境に合わせて調整)
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
int light = analogRead(CDS); // 0〜1023
Serial.print("光の値: ");
Serial.println(light);
if (light < THRESHOLD) {
// 暗い → 街灯ON
digitalWrite(LED, HIGH);
Serial.println("🌙 暗い→LED ON");
} else {
// 明るい → 街灯OFF
digitalWrite(LED, LOW);
}
delay(200);
}
💡 THRESHOLDの決め方:まずシリアルモニターで値を観察しよう。手で覆ったときと明るいときの中間の値がしきい値の目安です!
5回路のつなぎ方
6実際につないでみよう!
7クイズに挑戦!
🤖
エンジくん
CdSと分圧回路の組み合わせは、センサーの基本中の基本!しっかり覚えよう。
クイズを読み込み中…
8街灯シミュレーター 🌙
🤖
エンジくん
スライダーを左に動かして夜にしてみよう!暗くなると街灯が自動で点灯するよ!
9まとめ
- ✅ CdSセルは明るいと抵抗小・暗いと抵抗大
- ✅ 分圧回路でCdSの変化をアナログ値として読む
- ✅ シリアルモニターで実際の値を観察してしきい値を決める
- ✅
if (light < THRESHOLD)で暗さを判断してLEDをON - ✅ センサー+しきい値+if文 = 自動化の基本パターン!