#01 Začetnik ⏱ 15 min
ESP32: Utripajoča LED
Prvi program na vsakem mikrokrmilniku: prižiga in ugaša LED vsako sekundo. Naučiš se, kaj je digitalni izhod, zakaj je potreben upor in kako izgleda neskončna zanka loop().
Odpri interaktivno v 3D →Kaj se naučiš
pinMode / digitalWrite / delayRazlika anoda–katodaZakaj vedno upor z LEDKako stolpci breadboarda spajajo komponente
Potrebuješ
- ESP32 DevKit V1 — mikrokrmilnik z WiFi in Bluetooth
- Breadboard (preizkusna plošča) — povezovanje brez spajkanja
- Jumper žice — M–M, M–F, F–F
- LED dioda — svetleča dioda 5 mm
- Upor — 220 Ω, 1 kΩ, 10 kΩ …
Kako deluje
Tok teče v krogu: GPIO 2 → LED → upor → GND. Ko program zapiše digitalWrite(2, HIGH), se pin znotraj poveže na 3,3 V in tok steče — LED sveti. Z LOW gre pin na 0 V, ni razlike napetosti, ni toka — LED ugasne.
Funkcija setup() se izvede enkrat (povemo, da je pin izhod), loop() pa se ponavlja v nedogled. delay(1000) »zamrzne« procesor za 1000 ms — preprosto, a pozneje se bomo naučili boljši način z millis().
Vezava
| Od | Do | Zakaj |
|---|---|---|
| ESP32 · D2 (GPIO 2) | Anoda LED (+), stolpec 20 | Pin daje 3,3 V (HIGH) ali 0 V (LOW). Dolga nožica LED je v stolpcu 20, zato je vse v tem stolpcu (a–e) spojeno s pinom. |
| Katoda LED (−) | stolpec 21 | Tok zapusti LED skozi kratko nožico in gre v stolpec 21. |
| stolpec 21 | Upor 220 Ω → letev − | Upor omeji tok na (3,3 − 2)/220 ≈ 6 mA. Brez njega trpita LED in pin. |
| ESP32 · GND | letev − na breadboardu | Sklene zanko: tok se vrne v ESP32. Brez GND nič ne deluje. |
Korak za korakom
- Daj LED v stolpca 20 (dolga nožica, anoda) in 21 (kratka nožica, katoda), vrstica c.
- Upor 220 Ω: ena nožica v 21a, druga v letev − nad njo.
- Žica z D2 na ESP32 do luknjice 20a.
- Žica z GND na ESP32 do letve −.
- Priključi USB, v Arduino IDE izberi ploščico »DOIT ESP32 DEVKIT V1« in vrata, naloži kodo.
- LED utripa vsako sekundo. Spremeni vrednosti delay() in poglej, kaj se zgodi.
Koda (Arduino IDE)
// Projekt 1: Utripajoča LED
const int LED_PIN = 2; // D2 — hkrati tudi vgrajena modra LED
void setup() {
pinMode(LED_PIN, OUTPUT); // pin bo DAJAL napetost (izhod)
}
void loop() {
digitalWrite(LED_PIN, HIGH); // 3,3 V → LED sveti
delay(1000); // počakaj 1000 ms
digitalWrite(LED_PIN, LOW); // 0 V → LED ugasne
delay(1000);
}Tipične težave
LED ne sveti? Obrni jo — obrnjena polariteta je najpogostejša napaka.
Nalaganje stoji na »Connecting…«? Drži tipko BOOT, dokler se ne začne.
Vgrajena modra LED utripa tudi — zato, ker je tudi ona na GPIO 2.
Več projektov (še 7) z brezplačno prijavo v tečaju. Projekti →