Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

8×8 LED-matrix met MAX7219 beheersen: scrollende tekst & Android Bluetooth-besturing

Overzicht

De MAX7219-driver kan 64 individuele LEDs aansturen met slechts 3 draden (DIN, CLK, CS) en ondersteunt daisy-chaining van meerdere modules. We bouwen drie voorbeelden: basisbesturing, scrollende tekst, en Bluetooth-besturing via een zelfgemaakte Android-app.

MAX7219 werking

De IC heeft 16 uitgangspinnen (8 rijen + 8 kolommen). Maximaal 8 LEDs branden tegelijk. Door snel door kolommen en rijen te schakelen (multiplexing) ziet het oog continu licht. De breakout-board bevat een weerstand (pin 18) voor helderheidsinstelling; de waarde hangt af van de LED forward voltage (zie datasheet-tabel).

Schakeling

VCC/GND op 5V/GND van Arduino. DIN, CLK, CS op willekeurige digitale pinnen. Bij meerdere modules: DOUT van vorige → DIN van volgende.

Voorbeeld 1: Basis MAX7219-code

Gebruikt de MaxMatrix bibliotheek. Karakters worden gedefinieerd als byte-arrays (90° geroteerd voor gemakkelijk scrollen).

#include <MaxMatrix.h>
int DIN = 7, CLK = 6, CS = 5, maxInUse = 1;
MaxMatrix m(DIN, CS, CLK, maxInUse);

char A[] = {4, 8, B01111110, B00010001, B00010001, B01111110};
char smile01[] = {8, 8, B00111100, B01000010, B10010101, B10100001, B10100001, B10010101, B01000010, B00111100};

void setup() { m.init(); m.setIntensity(8); }
void loop() {
  m.setDot(6,2,true); delay(1000);
  m.writeSprite(2, 0, A); delay(1000);
  m.writeSprite(0, 0, smile01); delay(1000);
  m.shiftLeft(false,false); // scroll left
}

Voorbeeld 2: Scrollende tekst

Karakterset (letters, cijfers, symbolen) wordt in PROGMEM (flash-geheugen, 32 KB) opgeslagen in plaats van SRAM (2 KB). De functie printStringWithShift() extraheert tekens en scrollt ze met instelbare snelheid.

#include <MaxMatrix.h>
#include <avr/pgmspace.h>
PROGMEM const unsigned char CH[] = { ... }; // volledige ASCII-tabel
char text[] = "HowToMechatronics.com ";

void loop() { printStringWithShift(text, 100); } // 100 ms per stap

Voorbeeld 3: Android-app via Bluetooth (HC-05)

De app (gebouwd met MIT App Inventor) stuurt drie typen commando's:

  • Indicator '1' – nieuwe tekst (wis buffer, lees rest van string)
  • Indicator '2' – scrollsnelheid (slider-waarde)
  • Indicator '3' – helderheid (slider-waarde)

Arduino-code gebruikt SoftwareSerial voor Bluetooth (standaard 38400 baud). In loop() wordt continu gescrold; bij binnenkomende Bluetooth-data wordt de indicator gecheckt en de bijbehorende actie uitgevoerd.

SoftwareSerial Bluetooth(8, 7);
char text[100] = "HowToMechatronics.com ";
int scrollSpeed = 100, brightness = 15;

void loop() {
  printStringWithShift(text, scrollSpeed);
  if (Bluetooth.available()) {
    char indicator = Bluetooth.read();
    if (indicator == '1') { /* nieuwe tekst */ }
    else if (indicator == '2') { scrollSpeed = 150 - Bluetooth.readString().toInt(); }
    else if (indicator == '3') { brightness = Bluetooth.readString().toInt(); m.setIntensity(brightness); }
  }
}

De .aia-bestanden van de app zijn downloadbaar. Met deze basis kun je eigen LED-matrix displays bouwen voor informatiepanelen, klokken of decoratieve effecten.

Productieproces

  1. Slimme spaarpot bouwen: Muntenacceptor besturen met Arduino Nano
  2. Bouw een 24×16 LED Pong-console met Arduino Nano & MAX7219
  3. Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
  4. Een Arduino LED besturen met Cortana via Bluetooth op Windows 10
  5. Een 8×8 LED-matrix beheersen met Arduino Uno: Stap-voor-stap handleiding
  6. Arduino Uno & Bluetooth voor afstandsbediening van auto: stap-voor-stap handleiding
  7. Arduino robotarm besturen via speciale Android-app
  8. Bluetooth 8x8 LED-matrix met Scrollende Tekst – Arduino Project
  9. Klassiek Asteroids-spel met Arduino Mega en MAX72XX LED-matrix
  10. Meerdere Servos Besturen Via Bluetooth: Arduino & Android App
  11. Arduino Snake-spel op een 8x8 LED-matrix bouwen