ESP32 - RGB LED
Deze tutorial legt uit hoe u een RGB LED kunt aansturen zodat deze elke gewenste kleur kan weergeven met behulp van de ESP32.
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 RGB LED
Een RGB LED kan elke kleur uitstralen door de drie basiskleuren rood, groen en blauw te mengen. Een enkele RGB LED bestaat uit 3 LED's: rood, groen en blauw. Deze drie LED's zijn verpakt in één behuizing, zodat het lijkt alsof het één enkele LED is.
RGB LED Pinout
RGB LED heeft vier pinnen:
- R (red) pin: regelt het rode kleurelement
- G (green) pin: regelt het groene kleurelement
- B (blue) pin: regelt het blauwe kleurelement
- Common (Cathode-) pin: sluit deze pin aan op GND (0V)

Om de RGB LED op de ESP32 aan te sluiten, moeten we stroombeperkende weerstanden toevoegen. Dit maakt het aansluiten soms wat ingewikkelder. Gelukkig kunnen we een RGB LED module gebruiken die al ingebouwde stroombeperkende weerstanden bevat.
Een RGB LED Module heeft ook vier pinnen:
- Common (Cathode-) pin: moet verbonden worden met GND (0V)
- R (red) pin: wordt gebruikt om rood aan te sturen
- G (green) pin: wordt gebruikt om groen aan te sturen
- B (blue) pin: wordt gebruikt om blauw aan te sturen

※ Notiz:
Op basis van de gemeenschappelijke pin zijn er twee soorten LED's: common anode en common cathode. Deze tutorial gebruikt een common cathode LED.
Hoe werkt de RGB LED
In fysische termen is een kleur een combinatie van drie kleurelementen: Rood (R), Groen (G) en Blauw (B). Elk kleurelement heeft een waarde van 0 tot 255. Door de combinaties van deze drie kleurelementen ontstaan er in totaal 256 x 256 x 256 mogelijke kleuren.
Als we PWM-signalen (Pulse Width Modulation) sturen naar de R, G en B pinnen, toont de RGB LED een kleur die overeenkomt met de duty cycle waardes van deze PWM-signalen. Door de duty cycle aan te passen (van 0 tot 255), kan de RGB LED elke gewenste kleur weergeven. De kleurwaarden van Rood (R), Groen (G) en Blauw (B) komen overeen met de PWM duty cycle op de R-, G- en B-pinnen respectievelijk.
Bekabelingsschema tussen RGB LED en ESP32
- Bekabelingsschema voor ESP32 aangesloten op een RGB LED

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.
- Bekabelingsschema voor ESP32 aangesloten op een RGB LED module

This image is created using Fritzing. Click to enlarge image
Hoe RGB LED aan te sturen
Laten we aannemen dat we de kleur #00979D op de RGB LED willen weergeven, dan kunnen we de volgende stappen volgen:
- Zoek de kleurcode. Tips:
- U kunt de gewenste kleurcode kiezen via de color picker
- Wilt u de kleur uit een afbeelding halen, gebruik dan online de tool Colors From Image
- Converteer de kleurcode naar R, G, B waarden met behulp van de tool van w3schools. Noteer deze waarden. In dit geval: R = 0, G = 151, B = 157

- Definieer de ESP32-pinnen die verbonden worden met de R, G en B pinnen. Bijvoorbeeld:
- Stel deze ESP32-pinnen in als output
- Stuur de LED aan om die kleur uit te zenden (#00979D → R = 0, G = 151, B = 157)
ESP32 - RGB LED Voorbeeldcode
De onderstaande code verandert de kleur van de LED achtereenvolgens tussen de volgende kleuren:
- #00C9CC (R = 0, G = 201, B = 204)
- #F7788A (R = 247, G = 120, B = 138)
- #34A853 (R = 52, G = 168, B = 83)