Search Code

ESP32 Tutorijal 5/55 - LED Fade, kontrola svjetline LED-a - ESP32 IoT Learning kit

ESP32 Tutorijal 5/55 - LED Fade, kontrola svjetline LED-a - ESP32 IoT Learning kit

Ovaj tutorijal pokazuje kako kontrolisati svjetlinu LED diode koristeći ESP32 mikrokontroler, konkretno SunFounder ESP32 IoT Learning Kit (u videu na 00:04). Ovaj projekat je idealan za početnike koji uče o pulsnoj širinskoj modulaciji (PWM) i njenim primjenama u kontroli intenziteta izvora svjetlosti. Ugrađene PWM mogućnosti ESP32-a omogućavaju glatku, preciznu kontrolu, otvarajući svijet mogućnosti za kreativne projekte.

Praktične primjene:

  • Kreiranje ambijentalnih sistema osvjetljenja sa podesivom svjetlinom.
  • Izgradnja jednostavnog noćnog svjetla sa postepenim zatamnjivanjem.
  • Razvoj dinamičkog indikatorskog svjetla za različita stanja (npr. niska baterija, mrežna veza).
  • Integracija sa drugim senzorima i aktuatorima za kreiranje složenih interaktivnih instalacija.

Hardver/Komponente

Projekat koristi SunFounder ESP32 Starter Kit (u videu na 00:12), koji uključuje ESP32 mikrokontroler, produžnu ploču, različite komponente i 18650 litijumsku bateriju. Također će vam trebati LED dioda i otpornik od 220 oma (u videu na 04:32).

Vodič za povezivanje

Pogledajte šemu povezivanja u videu (u videu na 01:46 i 04:18) i detaljno objašnjenje na vremenskoj oznaci 04:40. Povezivanje uključuje spajanje anode LED diode na otpornik, otpornika na GPIO 26 pin ESP32-a, i katode LED diode na masu.

LED_sa_otpornikom


LED dioda u seriji sa otpornikom od 220 oma.  Ispod je povezivanje na breadboard ploči. 

LED_fade_ESP32

Objašnjenje koda

Arduino kod koristi pulsnu širinsku modulaciju (PWM) za kontrolu svjetline LED diode. Ključni podesivi dijelovi su:

  • ledPin: Definira GPIO pin spojen na LED diodu (u videu na 09:41, postavljen na 26). Promijenite ovo ako koristite drugi pin.
  • fadeAmount: Kontroliše brzinu kojom se mijenja svjetlina LED diode (u videu na 10:06). Veća vrijednost rezultira bržim zatamnjivanjem. Kod automatski mijenja smjer kada svjetlina dostigne minimalnu (0) ili maksimalnu (255) vrijednost (u videu na 11:44).

const int ledPin = 26;  // GPIO pin za LED diodu
int brightness = 0;
int fadeAmount = 5;

void setup() {
  ledcAttachPin(ledPin, 0); // Prikači pin na PWM kanal
}

void loop() {
  ledcWrite(ledPin, brightness); 
  brightness = brightness + fadeAmount;
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(50); 
}

Živi projekat/Demonstracija

Video prikazuje LED diodu koja se zatamnjuje u akciji (u videu na 14:51). Instruktor pokazuje kako podesiti varijablu fadeAmount za kontrolu brzine zatamnjivanja (u videu na 15:16 i 15:51). Proces uploada koda na ESP32 također je prikazan (u videu na 14:20).

Poglavlja

  • [00:00] Uvod i pregled projekta
  • [00:12] Pregled ESP32 Starter Kita
  • [01:46] Šema povezivanja i objašnjenje
  • [02:03] Digitalni signali i PWM
  • [04:18] Povezivanje LED diode
  • [06:33] Objašnjenje koda: Funkcije
  • [09:11] Objašnjenje koda: Zatamnjivanje LED diode
  • [13:33] Upload koda
  • [14:51] Živa demonstracija i podešavanja

Images

LED_fade_ESP32
LED_fade_ESP32
LED_with_Resistor
LED_with_Resistor
791-ESP32 Tutorial 5/55 - LED Fade, control brightness of an LED in Arduino
Language: C++
const int ledPin = 26;  // The GPIO pin for the LED
int brightness = 0;
int fadeAmount = 5;

void setup() {
  ledcAttach(ledPin, 5000, 8);  // Attach the LED pin
}

void loop() {
  ledcWrite(ledPin, brightness);  // Write the new brightness value to the PWM pin
  brightness = brightness + fadeAmount;
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(50);  // Wait for 50 milliseconds
}

Resources & references

No resources yet.

Files📁

No files available.