+1 500 000 producten

7000 pakketten

+300 000 klanten uit 150 landen

QuickBuy Favorieten
Winkelwagen

Zelfbouw-programmeerapparaat

Datum van publicatie: 01-10-2026 🕒 5 min leestijd

Benodigde hardware:

DIY-morse-codegenerator met een LED-matrix #arduino #elektronica #techniek #diy

1. Inleiding

Van vuurtorens tot glasvezel: communicatie via lichtsignalen fascineert ingenieurs en knutselaars al eeuwenlang. In dit project maken we een eenvoudige maar krachtige stap terug in de tijd om een morsecodevertaler te bouwen met behulp van een Arduino UNO en een op de MAX7219 gebaseerde 8x32 LED-matrix.

Met deze opstelling kun je elke zin in de seriële monitor van de Arduino typen, waarna de LED-matrix het gehele scherm visueel in morsecode laat knipperen.

Dit project is perfect voor beginners en hobbyisten die de basisprincipes van seriële invoerverwerking en LED-aansturing willen verkennen met een spannende visuele uitvoer.

2. Bedrading

Het aansluiten van de matrix op de Arduino UNO is eenvoudig en duidelijk. We gebruiken hiervoor het SPI-protocol, een full-duplex gesynchroniseerd master-slave-communicatieprotocol dat meerdere slaves kan hebben, maar beperkt is tot één master. Met behulp van CS (chip select bus) kunnen we kiezen met welke slave we willen communiceren. Aangezien we signalen naar onze LED-matrix willen sturen maar niet geïnteresseerd zijn in het ontvangen van signalen ervan, hebben we geen communicatiebus tussen randapparatuur en controller nodig. Sluit de VCC-pin op de matrix aan op de 5V-pin op de Arduino. De GND-pin op de matrix gaat naar GND op de Arduino.

DIN, de data-invoerpin, moet worden aangesloten op pin D11 van de UNO.

CS, soms aangeduid als LOAD, wordt aangesloten op D10.

Ten slotte wordt CLK (de klokpin) aangesloten op D13. Zodra alles is aangesloten, kun je de code uploaden en het resultaat in actie zien.

MAX7219 8x32 LED-matrixmodule aangesloten met jumperdraden voor gebruik met de Arduino UNO.

Arduino UNO aangesloten op de LED-matrixmodule met jumperdraden.

3. Hoe het werkt

In morsecode wordt aan elke letter een reeks punten en streepjes toegewezen. Een punt is een kort signaal en een streepje is een langer signaal.

De letter S wordt bijvoorbeeld weergegeven als drie punten, terwijl de letter O uit drie streepjes bestaat. De pauzes tussen punten en streepjes binnen dezelfde letter zijn kort. De pauzes tussen letters zijn iets langer en de pauzes tussen woorden zijn het langst. Dit ritme is essentieel om de code te begrijpen.

In ons project leest de Arduino de tekst die je invoert in de seriële monitor. Hij zet elk teken om in morsecode met behulp van een vooraf gedefinieerde tabel.

Elke punt en streep wordt vervolgens weergegeven op de LED-matrix. Een punt wordt weergegeven door een korte flits (200 milliseconden) en een streep door een langere flits (600 milliseconden). Tussen deze flitsen gaat de matrix kort uit. Tussen letters en woorden zijn de uit-periodes langer om de scheiding aan te geven.

Deze volledige visuele morsecode-reeks wordt teken voor teken weergegeven totdat je volledige zin in licht is omgezet.

Morse-codegids waarin S wordt weergegeven als drie punten, O als drie streepjes, SOS, en de tijdsverschillen tussen punten, streepjes, letterafstanden en woordafstanden.

4. Code

Zorg ervoor dat je, voordat je de sketch uploadt, de MD_MAX72XX-bibliotheek van MajicDesigns installeert met behulp van de Arduino Library Manager. Deze bibliotheek maakt het eenvoudig om het MAX7219-matrixdisplay aan te sturen.

De sketch begint met het opnemen van de MD_MAX72XX- en SPI-bibliotheken. We definiëren het hardwaretype en stellen het aantal aangesloten displaymodules in op vier. Vervolgens wijzen we de data-, klok- en chipselectie-pinnen toe volgens onze bedrading. De morsecode wordt opgeslagen als een array van strings, die elk de morsevolgorde voor de letters A tot en met Z vertegenwoordigen.

In de setup()-functie worden de seriële communicatie en de LED diodes geïnitialiseerd. Nadat er tekst is ingevoerd in de seriële monitor, leest Arduino deze, zet alle letters om in hoofdletters en geeft deze vervolgens door aan de functie die verantwoordelijk is voor het omzetten naar morsecode.

Binnen de morsecode-omzettingsfunctie controleert het programma elk teken in de invoerreeks. Als het een spatie is, wordt het signaal vertraagd om de woordafstand weer te geven. Als het een letter is, zoekt het programma de bijbehorende morsesequentie op. Voor elk symbool in die reeks laat het de matrix knipperen. Stippen knipperen 200 milliseconden, streepjes 600. De lengte van de pauzes is nauwkeurig afgestemd om de juiste afstand tussen letters, woorden en zinnen te behouden. Deze zorgvuldige timing behoudt het ritme van de morsecode.

De functie die de matrix laat knipperen, werkt door alle kolommen op volle helderheid in te schakelen, de vereiste tijd te wachten en vervolgens alles weer uit te schakelen. Er wordt een kleine vertraging toegevoegd na het uitschakelen om de knipperingen duidelijker te maken.

Download de code hier en upload deze naar de Arduino: LINK

5. Mogelijke uitbreidingen

Nu je morse-ledmatrix werkt, kun je hem nog verder verbeteren. Je kunt bijvoorbeeld een zoemer toevoegen, zodat het apparaat ook geluid produceert. Of sluit een knop aan, zodat je je eigen morseberichten kunt intikken.

Je kunt het project ook uitbreiden met Wi-Fi of Bluetooth met behulp van een ESP32. Op die manier kun je tekst vanaf je telefoon versturen en deze op het display zien knipperen.

Je zou het ook zo kunnen instellen dat de punten en streepjes direct op de matrix worden weergegeven in plaats van dat de hele matrix knippert.

Dit project leert je hoe je seriële invoer gebruikt, de timing regelt en met een LED-matrix werkt. Het is een leuke en geweldige manier om met behulp van beeldmateriaal meer over Arduino te leren.

Arduino UNO en LED-matrix zijn met elkaar verbonden, terwijl de Arduino Serial Monitor vraagt om tekst die naar morsecode moet worden omgezet.

Verlichte LED-matrix aangesloten op een Arduino UNO via jumperdraden en een USB-kabel.

Transfer Multisort Elektronik (TME) is een van ’s werelds grootste distributeurs van elektronische componenten, elektrotechnische onderdelen, werkplaatsuitrusting en industriële automatisering. De catalogus bevat meer dan 1.500.000 producten van 1.300 toonaangevende fabrikanten. De moderne logistieke centra van TME in Łódź en Rzgów (Polen), met een totale oppervlakte van meer dan 40.000 m², verzenden dagelijks bijna 6.000 pakketten naar klanten in meer dan 150 landen.

TME investeert ook in de ontwikkeling van kennis en vaardigheden van jonge ingenieurs en elektronicahobbyisten via het TME Education-project, en ondersteunt de technologische gemeenschap door het organiseren van de TechMasterEvent -serie, die innovatie en kennisuitwisseling bevordert.

VERDER LEZEN