ESP32 - LED Strip

In deze handleiding leert u hoe u een ESP32 programmeert om een LED strip aan te sturen en licht te laten uitstralen.

Hardware Benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×Relais
1×12V 1-kleur LED-Strip
1×12V RGB LED-Strip
1×12V Voeding
1×DC-Stroomaansluiting
1×Jumperdraden
1×(Alternatief) 24V 1-kleur LED-Strip
1×(Alternatief) 24V RGB LED-Strip
1×(Alternatief) 24V Voeding
1×(Optioneel) 5V Voeding voor ESP32
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 Strip

Een LED strip, ook wel LED tape of LED lint genoemd, is een flexibele printplaat met oppervlak gemonteerde LEDs die licht uitstralen. Deze strips zijn veelzijdig en worden veel gebruikt voor decoratieve verlichting in diverse toepassingen. LED strips zijn verkrijgbaar in verschillende kleuren en worden vaak gebruikt voor sfeerverlichting, accentverlichting of decoratieve lichteffecten.

LED strips zijn er in twee hoofdtypen:

  • Addressable LED strips: hierbij kunnen kleur en helderheid van elke individuele LED op de strip onafhankelijk worden aangestuurd. Dit is mogelijk omdat elke LED een specifiek adres heeft.
  • Non-Addressable LED strips: bij deze strips worden kleur en helderheid uniform op alle LEDs toegepast, er is geen individuele aansturing.

Deze handleiding richt zich op Non-Addressable LED Strips. Voor Addressable LED Strips verwijzen wij naar de volgende tutorials:

Pinout Non-Addressable LED Strip

Non-Addressable LED Strips zijn er in twee hoofdtypen:

  • Non-Addressable 1-kleur LED strip: slechts één kleur, bepaald door de fabrikant.
  • Non-Addressable RGB LED strip: alle kleuren mogelijk.

Een Non-Addressable 1-kleur LED Strip heeft meestal twee pinnen:

  • 12V/24V pin: moet worden aangesloten op de positieve uitgang van een 12V of 24V DC voeding
  • GND pin: moet worden aangesloten op de negatieve uitgang van een 12V of 24V DC voeding

Een Non-Addressable RGB LED Strip heeft meestal vier pinnen:

  • 12V/24V pin: moet worden aangesloten op de positieve uitgang van een 12V of 24V DC voeding
  • R pin: deze pin regelt de rode kleur. Door deze pin te verbinden met de negatieve pool van de voeding wordt de rode kleur actief
  • G pin: deze pin regelt de groene kleur. Door deze pin te verbinden met de negatieve pool van de voeding wordt de groene kleur actief
  • B pin: deze pin regelt de blauwe kleur. Door deze pin te verbinden met de negatieve pool van de voeding wordt de blauwe kleur actief
ESP32 non-addressable led strip Pinout

We leren hoe we beide types met ESP32 één voor één kunnen aansturen.

Hoe een Non-Addressable 1-kleur LED strip te besturen

Als een 12V LED strip wordt gevoed met een 12V voeding, zal deze licht uitstralen. Om de 12V LED strip te kunnen aansturen, gebruiken we een relais tussen de ESP32 en de LED strip. De ESP32 kan via het relais de 12V LED strip bedienen. Bent u niet bekend met relais, inclusief de pinout, werking en programmering? Leer er meer over in de ESP32 - Relay tutorial.

Bedradingsschema

Bedradingsschema tussen ESP32 en Non-Addressable 1-kleur LED strip

ESP32 12V LED strip Wiring Diagram

This image is created using Fritzing. Click to enlarge image

Bedradingsschema tussen ESP32 en Non-Addressable RGB LED strip

ESP32 12V LED strip Wiring Diagram

This image is created using Fritzing. Click to enlarge image

ESP32 Code

ESP32 Code om Non-Addressable 1-kleur LED strip te besturen

De onderstaande code schakelt de LED strip herhaaldelijk 5 seconden aan en 5 seconden uit,

/* * 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-led-strip */ #define LED_STRIP_PIN 16 // The ESP32 pin GPIO16 controls to the LED strip via relay void setup() { Serial.begin(9600); // initialize ESP32 pins as digital output pins pinMode(LED_STRIP_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { Serial.println("The LED strip is turned on"); digitalWrite(LED_STRIP_PIN, HIGH); delay(5000); Serial.println("The LED strip is turned off"); digitalWrite(LED_STRIP_PIN, LOW); delay(5000); }

ESP32 Code om Non-Addressable RGB LED strip te besturen

De onderstaande code bestuurt herhaaldelijk de kleur van de RGB LED strip (rood, groen, blauw, geel, magenta, cyaan en wit):

/* * 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-led-strip */ #define BLUE_PIN 23 // The ESP32 pin GPIO23 connects to the blue pin of LED strip via relay 1 #define RED_PIN 22 // The ESP32 pin GPIO22 connects to the red pin of LED strip via relay 2 #define GREEN_PIN 21 // The ESP32 pin GPIO21 connects to the green pin of LED strip via relay 3 void setup() { Serial.begin(9600); // initialize ESP32 pins as digital output pins pinMode(BLUE_PIN, OUTPUT); pinMode(RED_PIN, OUTPUT); pinMode(GREEN_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { Serial.println("The LED strip is turned red"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned green"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned blue"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned yellow"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned magenta"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned cyan"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned white"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, HIGH); delay(2000); }

Snelle Stappen

  • Als u voor het eerst met ESP32 werkt, bekijk dan hoe u de omgeving instelt voor ESP32 op Arduino IDE.
  • Maak de bedrading volgens bovenstaande afbeelding.
  • Sluit de ESP32 aan op uw pc via een micro USB-kabel.
  • Open Arduino IDE op uw pc.
  • Selecteer het juiste ESP32 board (bijv. ESP32 Dev Module) en de juiste COM-poort.
  • Sluit ESP32 aan op de pc via USB-kabel.
  • Open Arduino IDE, selecteer het juiste board en poort.
  • Kopieer bovenstaande code en open deze in Arduino IDE.
  • Klik op de Upload-knop in Arduino IDE om de code naar de ESP32 te uploaden.
  • Controleer de status van de LED strip.

Code Uitleg

Lees de regel-voor-regel uitleg in de commentaarregels van de code!

Let op: voor het aansturen van helderheid en andere kleuren van een non-addressable LED strip is het noodzakelijk om gebruik te maken van de L298N driver in plaats van een relais.

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.

※ 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!