ESP32 - LED Matrix
LED matrix display, ook bekend als LED display of dot matrix display, wordt veel gebruikt. In deze handleiding leert u:
- Wat een LED matrix is
- Hoe u een ESP32 aansluit op een 8x8 LED matrix
- Hoe u een ESP32 aansluit op een 32x8 LED matrix
- Hoe u tekst, cijfers en geanimeerde effecten kunt weergeven op de LED matrix met de ESP32.
Daarna kunt u de code eenvoudig aanpassen voor andere LED matrices zoals 16x8 LED matrix, 64x8 LED matrix, enzovoort.
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over de LED Matrix

Er zijn veel verschillende soorten LED Matrix. Met de ESP32 wordt de LED matrix op basis van de MAX7219 veel gebruikt. Een LED matrix gebaseerd op de MAX7219 heeft de volgende kenmerken:
- Een basisunit van een LED matrix is een blok
- Elk blok bevat een 8x8 LED matrix (64 LEDs) en een MAX7219 driver
- Er zijn twee populaire blokvormen: de generic module en de FC-16 module
- Een LED matrix kan bestaan uit één enkel blok of uit meerdere blokken in een cascadeschakeling (daisy-chain)
- U kunt een vooraf gebouwde LED matrix kopen met meerdere blokken (bijvoorbeeld 4-in-1, 8-in-1)
- U kunt ook meerdere blokken kopen en deze bedraden om een LED matrix te vormen van de gewenste grootte
- U moet het formaat van de gebruikte LED matrix aangeven in de ESP32 code
Pinout

Een LED Matrix wordt gevormd door één of meerdere blokken. Elk blok heeft twee groepen pinnen:
- Input pin groep:
- VCC: sluit aan op 5V
- GND: sluit aan op GND (massa)
- DIN: Data pin, verbind met een willekeurige digitale pin van de ESP32
- CS: Chip Select, verbind met een willekeurige digitale pin van de ESP32
- CLK: Klokpin, verbind met een willekeurige digitale pin van de ESP32
- Output pin groep:
- VCC: sluit aan op VCC van de input pin groep van de volgende module
- GND: sluit aan op GND van de input pin groep van de volgende module
- DOUT: Data Out, sluit aan op de DIN pin van de input pin groep van de volgende module
- CS: sluit aan op CS van de input pin groep van de volgende module
- CLK: sluit aan op CLK van de input pin groep van de volgende module
Bedradingsschema
Als de LED matrix uit één enkel blok bestaat:
- Verbind de input pin groep met de ESP32
- Laat de output pin groep niet aangesloten

This image is created using Fritzing. Click to enlarge image

This image is created using Fritzing. Click to enlarge image
Als de LED matrix een vooraf gebouwde meerdere-blok module is:
- Verbind de input pin groepen met de ESP32
- Laat de output pin groep niet aangesloten

This image is created using Fritzing. Click to enlarge image
Als u zelf een LED matrix samenstelt uit meerdere blokken:
- Verbind de input pin groep van het eerste blok met de ESP32
- Verbind de output pin groepen van ieder blok met de input pin groep van het volgende blok
- Laat de output pin groep van het laatste blok niet aangesloten

This image is created using Fritzing. Click to enlarge image

This image is created using Fritzing. Click to enlarge image
Omdat het display veel stroom trekt (tot 1A bij maximale helderheid):
- Gebruik niet de 5V pin van de ESP32 om het display van stroom te voorzien
- Gebruik in plaats daarvan een externe 5V voeding. ESP32 en LED matrix kunnen samen gevoed worden door een 5V-adapter
Omdat de ESP32 verbinding maakt met de LED matrix via SPI-pinnen:
- GPIO18 (SCK) en GPIO23 (MOSI) van de ESP32
- GPIO21 (CS) kan op een andere pin worden ingesteld
Hoe programmeert u voor de LED Matrix
Het is niet eenvoudig om de LED matrix zelf te besturen. Gelukkig zijn er libraries beschikbaar die dit vergemakkelijken. Hieronder volgt stap voor stap hoe u ESP32-code schrijft om de LED matrix te besturen:
- Libraries includen:
- Specificeer welke hardware wordt gebruikt: GENERIC_HW of FC16_HW.
- Definieer hoeveel LED blokken er worden gebruikt. Bijvoorbeeld een 4-in-1 LED matrix bestaat uit 4 blokken.
- Definieer de pin die verbonden is met de CS-pin van de LED matrix, bijvoorbeeld GPIO21.
- Maak een nieuwe instantie van de MD_Parola klasse voor het LED matrix display.
- Code in de setup()-functie:
- Tekst, cijfers en geanimeerde effecten tonen: zie het volgende deel
ESP32 - LED Matrix Code
De onderstaande code is bedoeld voor een 32x8 FC-16 LED matrix display (4 blokken). U kunt deze eenvoudig aanpassen voor 8x8, 16x8, 64x8, enzovoort.
Snelle Stappen
- Als u voor het eerst ESP32 gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
- Voer de bekabeling uit zoals op de bovenstaande afbeelding.
- Verbind het ESP32-bord met uw pc via een micro USB-kabel.
- Open Arduino IDE op uw pc.
- Selecteer het juiste ESP32 board (bijvoorbeeld ESP32 Dev Module) en de juiste COM-poort.
- Klik op het Libraries icoon in de linkerzijbalk van de Arduino IDE.
- Zoek op “MD_Parola” en vind de MD_Parola library
- Klik op de Installeren knop.

- U wordt gevraagd om de “MD_MAX72XX” library te installeren
- Klik op de Install All knop om deze afhankelijkheid te installeren.

- Kopieer de bovenstaande code en open deze in Arduino IDE
- Klik op de Uploaden knop in Arduino IDE om de code naar de ESP32 te uploaden
- Bekijk het LED matrix display
ESP32 LED Matrix Code – Scrollende Tekst
Wanneer u een lange boodschap wilt weergeven die niet volledig op het LED matrix display past, kunt u de scrolltekst-effect techniek gebruiken.
De onderstaande ESP32-code toont hoe u een bericht kunt laten scrollen op het LED matrix display.
Voor meer teksteffecten verwijzen wij u naar de MD_Parola Library Reference.
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 videotutorial voor visuele begeleiding bij dit project! De video biedt extra inzichten en maakt het nog makkelijker om het project succesvol uit te voeren.