LED-matrices bieden zeer speciale opties voor het weergeven van foto’s, belettering of tickers, afbeeldingen en zelfs video’s. Ze zijn een echte eyecatcher in de woonkamer zowel thuis als in de winkel, op advertentieruimte of op beurzen. Voor nog meer vormgevingsvrijheid kunnen meerdere borden met elkaar worden verbonden zodat er een ledwand ontstaat.
In deze how-to laten we zien hoe je met de Raspberry Pi een of meerdere LED-matrices aanstuurt.
Het project
- Geschikt voor: Beginners met voorkennis
- Benodigde tijd: ca. 1,5 – 2 uur
- Budget: vanaf ca. 90 euro
- Vereiste componenten: RGB-matrixmodule, Raspberry Pi 2 (of hoger), SD-kaart, RB-MatrixCtrl-controllerkaart, één voeding per matrixmodule
- Vereiste: muis, toetsenbord, scherm, internettoegang
Materiaal
Voor deze how-to gebruiken we een RGB-matrixmodule met 4096 LED’s en een bijzonder kleine pitch van slechts 3 mm. Dus afbeeldingen of zelfs films kunnen visueel aantrekkelijk worden weergegeven.
Controle wordt bereikt met behulp van mini-pc’s zoals Raspberry PI, Arduino, BBC Microbit en vele andere modules. In onze How-To implementeren we de besturing met het meest voorkomende ontwikkelbord, de Raspberry Pi.
Het RB-MatrixCtrl-controllerkaart is ideaal voor controle met de Raspberry Pi. Met dit uitbreidingsbord kunt u tot drie RGB LED-matrixrijen bedienen met een gemeenschappelijke HUB75-connector. Daarnaast is er een ventilator van 25×25 mm geïnstalleerd, die zorgt voor de nodige koeling van de Raspberry Pi.
Een aparte voeding (idealiter met 5V en ca. 8A) is nodig om de LED-matrix te laten werken. Er moet ook voor een voldoende kabeldoorsnede worden gezorgd.
Stel de LED-matrix in werking
Eerst moet de kabel voor de voeding die in de set zit, worden aangesloten op de LED-matrix en de voeding.
Als er meerdere matrices met elkaar moeten worden verbonden, gaat u als volgt te werk: Er kunnen maximaal drie matrices parallel worden gebruikt op de 40-pins GPIO-strip van de Raspberry Pi. Daarnaast kunnen op elke matrix nog andere matrices in serie worden aangesloten.
Gebruik hiervoor het HUB75-stekkercontact. Dit staat op de matrix aangegeven met IN. Via het OUT-contact kunnen extra matrices in serie worden geschakeld.
Let op: Pas bij het aansluiten van meerdere matrices de voeding hierop aan!

Hier vindt u een overzicht van de GPIO-balk van de Raspberry Pi en welke pinnen u kunt gebruiken voor welke van de drie parallel verbonden matrices:
VERBINDING | PIN | PIN | VERBINDING |
---|---|---|---|
- | 1 | 2 | - |
G1 (Matrix 3) | 3 | 4 | - |
B1 (Matrix 3) | 5 | 6 | GND / N (Matrix 1+2+3) |
LAT (Matrix 1+2+3) | 7 | 8 | R1 (Matrix 3) |
- | 9 | 10 | E (Matrix 1+2+3) |
CLK (Matrix 1+2+3) | 11 | 12 | OE (Matrix 1+2+3) |
G1 (Matrix 1) | 13 | 14 | - |
LA (Matrix 1+2+3) | 15 | 16 | LB (Matrix 1+2+3) |
- | 17 | 18 | LC (Matrix 1+2+3) |
B2 (Matrix 1) | 19 | 20 | - |
G2 (Matrix 1) | 21 | 22 | LD (Matrix 1+2+3) |
R1 (Matrix 1) | 23 | 24 | R2 (Matrix 1) |
- | 25 | 26 | B1 (Matrix 1) |
- | 27 | 28 | - |
G1 (Matrix 2) | 29 | 30 | - |
B1 (Matrix 2) | 31 | 32 | R1 (Matrix 2) |
G2 (Matrix 2) | 33 | 34 | - |
R2 (Matrix 2) | 35 | 36 | G2 (Matrix 3) |
R2 (Matrix 3) | 37 | 38 | B2 (Matrix 2) |
- | 39 | 40 | B2 (Matrix 3) |

