ESP32 - WS2812B LED Strip
In deze tutorial gaan we leren hoe u een ESP32 kunt gebruiken om een WS2812B RGB LED strip aan te sturen. Met slechts één ESP32-pin:
- Kan de ESP32 de kleur van elke individuele LED op de led strip regelen
- Kan de ESP32 de helderheid van elke individuele LED op de led strip aanpassen
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables ESP32 Starterskit (ESP32 inbegrepen) | |
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over WS2812B RGB LED Strip
Pinout
De WS2812B RGB LED Strip heeft drie pinnen:
- GND pin: moet verbonden worden met GND (0V)
- VCC pin: moet aangesloten worden op 5V van een externe voeding
- Din pin: is de pin die het besturingssignaal ontvangt. Deze moet verbonden worden met een pin van de ESP32.
※ Notiz:
De volgorde van de pinnen kan verschillen per fabrikant. Gebruik ALTIJD de labels die op de LED Strip zijn gedrukt.
Bekabelingsschema

This image is created using Fritzing. Click to enlarge image
Als u niet weet hoe u ESP32 en andere componenten van stroom moet voorzien, vindt u instructies in de volgende tutorial: Hoe ESP32 van stroom te voorzien.
Hoe programmeer je de WS2812B RGB LED Strip
- Als u ESP32 voor het eerst gebruikt, bekijk dan eerst hoe u de omgeving instelt voor ESP32 in de Arduino IDE.
Er zijn twee libraries die u kunt gebruiken om een WS2812B led strip te besturen:
- Adafruit NeoPixel library.
- FastLED library.
In deze tutorial gebruiken we de Adafruit NeoPixel library.
- Declareer een WS2812B-object
- Initialiseer de WS2812B
- Stel de kleur in van elke individuele LED (pixel).
- Stel de helderheid in van de hele strip.
※ Notiz:
- WS2812B.setBrightness() past de helderheid aan voor alle pixels op de LED strip. Om de helderheid voor elke individuele pixel aan te passen, kunt u de kleurwaardes schalen.
- De waarden ingesteld door WS2812B.setBrightness() en WS2812B.setPixelColor() worden pas toegepast wanneer WS2812B.show() wordt aangeroepen.
ESP32 Code
De onderstaande code doet het volgende:
- Zet de pixels één voor één groen met een vertraging tussen elke pixel
- Zet alle pixels gedurende twee seconden uit
- Zet alle pixels tegelijkertijd rood aan gedurende twee seconden
- Herhaalt dit proces oneindig
Snelle Stappen
- Klik op het Libraries-icoon in de linkerzijbalk van de Arduino IDE.
- Zoek naar “Adafruit NeoPixel” en vind vervolgens de WS2812B-library van Adafruit.
- Klik op de Installeren-knop om de NeoPixel library te installeren.
- Kopieer bovenstaande code en open deze met de Arduino IDE.
- Klik op de Uploaden-knop in de Arduino IDE om de code naar de ESP32 te uploaden.
- Bekijk het LED-effect
※ Notiz:
Voor complexe LED-effecten bieden we ook een betaalde programmeerservice
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 stap voor stap begeleiden.