Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Mengontrol matriks LED 8x8 tanpa driver &pustaka

Komponen dan persediaan

Arduino Nano R3
× 1
Layar LED Dot Matrix, Merah
× 1
Melalui Resistor Lubang, 330 ohm
× 1

Tentang proyek ini

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.

Tutorial lengkapnya bisa dilihat di sini:

Jika Anda menyukai konten ini dan Anda ingin mendukung saya dalam membuat video serupa, kunjungi halaman web Patreon saya

https://www.patreon.com/MariosIdeas

Atau

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


Proses manufaktur

  1. Light-Emitting Diode (LED)
  2. Driver LED kompak Maxim memberikan efisiensi tinggi dan EMI rendah
  3. Coffin Dance Melody
  4. Game Arduino Pong pada Matrix 24x16 dengan MAX7219
  5. Matriks LED + Tampilan Pintu Sensor Gerak [Arduino Holiday]
  6. 8x Pencahayaan LED dengan Suara
  7. Arduino Quadruped
  8. Lampu Matriks LED Lem Panas
  9. Mengontrol Kecerahan LED Menggunakan Bolt dan Arduino
  10. Mengontrol matriks LED 8x8 tanpa driver &pustaka