Interpositie van de matrixcontrollerkaart
Als alternatief voor het direct verbinden van de matrices via de Raspberry Pi GPIO-balk, kunt u ook de RB-MatrixCtrl-controllerkaart gebruiken om tot drie matrices parallel te besturen. Het is ook mogelijk om extra matrices in serie aan te sluiten.
Het voordeel van bediening via de controllerkaart is de aanzienlijk eenvoudigere aansluitoptie. Daarnaast kan de controllerkaart de Raspberry Pi van stroom voorzien en heeft hij al een ventilator geïnstalleerd die voor voldoende koeling zorgt.

Montage van de matrixcontrollerkaart
Sluit eerst de matrixcontrollerkaart aan op de GPIO-balk van uw Raspberry Pi. Sluit nu de HUB75-stekkers van uw matrices aan op de overeenkomstige aansluitingen (paneel 1, paneel 2 en paneel 3) op de controllerkaart.
Wil je je Raspberry Pi direct via het controller board van stroom voorzien, dan kun je ook direct een spanningsbron van + 5V aansluiten op het controller board. Houd er rekening mee dat de verbinding niet is beschermd tegen omgekeerde polariteit en tegenstroom. De aansluiting is niet geschikt om de matrix van stroom te voorzien.
Belangrijk: Controleer de pintoewijzing van de E-pin (of LE) op de LED-matrix. Afhankelijk van de matrix kan dit variëren tussen de vierde en achtste pin. Dienovereenkomstig kunt u de toewijzing aanpassen met de linkse jumpers op de controllerkaart. Stel de verbinding in afhankelijk van de toewijzing van uw matrix.
Als de vierde of achtste pin van uw matrix op GND (of N) staat, moet u dienovereenkomstig op het controllerkaart springen.

