Lekce 2

Řízení LED PWMkou

Tentokrát LED jen nerozsvítíte – necháte ji plynule rozsvěcet a zhasínat, jako by „dýchala“. Naučíte se k tomu pulzně šířkovou modulaci (PWM), jednoduchý trik, kterým Arduino řídí nejen jas LED, ale třeba i otáčky motorů.

🧩Co budeš potřebovat
Arduino USB kabel 1× LED Rezistor 220 Ω Breadboard Propojovací vodiče
🔌Zapojení
Schéma zapojení – řízení LED PWMkou

Popisek obrázku: delší nožka LED (anoda, +) vede přes rezistor 220 Ω na pin 9, kratší nožka (katoda, −) jde na GND. Pin 9 je důležitý – je to jeden z pinů, které umí PWM (na desce bývá označený vlnovkou ~).

🔗Připojení pinů
KomponentaArduino
LED + (delší nožka) přes rezistor 220 Ωpin 9 (~)
LED − (kratší nožka)GND
💡Jak to funguje

Arduino umí na běžném pinu posílat jen dvě hodnoty – zapnuto (5 V) a vypnuto (0 V). Jak tedy LED rozsvítit jen napůl? Pomůže PWM (pulzně šířková modulace): pin se velmi rychle zapíná a vypíná a podle toho, jak velkou část času je zapnutý (tomu se říká střída), se mění výsledný jas. Když je zapnutý jen krátce, LED svítí slabě; když většinu času, svítí jasně. Přepínání je tak rychlé, že ho oko nevidí jako blikání – vidí plynulou změnu jasu. V kódu k tomu slouží příkaz analogWrite() s hodnotou 0 (zhasnuto) až 255 (plný jas).

Dobré vědět: PWM funguje jen na některých pinech Arduina – poznáte je podle vlnovky ~ u čísla (na Uno jsou to piny 3, 5, 6, 9, 10 a 11). Na ostatních pinech analogWrite() nefunguje.

Postup
  1. Sestavte obvod podle schématu – LED přes rezistor 220 Ω na pin 9, druhou nožku na GND.
  2. Zkopírujte kód do Arduino IDE.
  3. Zkompilujte ho a nahrajte do Arduina.
</>Kód
lekce02_rizeni_led_pwmkou.ino
// Řízení LEDky PWMkou
// LEDka se bude pomalu rozsvěcovat a zhasínat, dokola
// Email: podpora@laskakit.cz · Web: laskakit.cz

const int ledPin = 9;   // číslo pinu LEDky (musí umět PWM ~)

void setup() {
  pinMode(ledPin, OUTPUT);   // nastavení pinu LEDky jako výstupu
}

void loop() {
  for (int a = 0; a <= 255; a++) {   // smyčka od 0 do 255
    analogWrite(ledPin, a);             // nastavit jas LEDky
    delay(8);                          // počkat 8 ms
  }
  for (int a = 255; a >= 0; a--) {   // smyčka od 255 do 0
    analogWrite(ledPin, a);             // nastavit jas LEDky
    delay(8);                          // počkat 8 ms
  }
  delay(800);                            // počkat 800 ms
}
Výsledek
💡
Po nahrání bude LED plynule zesilovat a slábnout – pomalu se rozsvítí do plného jasu, zase zhasne a celé se to dokola opakuje. Vypadá to, jako by „dýchala“. Jakmile tohle vidíte, máte PWM zvládnuté.
Časté chyby
?Kontrolní otázka

QJak PWM dosáhne toho, že LED svítí „napůl“?