ESP32 - Meerdere LED’s knipperen

Deze tutorial legt uit hoe u de ESP32 programmeert om meerdere LED’s tegelijk te laten knipperen zonder de delay-functie te gebruiken.

Hardware Benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×LED Kit
1×LED (red)
1×220 ohm weerstand
1×Breadboard (experimenteerprint)
1×Jumper wires (verbindingskabels)
1×(Optioneel) DC Power Jack
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over LED

We hebben een specifieke tutorial over LED. Deze tutorial bevat gedetailleerde informatie en stap-voor-stap instructies over hardware pinout, werkingsprincipe, aansluitingen op de ESP32 en de ESP32 code.

Leer er meer over via de volgende link:

Wiring Diagram

ESP32 meerdere LED’s Aansluitschema

This image is created using Fritzing. Click to enlarge image

ESP32 Code - Meerdere LED’s knipperen

Om meerdere LED’s te laten knipperen, kunnen we de delay() functie niet gebruiken. In plaats daarvan maken we gebruik van de millis() functie en beheren we de tijdstempels (timestamps).

Tijdstempelbeheer bij het knipperen van meerdere LED’s kan voor beginners een uitdaging zijn. Gelukkig vereenvoudigt de ezLED bibliotheek dit proces door intern het beheer van tijdstempels voor zijn rekening te nemen. Zo hoeft u zelf geen tijdstempelbeheer te doen wanneer u deze bibliotheek gebruikt. Daarnaast kunt u de code overzichtelijker en compacter maken door gebruik te maken van een array van LED’s.

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-blink-multiple-led */ #include <ezLED.h> // ezLED library #define PIN_LED_1 16 // The ESP32 pin GPIO16 connected to LED 1 #define PIN_LED_2 17 // The ESP32 pin GPIO17 connected to LED 2 #define PIN_LED_3 18 // The ESP32 pin GPIO18 connected to LED 3 ezLED led1(PIN_LED_1); // create ezLED object that attach to pin PIN_LED_1 ezLED led2(PIN_LED_2); // create ezLED object that attach to pin PIN_LED_2 ezLED led3(PIN_LED_3); // create ezLED object that attach to pin PIN_LED_3 void setup() { Serial.begin(9600); led1.blink(500, 500); // 500ms ON, 500ms OFF, blink immediately led2.blink(200, 800); // 200ms ON, 800ms OFF, blink immediately led3.blink(200, 200); // 200ms ON, 200ms OFF, blink immediately } void loop() { led1.loop(); // MUST call the led1.loop() function in loop() led2.loop(); // MUST call the led2.loop() function in loop() led3.loop(); // MUST call the led3.loop() function in loop() // DO SOMETHING HERE }

Snelle Stappen

  • Als u ESP32 voor het eerst gebruikt, bekijk dan de handleiding voor het opzetten van de ESP32 omgeving in Arduino IDE.
  • Maak de bedrading zoals in bovenstaande afbeelding.
  • Verbind de ESP32 met uw PC via een micro USB-kabel.
  • Open Arduino IDE op uw PC.
  • Selecteer de juiste ESP32 board (bijv. ESP32 Dev Module) en COM-poort.
  • Klik op het Libraries-icoon in de linkerzijbalk van Arduino IDE.
  • Zoek op “ezLED” en vind de led library van ArduinoGetStarted.
  • Klik op de Installeren knop om de ezLED bibliotheek te installeren.
ESP32 led bibliotheek
  • Kopieer bovenstaande code en plak deze in Arduino IDE.
  • Compileer en upload de code naar uw ESP32 door op de Upload-knop te klikken.
Hoe ESP32 code uploaden in Arduino IDE
  • Controleer de status van de LED’s.

ESP32 Code - Meerdere LED’s knipperen met een array

De bovenstaande code kan geoptimaliseerd worden door gebruik te maken van een array van LED’s. De onderstaande code gebruikt een array om LED-objecten te beheren.

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-blink-multiple-led */ #include <ezLED.h> // ezLED library #define NUM_LED 3 // three LEDs #define PIN_LED_1 16 // The ESP32 pin GPIO16 connected to LED 1 #define PIN_LED_2 17 // The ESP32 pin GPIO17 connected to LED 2 #define PIN_LED_3 18 // The ESP32 pin GPIO18 connected to LED 3 ezLED ledArray[NUM_LED] = { ezLED(PIN_LED_1), // create ezLED object that attach to pin PIN_LED_1 ezLED(PIN_LED_2), // create ezLED object that attach to pin PIN_LED_2 ezLED(PIN_LED_3) // create ezLED object that attach to pin PIN_LED_3 }; void setup() { Serial.begin(9600); ledArray[0].blink(500, 500); // 500ms ON, 500ms OFF, blink immediately ledArray[1].blink(200, 800); // 200ms ON, 800ms OFF, blink immediately ledArray[2].blink(200, 200); // 200ms ON, 200ms OFF, blink immediately } void loop() { for (int i = 0; i < NUM_LED; i++) ledArray[i].loop(); // MUST call the led.loop() function in loop() // DO SOMETHING HERE }

Voor flexibel knipperen verwijzen we u naar andere functies van de ezLED bibliotheek.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u sneller te begrijpen hoe u meerdere LED’s met de ESP32 kunt laten knipperen.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!