Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Steuerung der 8x8-LED-Matrix ohne Treiber und Bibliotheken

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
LED-Punktmatrix-Display, rot
× 1
Durchgangslochwiderstand, 330 Ohm
× 1

Über dieses Projekt

Dieses Video ist ein Tutorial zur Steuerung der 1088AS Common Cathode 8x8 LED Matrix ohne die Verwendung von Treiberchips wie MAX7219 und entsprechenden Bibliotheken.

Ich werde bald das zweite Tutorial zur Steuerung derselben Matrix erstellen, diesmal jedoch mit MAX7219, und die Ergebnisse vergleichen.

Das komplette Tutorial finden Sie hier:

Wenn Ihnen dieser Inhalt gefällt und Sie mich bei der Erstellung ähnlicher Videos unterstützen möchten, besuchen Sie meine Patreon-Webseite

https://www.patreon.com/MariosIdeas

Oder

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7PD67JWZ9S3EJ&source=url

Code

  • Testen aller 64 LEDs der 8x8 LED-Matrix
  • Anzeigen eines Katzenbildes auf einer 8x8 LED-Matrix (Multiplexing)
  • Laufender Text auf einer 8x8 LED-Matrix (Multiplexing)
Testen aller 64 LEDs der 8x8 LED-MatrixArduino
// Marios Ideen// Testen aller 64 LEDs in einer 8x8 LED-Matrix durch Aufleuchten nacheinander // Raws #define R1 2#define R2 3#define R3 4#define R4 5#define R5 6#define R6 7#define R7 8#define R8 9//Spalten#define C1 10#define C2 11#define C3 12#define C4 13#define C5 A0#define C6 A1#define C7 A2#define C8 A3void setup() { pinMode( R1, AUSGANG); pinMode (R2, AUSGANG); pinMode (R3, AUSGANG); pinMode (R4, AUSGANG); pinMode (R5, AUSGANG); pinMode (R6, AUSGANG); pinMode (R7, AUSGANG); pinMode (R8, AUSGANG); pinMode (C1, AUSGANG); pinMode (C2, AUSGANG); PinMode (C3, AUSGANG); pinMode (C4, AUSGANG); pinMode (C5, AUSGANG); pinMode (C6, AUSGANG); pinMode (C7, AUSGANG); pinMode (C8, OUTPUT); // Ausschalten aller LEDs zu Beginn der Skizze digitalWrite (R1, HIGH); digitalWrite (R2, HOCH); digitalWrite (R3, HOCH); digitalWrite (R4, HOCH); digitalWrite (R5, HOCH); digitalWrite (R6, HOCH); digitalWrite (R7, HOCH); digitalWrite (R8, HOCH); digitalWrite (C1, LOW); digitalWrite (C2, LOW); digitalWrite (C3, LOW); digitalWrite (C4, LOW); digitalWrite (C5, LOW); digitalWrite (C6, LOW); digitalWrite (C7, LOW); digitalWrite(C8,LOW);}void SelectRow(int row){ if (row==1) digitalWrite(R1,LOW); sonst digitalWrite (R1, HOCH); if (Reihe ==2) digitalWrite (R2, LOW); sonst digitalWrite (R2, HOCH); if (Zeile==3) digitalWrite(R3,LOW); sonst digitalWrite (R3, HOCH); if (Zeile==4) digitalWrite(R4,LOW); sonst digitalWrite (R4, HOCH); if (Zeile==5) digitalWrite(R5,LOW); sonst digitalWrite (R5, HOCH); if (Zeile==6) digitalWrite(R6,LOW); sonst digitalWrite(R6,HIGH); if (Zeile==7) digitalWrite(R7,LOW); sonst digitalWrite(R7,HIGH); if (Zeile==8) digitalWrite(R8,LOW); else digitalWrite(R8,HIGH);}void SelectColumn(int column){ if (column==1) digitalWrite(C1,HIGH); sonst digitalWrite (C1, LOW); if (Spalte==2) digitalWrite(C2,HIGH); sonst digitalWrite (C2, LOW); if (Spalte==3) digitalWrite(C3,HIGH); sonst digitalWrite (C3, LOW); if (Spalte==4) digitalWrite(C4,HIGH); sonst digitalWrite (C4, LOW); if (Spalte==5) digitalWrite(C5,HIGH); sonst digitalWrite (C5, LOW); if (Spalte==6) digitalWrite(C6,HIGH); sonst digitalWrite (C6, LOW); if (Spalte==7) digitalWrite(C7,HIGH); sonst digitalWrite (C7, LOW); if (Spalte==8) digitalWrite(C8,HIGH); else digitalWrite(C8,LOW);}void loop() { for (int i=1;i<9;i++) { for (int j=1;j<9;j++){ SelectRow(i); Spalte auswählen(j); Verzögerung (100); } }}
Anzeigen eines Katzenbildes auf einer 8x8 LED-Matrix (Multiplexing)Arduino
// Marios Ideen// Katzenbild auf 8x8 LED-Matrix anzeigen (Multiplexing)// Raws #define R1 2#define R2 3#define R3 4#define R4 5#define R5 6#define R6 7#define R7 8 #define R8 9//Spalten#define C1 10#define C2 11#define C3 12#define C4 13#define C5 A0#define C6 A1#define C7 A2#define C8 A3int pause=300; int Katze [8] [8] ={ {1,0,0,0,1,0,0,0}, {1,1,1,1,1,0,0,0}, {1,0 ,1,0,1,0,0,0}, {0,1,1,1,0,0,0,1}, {0,0,1,0,0,0,0,1}, {0,1,1,1,1,0,0,1}, {0,1,1,1,1,1,0,1}, {1,0,1,1,1,1,1 ,0},};void setup () { pinMode (R1, OUTPUT); pinMode (R2, AUSGANG); pinMode (R3, AUSGANG); pinMode (R4, AUSGANG); pinMode (R5, AUSGANG); pinMode (R6, AUSGANG); pinMode (R7, AUSGANG); pinMode (R8, AUSGANG); pinMode (C1, AUSGANG); pinMode (C2, AUSGANG); pinMode (C3, AUSGANG); pinMode (C4, AUSGANG); pinMode (C5, AUSGANG); pinMode (C6, AUSGANG); pinMode (C7, AUSGANG); pinMode (C8, AUSGANG); digitalWrite (R1, HOCH); digitalWrite (R2, HOCH); digitalWrite (R3, HOCH); digitalWrite (R4, HOCH); digitalWrite (R5, HOCH); digitalWrite (R6, HOCH); digitalWrite (R7, HOCH); digitalWrite (R8, HOCH); digitalWrite (C1, LOW); digitalWrite (C2, LOW); digitalWrite (C3, LOW); digitalWrite (C4, LOW); digitalWrite (C5, LOW); digitalWrite (C6, LOW); digitalWrite (C7, LOW); digitalWrite(C8,LOW);}void SelectRow(int row){ if (row==1) digitalWrite(R1,LOW); sonst digitalWrite (R1, HOCH); if (Reihe ==2) digitalWrite (R2, LOW); sonst digitalWrite (R2, HOCH); if (Zeile==3) digitalWrite(R3,LOW); sonst digitalWrite (R3, HOCH); if (Zeile==4) digitalWrite(R4,LOW); sonst digitalWrite (R4, HOCH); if (Zeile==5) digitalWrite(R5,LOW); sonst digitalWrite (R5, HOCH); if (Zeile==6) digitalWrite(R6,LOW); sonst digitalWrite(R6,HIGH); if (Zeile==7) digitalWrite(R7,LOW); sonst digitalWrite(R7,HIGH); if (Zeile==8) digitalWrite(R8,LOW); else digitalWrite (R8,HIGH);}void Set_LED_in_Active_Row (int Spalte, int Zustand) { if (Spalte ==1) digitalWrite (C1, Zustand); if (Spalte==2) digitalWrite(C2,Zustand); if (Spalte==3) digitalWrite(C3,Zustand); if (Spalte==4) digitalWrite(C4,Zustand); if (Spalte==5) digitalWrite(C5,Zustand); if (Spalte==6) digitalWrite(C6,Zustand); if (Spalte==7) digitalWrite(C7,Zustand); if (Spalte==8) digitalWrite(C8,Zustand); }void loop() { for (int j=0;j<8;j++){ SelectRow(j+1); for (int i=0;i<8;i++){ Set_LED_in_Active_Row(i+1, Cat[j][i]); } Verzögerung (2 + Pause); }if(pause!=0 und pause>100)pause=pause-100;if(pause!=0 und pause<=100)pause=pause-10;}
Laufender Text auf 8x8 LED-Matrix (Multiplexing)Arduino
// Marios Ideen// Laufender Text auf 8x8 LED-Matrix (Multiplexing)// Raws #define R1 2#define R2 3#define R3 4#define R4 5#define R5 6#define R6 7#define R7 8# R8 definieren 9//Spalten#define C1 10#define C2 11#define C3 12#define C4 13#define C5 A0#define C6 A1#define C7 A2#define C8 A3int position=0; int Marios_ideas [8] [54] ={ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 ,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0}, {0,1,0,0,0,1,0,0,1,1,0,0,1,1,1 ,0,0,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1 ,1,0,0,1,1,0,0,0,1,1,0,0,0,0}, {0,1,1,0,1,1,0,1,0,0 ,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,1,0 ,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0}, {0,1,0,1,0 ,1,0,1,0,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,0,0,0,0 ,0,1,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0}, {0,1,0,0,0,1,0,1,1,1,1,0,1,1,1,0,0,1,0,1,0,0,1,0,0 ,1,1,0,0,0,0,1,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0,1,1 ,0,0,0,0}, {0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,1 ,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,1,0,0 ,1,0,0,0,0,1,0,0,0}, {0,1,0,0,0,1,0,1,0,0,1,0,1,0,0 ,1,0,1,0,0,1,1,0,0,1,0,0, 1,0,0,0,1,0,1,1,1,0,0,1,0 ,0,0,1,0,0,1,0,1,0,0,1,0,0,0}, {0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0 ,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0} };void setup () { pinMode (R1, AUSGANG); pinMode (R2, AUSGANG); pinMode (R3, AUSGANG); pinMode (R4, AUSGANG); pinMode (R5, AUSGANG); pinMode (R6, AUSGANG); pinMode (R7, AUSGANG); pinMode (R8, AUSGANG); pinMode (C1, AUSGANG); pinMode (C2, AUSGANG); pinMode (C3, AUSGANG); pinMode (C4, AUSGANG); pinMode (C5, AUSGANG); pinMode (C6, AUSGANG); pinMode (C7, AUSGANG); pinMode (C8, AUSGANG); digitalWrite (R1, HOCH); digitalWrite (R2, HOCH); digitalWrite (R3, HOCH); digitalWrite (R4, HOCH); digitalWrite (R5, HOCH); digitalWrite (R6, HOCH); digitalWrite (R7, HOCH); digitalWrite (R8, HOCH); digitalWrite (C1, LOW); digitalWrite (C2, LOW); digitalWrite (C3, LOW); digitalWrite (C4, LOW); digitalWrite (C5, LOW); digitalWrite (C6, LOW); digitalWrite (C7, LOW); digitalWrite(C8,LOW);}void SelectRow(int row){ if (row==1) digitalWrite(R1,LOW); sonst digitalWrite (R1, HOCH); if (Reihe ==2) digitalWrite (R2, LOW); sonst digitalWrite (R2, HOCH); if (Zeile==3) digitalWrite(R3,LOW); sonst digitalWrite (R3, HOCH); if (Zeile==4) digitalWrite(R4,LOW); sonst digitalWrite (R4, HOCH); if (Zeile==5) digitalWrite(R5,LOW); sonst digitalWrite (R5, HOCH); if (Zeile==6) digitalWrite(R6,LOW); sonst digitalWrite(R6,HIGH); if (Zeile==7) digitalWrite(R7,LOW); sonst digitalWrite(R7,HIGH); if (Zeile==8) digitalWrite(R8,LOW); else digitalWrite (R8,HIGH);}void Set_LED_in_Active_Row (int Spalte, int Zustand) { if (Spalte ==1) digitalWrite (C1, Zustand); if (Spalte==2) digitalWrite(C2,Zustand); if (Spalte==3) digitalWrite(C3,Zustand); if (Spalte==4) digitalWrite(C4,Zustand); if (Spalte==5) digitalWrite(C5,Zustand); if (Spalte==6) digitalWrite(C6,Zustand); if (Spalte==7) digitalWrite(C7,Zustand); if (Spalte==8) digitalWrite(C8,Zustand); }void loop() { for (int x=0; x<5;x++){ for (int j=0;j<8;j++){ SelectRow(j+1); for (int i=0;i<8;i++){ Set_LED_in_Active_Row(i+1,Marios_ideas[j][(i+position)-abs((i+position)/54)*54]); } Verzögerung (2); } } position=position+1;}

Kundenspezifische Teile und Gehäuse

Schaltpläne


Herstellungsprozess

  1. Leuchtdiode (LED)
  2. Die kompakten LED-Treiber von Maxim bieten hohe Effizienz und niedrige EMI
  3. Sargtanzmelodie
  4. Arduino-Pong-Spiel auf einer 24x16-Matrix mit MAX7219
  5. LED-Matrix + Bewegungssensor-Türanzeige [Arduino Holiday]
  6. 8x LED-Beleuchtung mit Ton
  7. Arduino-Vierbeiner
  8. Heißkleber LED-Matrixlampe
  9. Steuerung der LED-Helligkeit mit Bolt und Arduino
  10. Steuerung der 8x8-LED-Matrix ohne Treiber und Bibliotheken