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

Bedienen van 8x8 LED-matrix zonder drivers en bibliotheken

Componenten en benodigdheden

Arduino Nano R3
× 1
LED Dot Matrix-display, rood
× 1
Through Hole-weerstand, 330 ohm
× 1

Over dit project

Deze video is een zelfstudie over het besturen van 1088AS Common Cathode 8x8 LED-matrix zonder het gebruik van driverchips zoals MAX7219 en bijbehorende bibliotheken.

Ik zal binnenkort de tweede zelfstudie maken over het besturen van dezelfde matrix, maar deze keer met MAX7219 en de resultaten vergelijken.

De volledige tutorial is hier te vinden:

Als je deze inhoud leuk vindt en je wilt me ​​ondersteunen bij het maken van soortgelijke video's, ga dan naar mijn Patreon-webpagina

https://www.patreon.com/MariosIdeas

Of

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

Code

  • Alle 64 LED's van de 8x8 LED-matrix testen
  • Kattenafbeelding weergeven op 8x8 LED-matrix (multiplexen)
  • Scrollende tekst op 8x8 LED-matrix (multiplexen)
Alle 64 LED's van de 8x8 LED-matrix testenArduino
// Mario's Ideas// Testen van alle 64 leds in 8x8 LED-matrix door ze één voor één op te lichten// 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//Columns#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, UITGANG); pinMode (R2, UITGANG); pinMode (R3, UITGANG); pinMode (R4, UITGANG); pinMode (R5, UITGANG); pinMode (R6, UITGANG); pinMode (R7, UITGANG); pinMode (R8, UITGANG); pinMode (C1, UITGANG); pinMode (C2, UITGANG); pinMode (C3, UITGANG); pinMode (C4, UITGANG); pinMode (C5, UITGANG); pinMode (C6, UITGANG); pinMode (C7, UITGANG); pinMode (C8, OUTPUT);// Alle LED's uitschakelen aan het begin van de schets digitalWrite (R1,HIGH); digitalWrite(R2,HOOG); digitalWrite(R3,HOOG); digitalWrite(R4,HOOG); digitalWrite(R5,HOOG); digitalWrite(R6,HOOG); digitalWrite(R7,HOOG); digitalWrite(R8,HOOG); digitalWrite(C1,LAAG); digitalWrite(C2,LAAG); digitalWrite (C3, LAAG); digitalWrite (C4, LAAG); digitalWrite (C5, LAAG); digitalWrite (C6, LAAG); digitalWrite (C7, LAAG); digitalWrite(C8,LOW);}void SelectRow(int row){ if (row==1) digitalWrite(R1,LOW); anders digitalWrite(R1,HIGH); if (rij==2) digitalWrite(R2,LOW); anders digitalWrite (R2, HOOG); if (rij==3) digitalWrite(R3,LOW); anders digitalWrite (R3, HOOG); if (rij==4) digitalWrite(R4,LOW); anders digitalWrite (R4, HOOG); if (rij==5) digitalWrite(R5,LOW); anders digitalWrite(R5,HIGH); if (rij==6) digitalWrite(R6,LOW); anders digitalWrite (R6, HOOG); if (rij==7) digitalWrite(R7,LOW); anders digitalWrite(R7,HIGH); if (rij==8) digitalWrite(R8,LOW); else digitalWrite(R8,HIGH);}void SelectColumn(int column){ if (column==1) digitalWrite(C1,HIGH); anders digitalWrite(C1,LOW); if (kolom==2) digitalWrite(C2,HIGH); anders digitalWrite(C2,LOW); if (kolom==3) digitalWrite(C3,HIGH); anders digitalWrite (C3, LAAG); if (kolom==4) digitalWrite(C4,HIGH); anders digitalWrite (C4, LAAG); if (kolom==5) digitalWrite(C5,HIGH); anders digitalWrite (C5, LAAG); if (kolom==6) digitalWrite(C6,HIGH); anders digitalWrite (C6, LAAG); if (kolom==7) digitalWrite(C7,HIGH); anders digitalWrite(C7,LOW); if (kolom==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); SelecteerKolom(j); vertraging (100); } }}
Kattenafbeelding weergeven op 8x8 LED-matrix (multiplexen)Arduino
// Mario's ideeën// Kattenafbeelding weergeven op 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 #define R8 9//Columns#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 Kat [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, UITGANG); pinMode (R3, UITGANG); pinMode (R4, UITGANG); pinMode (R5, UITGANG); pinMode (R6, UITGANG); pinMode (R7, UITGANG); pinMode (R8, UITGANG); pinMode (C1, UITGANG); pinMode (C2, UITGANG); pinMode (C3, UITGANG); pinMode (C4, UITGANG); pinMode (C5, UITGANG); pinMode (C6, UITGANG); pinMode (C7, UITGANG); pinMode (C8, UITGANG); digitalWrite(R1,HOOG); digitalWrite(R2,HOOG); digitalWrite(R3,HOOG); digitalWrite(R4,HOOG); digitalWrite(R5,HOOG); digitalWrite(R6,HOOG); digitalWrite(R7,HOOG); digitalWrite(R8,HOOG); digitalWrite(C1,LAAG); digitalWrite(C2,LAAG); digitalWrite (C3, LAAG); digitalWrite (C4, LAAG); digitalWrite (C5, LAAG); digitalWrite (C6, LAAG); digitalWrite (C7, LAAG); digitalWrite(C8,LOW);}void SelectRow(int row){ if (row==1) digitalWrite(R1,LOW); anders digitalWrite(R1,HIGH); if (rij==2) digitalWrite(R2,LOW); anders digitalWrite (R2, HOOG); if (rij==3) digitalWrite(R3,LOW); anders digitalWrite (R3, HOOG); if (rij==4) digitalWrite(R4,LOW); anders digitalWrite (R4, HOOG); if (rij==5) digitalWrite(R5,LOW); anders digitalWrite(R5,HIGH); if (rij==6) digitalWrite(R6,LOW); anders digitalWrite (R6, HOOG); if (rij==7) digitalWrite(R7,LOW); anders digitalWrite(R7,HIGH); if (rij==8) digitalWrite(R8,LOW); else digitalWrite(R8,HIGH);}void Set_LED_in_Active_Row(int column, int state){ if (column==1) digitalWrite(C1,state); if (kolom==2) digitalWrite(C2,staat); if (kolom==3) digitalWrite(C3,staat); if (kolom==4) digitalWrite(C4,staat); if (kolom==5) digitalWrite(C5,staat); if (kolom==6) digitalWrite(C6,staat); if (kolom==7) digitalWrite(C7,staat); if (kolom==8) digitalWrite(C8,staat); }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]); } vertraging (2+pauze); }if(pauze!=0 en pauze>100)pauze=pauze-100;if(pauze!=0 en pauze<=100)pauze=pauze-10;}
Scrollende tekst op 8x8 LED-matrix (multiplexing)Arduino
// Mario's Ideas// Scrollende tekst op 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# definieer R8 9//Kolommen#definieer C1 10#definieer C2 11#definieer C3 12#definieer C4 13#definieer C5 A0#definieer C6 A1#definieer C7 A2#definieer 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,1,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,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,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,1,1,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} }; ongeldige setup() { pinMode(R1, UITGANG); pinMode (R2, UITGANG); pinMode (R3, UITGANG); pinMode (R4, UITGANG); pinMode (R5, UITGANG); pinMode (R6, UITGANG); pinMode (R7, UITGANG); pinMode (R8, UITGANG); pinMode (C1, UITGANG); pinMode (C2, UITGANG); pinMode (C3, UITGANG); pinMode (C4, UITGANG); pinMode (C5, UITGANG); pinMode (C6, UITGANG); pinMode (C7, UITGANG); pinMode (C8, UITGANG); digitalWrite(R1,HOOG); digitalWrite(R2,HOOG); digitalWrite(R3,HOOG); digitalWrite(R4,HOOG); digitalWrite(R5,HOOG); digitalWrite(R6,HOOG); digitalWrite(R7,HOOG); digitalWrite(R8,HOOG); digitalWrite(C1,LAAG); digitalWrite(C2,LAAG); digitalWrite (C3, LAAG); digitalWrite (C4, LAAG); digitalWrite (C5, LAAG); digitalWrite (C6, LAAG); digitalWrite (C7, LAAG); digitalWrite(C8,LOW);}void SelectRow(int row){ if (row==1) digitalWrite(R1,LOW); anders digitalWrite(R1,HIGH); if (rij==2) digitalWrite(R2,LOW); anders digitalWrite (R2, HOOG); if (rij==3) digitalWrite(R3,LOW); anders digitalWrite (R3, HOOG); if (rij==4) digitalWrite(R4,LOW); anders digitalWrite (R4, HOOG); if (rij==5) digitalWrite(R5,LOW); anders digitalWrite(R5,HIGH); if (rij==6) digitalWrite(R6,LOW); anders digitalWrite (R6, HOOG); if (rij==7) digitalWrite(R7,LOW); anders digitalWrite(R7,HIGH); if (rij==8) digitalWrite(R8,LOW); else digitalWrite(R8,HIGH);}void Set_LED_in_Active_Row(int column, int state){ if (column==1) digitalWrite(C1,state); if (kolom==2) digitalWrite(C2,staat); if (kolom==3) digitalWrite(C3,staat); if (kolom==4) digitalWrite(C4,staat); if (kolom==5) digitalWrite(C5,staat); if (kolom==6) digitalWrite(C6,staat); if (kolom==7) digitalWrite(C7,staat); if (kolom==8) digitalWrite(C8,staat); }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+positie)-abs((i+positie)/54)*54]); } vertraging(2); } } positie=positie+1;}

Aangepaste onderdelen en behuizingen

Schema's


Productieproces

  1. Light Emitting Diode (LED)
  2. Maxim's compacte LED-drivers bieden hoge efficiëntie en lage EMI
  3. Coffin Dance Melody
  4. Arduino Pong Game op 24x16 Matrix met MAX7219
  5. LED-matrix + bewegingssensor deurdisplay [Arduino Holiday]
  6. 8x LED-verlichting door geluid
  7. Arduino Quadruped
  8. Hot Glue LED Matrix Lamp
  9. LED-helderheid regelen met Bolt en Arduino
  10. Bedienen van 8x8 LED-matrix zonder drivers en bibliotheken
  11. Enkele LED Matrix Arduino Flip Clock