01. Arduino:Dve LED – striedavé blikanie

01. Arduino:Dve LED – striedavé blikanie

Ciele hodiny

  • zopakovať digitálne výstupy pinMode() a digitalWrite(),
  • 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

  1. LED1
    • anóda (dlhšia nožička) → digitálny pin 8 cez rezistor 220 Ω,
    • katóda (kratšia nožička) → GND.
  2. 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

  1. Zmeň čas oneskorenia tak, aby LED blikali rýchlejšie (napr. 200 ms) a pomalšie (napr. 1000 ms).
  2. Skús pridať tretí stav, v ktorom svietia obe LED naraz.
  3. Vymysli vlastnú „blikaciu sekvenciu“ so štyrmi stavmi a nakresli ju do tabuľky:
StavLED1LED2Č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

  1. LED
    • anóda LED → digitálny pin 8 cez rezistor 220 Ω,
    • katóda LED → GND.
  2. 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

  1. Zmeraj multimetrom napätie na bežci potenciometra pri rôznych polohách a zapíš ho spolu s potValue (napr. si ho vypíš cez Serial.println()).
  2. Zmeň rozsah map() tak, aby sa dalo nastaviť ultrarýchle blikanie (10–200 ms).
  3. 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.

Pridaj komentár