Raspberry Pi - RGB LED
Deze handleiding legt uit hoe u met de Raspberry Pi een RGB LED kunt aansturen. We leren in detail:
- Hoe een RGB LED werkt.
- Hoe een RGB LED aan te sluiten op een Raspberry Pi.
- Hoe u de Raspberry Pi programmeert om de kleur van de RGB LED te regelen.
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over RGB LED
De RGB LED kan iedere kleur produceren door de drie basiskleuren te combineren: rood (red), groen (green) en blauw (blue). Het bestaat uit drie afzonderlijke LEDs (rood, groen en blauw) die samen in één behuizing zitten.
De RGB LED Pinout
Een RGB LED heeft vier pinnen:
- Common (kathode-) pin die verbonden moet worden met GND (0V)
- R (rood) pin om rood te regelen
- G (groen) pin om groen te regelen
- B (blauw) pin om blauw te regelen

Als u een RGB LED op een Raspberry Pi wilt aansluiten, moet u stroombegrenzende weerstanden gebruiken. Dit kan wat lastig zijn om te bedraden, maar maak u geen zorgen. U kunt ook het RGB LED module gebruiken, dat al weerstanden ingebouwd heeft.
Het RGB LED Module heeft ook vier pinnen:
- Common (kathode-) pin: moet verbonden worden met GND (0V)
- R (red): pin om rood te regelen
- G (green): pin om groen te regelen
- B (blue): pin om blauw te regelen

※ Notiz:
Het type common pin voor een RGB LED kan variëren; het kan ofwel een kathode of een anode zijn. In deze handleiding wordt een common cathode pin gebruikt.
Hoe het werkt
In de fysica worden drie kleurwaarden - Rood (R), Groen (G) en Blauw (B) - gecombineerd om een kleur te vormen. Elke waarde ligt tussen 0 en 255. De combinatie van drie waarden levert in totaal 256 x 256 x 256 kleuren op.
We kunnen een RGB LED alle gewenste kleuren laten weergeven door de Raspberry Pi zo te programmeren dat deze PWM-signalen (met een duty cycle van 0 tot 255) naar de R-, G- en B-pinnen stuurt. De duty cycle van de PWM-signalen die naar de R-, G- en B-pinnen worden gestuurd, is respectievelijk evenredig met de Rood (R), Groen (G) en Blauw (B) kleurwaarden.
Aansluitschema
- Aansluitschema tussen Raspberry Pi en RGB LED

This image is created using Fritzing. Click to enlarge image
- Aansluitschema tussen Raspberry Pi en RGB LED module

This image is created using Fritzing. Click to enlarge image
Hoe RGB LED aan te sturen
Laten we leren hoe u de RGB LED naar elke gewenste kleur stuurt, bijvoorbeeld #00979D, stap voor stap:
- Bepaal eerst welke kleur u wilt tonen en zoek de kleurcode op. Tips:
- U kunt de color picker gebruiken om de gewenste kleurcode te selecteren
- Wilt u een kleur uit een afbeelding gebruiken, dan kunt u de online tool Colors From Image gebruiken
- Zet daarna de kleurcode om naar R, G, B waarden met behulp van de tool van w3schools. Noteer deze waarden goed. In dit geval: R = 0, G = 151, B = 157

- Geef de Raspberry Pi-pinnen aan die verbonden zijn met de R-, G- en B-pinnen. Bijvoorbeeld:
- Zet de Raspberry Pi-pinnen in outputmodus:
- Stel de Raspberry Pi-pinnen in om een PWM-signaal uit te sturen met een frequentie van 1000Hz:
- Stuur het signaal om de LED een kleur te laten tonen die hoort bij #00979D, oftewel R = 0, G = 151, B = 157.
Raspberry Pi - RGB LED Voorbeeldcode
De onderstaande Raspberry Pi code verandert de kleur van de LED in een reeks van de volgende tinten:
- #00C9CC (Rood = 0, Groen = 201, Blauw = 204)
- #F7788A (Rood = 247, Groen = 120, Blauw = 138)
- #34A853 (Rood = 52, Groen = 168, Blauw = 83)
Wanneer u meerdere kleuren gebruikt, kunnen we de Raspberry Pi code inkorten door een functie te maken:
Extra kennis
Voor een RGB LED met een common Anode moet u:
- De gemeenschappelijke pin verbinden met 3.3V van de Raspberry Pi.
- De functie analogWrite() gebruiken en de R, G en B waarden instellen op respectievelijk 255 - R, 255 - G en 255 - B.
Een RGB LED strip bestaat uit een reeks RGB LEDs die met elkaar verbonden zijn. LED strips zijn er in twee typen: adresseerbaar en niet-adresseerbaar. We zullen tutorials maken voor elk type LED strip.
※ Notiz:
Gebruik nooit één enkele weerstand op de gemeenschappelijke pin van een RGB LED in plaats van drie weerstanden op de andere pinnen.
Hoewel de drie LEDs in een RGB pakket parallel geschakeld zijn, is het in theorie mogelijk één weerstand op de gemeenschappelijke pin te gebruiken. Maar in de praktijk wordt dit afgeraden. Dit komt omdat de LEDs in de werkelijkheid niet identiek zijn ⇒ de weerstanden van de LED’s verschillen ⇒ de stroom wordt ongelijk verdeeld over de LEDs ⇒ de helderheid is niet uniform en dit kan leiden tot het defect raken van één LED, en uiteindelijk ook de andere LEDs.