Installatie van de LED-matrix
De eerste stap bij het besturen van de matrix met de Raspberry Pi is het installeren van de bijbehorende bibliotheek. Open de opdrachtterminal en voer het volgende in:
sudo apt-get update
sudo apt-get install git
git clone https://github.com/hzeller/rpi-rgb-led-matrix
Vervolgens moet het geluid aan boord worden uitgeschakeld. Omdat de matrix een klokcircuit gebruikt dat ook wordt gebruikt door het ingebouwde geluid, is gelijktijdig gebruik niet mogelijk.
Als u nog steeds een geluidsuitvoer nodig heeft, moet u een externe USB-geluidsadapter gebruiken. Om het ingebouwde geluid te deactiveren, opent u eerst het configuratiebestand met de volgende opdracht:
sudo nano /boot/config.txt
Zoek de regel “dtparam = audio = on” en verander deze in “dtparam = audio = off”. Sla nu het bestand op met de toetscombinatie Ctrl+O, bevestig met Enter en verlaat vervolgens de editor met de toetscombinatie Ctrl+X.
Start vervolgens de Raspberry Pi opnieuw op om de wijziging door te voeren:
sudo reboot
Met deze opdrachten kunt u de gedownloade bibliotheek bereiken en het demoprogramma voorbereiden:
cd rpi-rgb-led-matrix
make -C examples-api-use
Nu kan het demoprogramma worden gestart. Zorg ervoor dat u bij het starten van het programma het aantal LED’s per rij en kolom specificeert. In ons geval zijn er 64 leds per rij en kolom.
sudo examples-api-use/demo -D 0 --led-rows=64 --led-cols=64
Dan pas je de snelheid aan, bijvoorbeeld als je een langzamer paneel of een snellere Raspberry Pi hebt. Het commando —led-slowdown-gpio = <0 … 4> kan alleen worden uitgevoerd met waarden tussen 0 en 4.
sudo examples-api-use/demo -D 0 --led-rows=64 --led-cols64 --led-slowdown-gpio=2
Verwendung mit Python
Om de matrix met Python te besturen, kunt u de volgende opdrachten in de terminal uitvoeren:
VOOR PYTHON 2:
sudo apt-get update
sudo apt-get install python2.7-dev python-pillow -y
make-build-python
sudo make install-python
VOOR PYTHON 3:
sudo apt-get update
sudo apt-get install python3-dev python3-pillow -y
make-build-python PYTHON=$(which python3)
sudo make install-python PYTHON=$(which python3)
Hoe naar de map met voorbeelden te gaan:
cd bindings/python/samples
Daar vind je verschillende voorbeelden om je matrix te testen. Voorbeelden kunnen worden gestart met de volgende opdracht:
sudo ./runtext.py
Het execute commando accepteert ook de extra parameters –led-rijen, –led-chain en –led-parallel.
- –led-rijen: aantal rijen in een paneel. Waarden zoals 8, 16, 32 en 64 komen hier veel voor. Voor een matrix van 64 x 64 zou de waarde 64 zijn.
- –led-chain: aantal in serie geschakelde matrices. De standaardwaarde voor een enkele matrix is 1.
- –led-parallel: parallel geschakelde matrices. Waarden tussen 1 en 3 komen hier veel voor. De standaardwaarde voor een enkele matrix is 1.
De aanvullende parameters worden eenvoudig toegevoegd na de oorspronkelijke opdracht:
sudo ./runtext.py --led-chain=4
Toon video’s en afbeeldingen
Nu komen we bij het creatieve deel van de how-to: de weergave van afbeeldingen, GIF’s, afbeeldingen en hele video’s via de matrix. De af te beelden beeldbestanden moeten in deze map zijn opgeslagen:
cd /home/pi/rpi-rgb-led-matrix/utils
U kunt de LED Image Viewer gebruiken om de afbeeldingen weer te geven. Hiervoor heeft u de volgende opdracht nodig:
sudo ./led-image-viewer beispiel.gif
Video’s kunnen worden afgespeeld met deze opdracht:
sudo ./video-viewer beispiel.webm
Aanvullende parameters
Extra parameters kunnen worden toegevoegd aan het displaycommando voor verdere functies en definities. De belangrijkste parameters zijn:
PARAMETER | FUNCTIE |
---|---|
-C | Centreert het beeld |
-w | Meerdere foto's: wachttijd in seconden tot de volgende foto wordt weergegeven |
-t | Animaties: stopt de uitvoering na x seconden |
-l | Animaties: aantal volledige cycli |
-D | Animaties: vertraging tussen frames. Standaardwaarde: -1 |
-f | Meerdere afbeeldingen: permanent door alle afbeeldingen bladeren |
-s | Meerdere afbeeldingen: willekeurige volgorde |
--led-rows= | Aantal rijen per matrix. Meestal 8, 16, 32 of 64 |
--led-cols= | Aantal kolommen per matrix. Meestal 8, 16, 32 of 64 |
--led-chain= | Aantal in serie geschakelde matrices |
--led-parallel= | Aantal parallel verbonden matrices |
--led-brightness= | Helderheid in procenten |
--led-show-refresh | Toont de vernieuwingsfrequentie |
Een uitgebreide lijst met alle parameters is hier te vinden.
Gebruik in eigen projecten
De bibliotheek kan ook worden geïntegreerd in uw eigen projecten. U vindt de benodigde include-bestanden in de include-submap. De bibliotheek bevindt zich in de lib-submap.
Een C ++ -bibliotheek wordt native gebruikt, maar er zijn ook C- en Python-bibliotheken.
Daarnaast zijn er andere externe verbindingen ontwikkeld: