Video ini adalah tutorial tentang cara mengontrol matriks LED 1088AS Common Cathode 8x8 tanpa menggunakan chip driver apa pun seperti MAX7219 dan library yang sesuai.
Saya akan segera membuat tutorial kedua mengontrol matriks yang sama tetapi kali ini menggunakan MAX7219 dan membandingkan hasilnya.
Jika Anda menyukai konten ini dan Anda ingin mendukung saya dalam membuat video serupa, kunjungi halaman web Patreon saya
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7PD67JWZ9S3EJ&source=url
Kode
- Menguji semua 64 LED dari matriks LED 8x8
- Menampilkan gambar kucing pada Matriks LED 8x8 (Multiplexing)
- Menggulir teks pada matriks LED 8x8 (Multiplexing)
Menguji semua 64 LED dari matriks LED 8x8Arduino
// Mario's Ideas// Menguji semua 64 led dalam matriks LED 8x8 dengan menyalakannya satu per satu// 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, KELUARAN); pinMode(R2, OUTPUT); pinMode(R3, OUTPUT); pinMode(R4, OUTPUT); pinMode(R5, OUTPUT); pinMode(R6, OUTPUT); pinMode(R7, OUTPUT); pinMode(R8, OUTPUT); pinMode(C1, OUTPUT); pinMode(C2, OUTPUT); pinMode(C3, OUTPUT); pinMode(C4, OUTPUT); pinMode(C5, OUTPUT); pinMode(C6, OUTPUT); pinMode(C7, OUTPUT); pinMode(C8, OUTPUT);// Mematikan semua LED di awal sketsa digitalWrite(R1,HIGH); digitalWrite(R2,TINGGI); digitalWrite(R3,TINGGI); digitalWrite(R4,TINGGI); digitalWrite(R5,TINGGI); digitalWrite(R6,TINGGI); digitalWrite(R7,TINGGI); digitalWrite(R8,TINGGI); digitalWrite(C1,LOW); digitalWrite(C2,RENDAH); digitalWrite(C3,RENDAH); digitalWrite(C4,RENDAH); digitalWrite(C5,RENDAH); digitalWrite(C6,RENDAH); digitalWrite(C7,RENDAH); digitalWrite(C8,LOW);}void SelectRow(int baris){ if (row==1) digitalWrite(R1,LOW); lain digitalWrite(R1,HIGH); if (baris==2) digitalWrite(R2,LOW); lain digitalWrite(R2,TINGGI); if (baris==3) digitalWrite(R3,LOW); lain digitalWrite(R3,TINGGI); if (baris==4) digitalWrite(R4,LOW); lain digitalWrite(R4,TINGGI); if (baris==5) digitalWrite(R5,LOW); lain digitalWrite(R5,TINGGI); if (baris==6) digitalWrite(R6,LOW); lain digitalWrite(R6,TINGGI); if (baris==7) digitalWrite(R7,LOW); lain digitalWrite(R7,TINGGI); if (baris==8) digitalWrite(R8,LOW); else digitalWrite(R8,HIGH);}void SelectColumn(int kolom){ if (column==1) digitalWrite(C1,HIGH); lain digitalWrite(C1,LOW); if (kolom==2) digitalWrite(C2,HIGH); lain digitalWrite(C2,RENDAH); if (kolom==3) digitalWrite(C3,HIGH); lain digitalWrite(C3,RENDAH); if (kolom==4) digitalWrite(C4,HIGH); lain digitalWrite(C4,LOW); if (kolom==5) digitalWrite(C5,HIGH); lain digitalWrite(C5,RENDAH); if (kolom==6) digitalWrite(C6,HIGH); lain digitalWrite(C6,RENDAH); if (kolom==7) digitalWrite(C7,HIGH); lain digitalWrite(C7,RENDAH); 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); PilihKolom(j); penundaan(100); } }}
Menampilkan gambar kucing pada Matriks LED 8x8 (Multiplexing)Arduino
// Mario's ideas// Menampilkan gambar kucing pada LED Matrix (Multiplexing) 8x8// 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 Cat [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, OUTPUT); pinMode(R3, OUTPUT); pinMode(R4, OUTPUT); pinMode(R5, OUTPUT); pinMode(R6, OUTPUT); pinMode(R7, OUTPUT); pinMode(R8, OUTPUT); pinMode(C1, OUTPUT); pinMode(C2, OUTPUT); pinMode(C3, OUTPUT); pinMode(C4, OUTPUT); pinMode(C5, OUTPUT); pinMode(C6, OUTPUT); pinMode(C7, OUTPUT); pinMode(C8, OUTPUT); digitalWrite(R1,HIGH); digitalWrite(R2,TINGGI); digitalWrite(R3,TINGGI); digitalWrite(R4,TINGGI); digitalWrite(R5,TINGGI); digitalWrite(R6,TINGGI); digitalWrite(R7,TINGGI); digitalWrite(R8,TINGGI); digitalWrite(C1,LOW); digitalWrite(C2,RENDAH); digitalWrite(C3,RENDAH); digitalWrite(C4,RENDAH); digitalWrite(C5,RENDAH); digitalWrite(C6,RENDAH); digitalWrite(C7,RENDAH); digitalWrite(C8,LOW);}void SelectRow(int baris){ if (row==1) digitalWrite(R1,LOW); lain digitalWrite(R1,HIGH); if (baris==2) digitalWrite(R2,LOW); lain digitalWrite(R2,TINGGI); if (baris==3) digitalWrite(R3,LOW); lain digitalWrite(R3,TINGGI); if (baris==4) digitalWrite(R4,LOW); lain digitalWrite(R4,TINGGI); if (baris==5) digitalWrite(R5,LOW); lain digitalWrite(R5,TINGGI); if (baris==6) digitalWrite(R6,LOW); lain digitalWrite(R6,TINGGI); if (baris==7) digitalWrite(R7,LOW); lain digitalWrite(R7,TINGGI); if (baris==8) digitalWrite(R8,LOW); else digitalWrite(R8,HIGH);}void Set_LED_in_Active_Row(kolom int, status int){ if (kolom==1) digitalWrite(C1,status); if (kolom==2) digitalWrite(C2,status); if (kolom==3) digitalWrite(C3,state); if (kolom==4) digitalWrite(C4,status); if (kolom==5) digitalWrite(C5,state); if (kolom==6) digitalWrite(C6,state); if (kolom==7) digitalWrite(C7,state); if (kolom==8) digitalWrite(C8,state); }void loop() { untuk (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]); } penundaan(2+jeda); }if(pause!=0 dan pause>100)pause=pause-100;if(pause!=0 dan pause<=100)pause=pause-10;}
Menggulir teks pada matriks LED 8x8 (Multiplexing)Arduino
// Mario's Ideas// Menggulir teks pada matriks LED 8x8 (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 position=0; int Marios_ideas [8] [54] ={ {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,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} };pengaturan batal() { pinMode(R1, KELUARAN); pinMode(R2, OUTPUT); pinMode(R3, OUTPUT); pinMode(R4, OUTPUT); pinMode(R5, OUTPUT); pinMode(R6, OUTPUT); pinMode(R7, OUTPUT); pinMode(R8, OUTPUT); pinMode(C1, OUTPUT); pinMode(C2, OUTPUT); pinMode(C3, OUTPUT); pinMode(C4, OUTPUT); pinMode(C5, OUTPUT); pinMode(C6, OUTPUT); pinMode(C7, OUTPUT); pinMode(C8, OUTPUT); digitalWrite(R1,HIGH); digitalWrite(R2,TINGGI); digitalWrite(R3,TINGGI); digitalWrite(R4,TINGGI); digitalWrite(R5,TINGGI); digitalWrite(R6,TINGGI); digitalWrite(R7,TINGGI); digitalWrite(R8,TINGGI); digitalWrite(C1,LOW); digitalWrite(C2,RENDAH); digitalWrite(C3,RENDAH); digitalWrite(C4,RENDAH); digitalWrite(C5,RENDAH); digitalWrite(C6,RENDAH); digitalWrite(C7,RENDAH); digitalWrite(C8,LOW);}void SelectRow(int baris){ if (row==1) digitalWrite(R1,LOW); lain digitalWrite(R1,HIGH); if (baris==2) digitalWrite(R2,LOW); lain digitalWrite(R2,TINGGI); if (baris==3) digitalWrite(R3,LOW); lain digitalWrite(R3,TINGGI); if (baris==4) digitalWrite(R4,LOW); lain digitalWrite(R4,TINGGI); if (baris==5) digitalWrite(R5,LOW); lain digitalWrite(R5,TINGGI); if (baris==6) digitalWrite(R6,LOW); lain digitalWrite(R6,TINGGI); if (baris==7) digitalWrite(R7,LOW); lain digitalWrite(R7,TINGGI); if (baris==8) digitalWrite(R8,LOW); else digitalWrite(R8,HIGH);}void Set_LED_in_Active_Row(kolom int, status int){ if (kolom==1) digitalWrite(C1,status); if (kolom==2) digitalWrite(C2,state); if (kolom==3) digitalWrite(C3,state); if (kolom==4) digitalWrite(C4,status); if (kolom==5) digitalWrite(C5,state); if (kolom==6) digitalWrite(C6,state); if (kolom==7) digitalWrite(C7,state); if (kolom==8) digitalWrite(C8,state); }void loop() { untuk (int x=0; x<5;x++){ untuk (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]); } penundaan (2); } } posisi=posisi+1;}
Suku cadang dan penutup khusus
Skema