Een LED-matrix besturen met Arduino Uno
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 20 | ||||
| × | 20 |
Apps en online services
|
Over dit project
Dit project laat zien hoe je een array van 8x8 LED-matrices kunt besturen met behulp van een Arduino Uno. Deze handleiding kan worden gebruikt om een eenvoudige (en relatief goedkope display) voor uw eigen projecten te maken. Op deze manier kunt u letters, cijfers of aangepaste animaties weergeven.
Een 5 matrix-array gebruikt in een van onze robotprojecten ("Robô da Alegria") wordt als voorbeeld gebruikt om deze technologie te illustreren. Mogelijk bent u geïnteresseerd in meer informatie over dit project via de volgende links:
- https://hackaday.io/project/12873-rob-da-alegria-joy-robot
- https://github.com/ferauche/RoboAlegria
- https://www.facebook.com/robodaalegria/
Componenten
MAX7219-MAX7221.pdf
Merk op dat je twee soorten jumpers nodig hebt:vrouw-naar-vrouw voor de verbinding tussen de matrices en een man-naar-vrouw voor de verbinding van de eerste matrix met de Arduino.
Het aantal componenten kan variëren afhankelijk van de structuur die u in gedachten heeft.
Montage
Sluit alle componenten aan volgens het schema. Je hebt wat jumperdraden nodig om de eerste matrix op de Arduino aan te sluiten, en elke matrix op de volgende op de array.
Arduino pinout:
- Arduino digitale pin 13 =DIN van het eerste display
- Arduino digitale pin 12 =CLK van het eerste display
- Arduino digitale pin 11 =CS van het eerste scherm
- Arduino 5V pin =Vcc van het eerste scherm
- Arduino GND-pin =Gnd-pin van het eerste scherm
U kunt ook elk scherm in een bepaalde positie plaatsen. Gebruik daarvoor de acrylplaat, enkele schroeven en moeren (vier voor elk scherm) en plaats elk onderdeel op zijn plaats. Er is geen gereedschap nodig om de schakeling in elkaar te zetten, maar u heeft wel een schroevendraaier nodig als u de displays op een oppervlak wilt bevestigen. In ons voorbeeld werden vijf displays in een gezichtspatroon geplaatst (twee ogen en een mond). Sluit de USB-kabel aan op het Arduino Uno-bord en ga verder met de volgende stap.
FLPMR9JIRKFL3VQ.fzz
Coderen
Voeg met de nieuwste Arduino IDE-versie geïnstalleerd de LedControl.h-bibliotheek toe, die wordt gebruikt om de LED's aan te sturen. Download, compileer en upload Arduino de code, die in 4 delen is verdeeld:
- 1. Definitie van de ogen en mond: elk oog is geconfigureerd en een 8-byte array. De monden worden gedefinieerd als een 24-byte array
- 2. Opstelling: beeldschermen configureren en communicatie starten
- 3. Belangrijkste: wacht op seriële communicatiecommando's en kies welk gezicht wordt weergegeven
- 4. Hulpfuncties: functies voor het instellen van de weergave van ogen en mond. setRow functie werd gebruikt om elke rij van het LED-display in te stellen. Het werd gebruikt in plaats van setColumn omdat het acht keer sneller gaat! Op deze manier moeten de tekeningen voor elk scherm 90 graden tegen de klok in gedraaid worden verklaard.
setIntensity werd gebruikt om de helderheid van de leds te beperken. Het werd ingesteld op 1 (op een schaal van 0 tot 15) om het stroomverbruik van de modules te verminderen tot een niveau dat acceptabel is voor de USB-poort.
FEGF6QQIRKFL5XL.ino
Gebruik
Houd na het uploaden de Arduino aangesloten op de USB-poort van uw computer en open de seriële monitor. De code is geprogrammeerd om een reeks emoticons weer te geven op het LED-vlak, afhankelijk van het bericht dat door de seriële poort wordt ontvangen. De volgende commando's zijn geconfigureerd:
Voor de ogen
- : (normale ogen)
- ; (knipperen)
- 8 (spookachtige ogen)
Voor de mond:
- ) (gelukkig)
- | (neutraal)
- ( (verdrietig)
- D of d (heel blij)
- O of o (verbaasd)
- P of p (tong eruit)
Typ een paar tekens (aan voor de ogen en andere voor de mond) in de seriële monitor, druk op enter en de displays worden bijgewerkt volgens uw opdracht.
U kunt de tekeningen wijzigen (bijvoorbeeld nieuwe gezichten toevoegen) of de bedieningsmethode wijzigen (inclusief een Bluetooth- of Wi-Fi-interface), al naar gelang uw behoeften.
Veel plezier!
Code
Github
https://github.com/ferauche/RoboAlegriahttps://github.com/ferauche/RoboAlegriaGithub
https://github.com/wayoda/LedControlhttps://github.com/wayoda/LedControlProductieproces
- Een effect besturen met echte sensoren
- LCD-paneel met Arduino voor Flight Simulator
- Schakel/LED-paneel met Arduino voor FS2020
- Arduino klok met islamitische gebedstijden
- Arduino Pong Game op 24x16 Matrix met MAX7219
- Arduino met Bluetooth om een LED te bedienen!
- Een afbeelding weergeven op een LCD TFT-scherm met Arduino UNO!
- Arduino Quadruped
- Besturing van servomotor met Arduino en MPU6050
- LED-helderheid regelen met Bolt en Arduino
- 25 kHz 4-pins PWM-ventilatorregeling met Arduino Uno