01. Arduino:Dve LED – striedavé blikanie
Ciele hodiny
- zopakovať digitálne výstupy
pinMode()adigitalWrite(), - pochopiť princíp striedavého blikania dvoch LED,
- napísať jednoduchý program s opakujúcou sa sekvenciou.
Potrebné súčiastky
- Arduino UNO (žiak) / MEGA (učiteľ),
- 2× LED dióda (ľubovoľná farba),
- 2× rezistor 220–330 Ω,
- prepojovacie vodiče,
- breadboard.
Zapojenie
- LED1
- anóda (dlhšia nožička) → digitálny pin 8 cez rezistor 220 Ω,
- katóda (kratšia nožička) → GND.
- LED2
- anóda → digitálny pin 9 cez rezistor 220 Ω,
- katóda → GND.
(Učiteľ na MEGA môže použiť rovnaké piny 8 a 9.)
Program – striedavé blikanie
// Striedavé blikanie dvoch LED
// Stránka 6 - ovy.sk
const int LED1 = 8;
const int LED2 = 9;
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
}
void loop() {
// Stav 1: LED1 svieti, LED2 zhasnutá
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
delay(500); // čakaj 500 ms
// Stav 2: LED1 zhasnutá, LED2 svieti
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
delay(500); // čakaj 500 ms
}
Úlohy pre žiaka
- Zmeň čas oneskorenia tak, aby LED blikali rýchlejšie (napr. 200 ms) a pomalšie (napr. 1000 ms).
- Skús pridať tretí stav, v ktorom svietia obe LED naraz.
- Vymysli vlastnú „blikaciu sekvenciu“ so štyrmi stavmi a nakresli ju do tabuľky:
| Stav | LED1 | LED2 | Čas (ms) |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 |
Stránka 7: Blikanie LED s nastaviteľnou rýchlosťou (potenciometer)
Ciele hodiny
- zoznámiť sa s analógovým vstupom
analogRead(), - pochopiť mapovanie hodnoty 0–1023 na čas oneskorenia,
- ovládať rýchlosť blikania LED potenciometrom.
Potrebné súčiastky
- Arduino UNO / MEGA,
- 1× LED dióda,
- 1× rezistor 220–330 Ω,
- 1× potenciometer (10 kΩ),
- breadboard, vodiče.
Zapojenie
- LED
- anóda LED → digitálny pin 8 cez rezistor 220 Ω,
- katóda LED → GND.
- Potenciometer
- jeden kraj potenciometra → 5 V,
- druhý kraj → GND,
- stredný vývod (bežec) → analógový pin A0.
Program – rýchlosť blikania podľa potenciometra
// Blikanie LED s nastaviteľnou rýchlosťou
// Stránka 7 - ovy.sk
const int LED_PIN = 8;
const int POT_PIN = A0;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
// Prečítame hodnotu z potenciometra (0 až 1023)
int potValue = analogRead(POT_PIN);
// Premapujeme ju na čas oneskorenia v milisekundách
// Napr. 0 -> 50 ms, 1023 -> 1000 ms
int delayTime = map(potValue, 0, 1023, 50, 1000);
// Blikanie LED
digitalWrite(LED_PIN, HIGH);
delay(delayTime);
digitalWrite(LED_PIN, LOW);
delay(delayTime);
}
Úlohy pre žiaka
- Zmeraj multimetrom napätie na bežci potenciometra pri rôznych polohách a zapíš ho spolu s
potValue(napr. si ho vypíš cezSerial.println()). - Zmeň rozsah
map()tak, aby sa dalo nastaviť ultrarýchle blikanie (10–200 ms). - Rozšír program o druhú LED na pine 9:
- pri nižšom napätí (otočený potenciometer doľava) bliká len LED1,
- pri vyššom napätí blikajú obe LED naraz.


