19. Regulácia jasu LED podľa intenzity svetla (Arduino + LDR)
Cieľom cvičenia je zostrojiť a naprogramovať svetelný regulátor, pri ktorom sa jas LED plynulo mení podľa intenzity dopadajúceho svetla.
Žiak sa naučí:
- pracovať s analógovým senzorom (fotorezistor – LDR),
- používať PWM výstup Arduina,
- prevádzať hodnoty zo senzora na riadiaci signál,
- pochopiť princíp analóg → digitál → analóg.
🧠 Princíp činnosti
Fotorezistor (LDR) mení svoju hodnotu v závislosti od intenzity svetla:
- viac svetla → vyššia hodnota z analógového vstupu,
- menej svetla → nižšia hodnota.
Arduino túto hodnotu:
- načíta zo vstupu A0,
- prepočíta na rozsah 0–255,
- použije ju na riadenie jasu LED pomocou PWM signálu.
➡️ Zakrytím senzora LED stmavne.
➡️ Odkrytím senzora LED zosilnie.
🧰 Použité súčiastky
- Arduino UNO
- Modul fotorezistora (LDR – Photoresistor sensor) zo sady Keyestudio KS0068
- LED dióda
- Rezistor 220–330 Ω
- Breadboard
- Prepojovacie vodiče
🔌 Zapojenie obvodu
Zapojenie LDR modulu
| LDR modul | Arduino UNO |
|---|---|
| VCC | 5V |
| GND | GND |
| AO | A0 |
Zapojenie LED
| LED | Arduino UNO |
|---|---|
| Anóda (dlhá noha) | D9 (PWM) cez rezistor 220–330 Ω |
| Katóda (krátka noha) | GND |
👉 Používame pin D9, pretože podporuje PWM.
🧩 Schéma zapojenia (textová)
Arduino UNO Breadboard
----------- -----------
5V ------------> + lišta
GND ------------> - lišta
LDR modul:
VCC ------------> + lišta
GND ------------> - lišta
AO ------------> A0
LED:
D9 --> [220Ω] --> |>| --> GND
💻 Program – regulácia jasu LED
const int LDR = A0;
const int LED = 9; // PWM pin
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
int lightValue = analogRead(LDR); // 0–1023
int brightness = map(lightValue, 0, 1023, 0, 255);
analogWrite(LED, brightness);
Serial.print("Svetlo: ");
Serial.print(lightValue);
Serial.print(" | Jas LED: ");
Serial.println(brightness);
delay(100);
}
🔎 Overenie funkcie
- Nahraj program do Arduino.
- Zakry senzor rukou → LED stmavne alebo zhasne.
- Odkry senzor alebo nasvieť mobilom → LED sa rozjasní.
- Sleduj hodnoty v Serial Monitore.
🧠 Dôležitá myšlienka
Arduino nevidí svetlo – vidí čísla, ktoré dokáže premeniť na riadenie.
⭐ Rozšírenie (pre rýchlejších žiakov)
- Otočte mapovanie (tmavšie = jasnejšia LED).
- Nastavte minimálny a maximálny jas.
- Zobrazte priebeh v Serial Plotteri.
- Porovnajte plynulú reguláciu s prahovým zapínaním LED.
❓ Kontrolné otázky
- Prečo musíme použiť PWM pin?
- Aký je rozdiel medzi
digitalWrite()aanalogWrite()? - Prečo mapujeme rozsah 0–1023 na 0–255?
🔗 Prepojenie na prax
Podobný princíp sa používa:
- pri automatickej regulácii osvetlenia,
- v smart budovách,
- v senzorických systémoch, kde hodnota senzora nevyvoláva alarm, ale riadi proces.


