Daftar Isi:

MAX7219 LED Dot Matrix Perakitan dan Pengujian: 6 Langkah (dengan Gambar)
MAX7219 LED Dot Matrix Perakitan dan Pengujian: 6 Langkah (dengan Gambar)

Video: MAX7219 LED Dot Matrix Perakitan dan Pengujian: 6 Langkah (dengan Gambar)

Video: MAX7219 LED Dot Matrix Perakitan dan Pengujian: 6 Langkah (dengan Gambar)
Video: Pemrograman 2 panel dot matrix max 7219 ( 8x64) 2024, November
Anonim
Image
Image
Cek Paket
Cek Paket

Tampilan Dot-Matrix adalah perangkat tampilan yang berisi dioda pemancar cahaya yang disejajarkan dalam bentuk matriks. Tampilan Dot-Matriks ini digunakan dalam aplikasi di mana Simbol, Grafik, Karakter, Abjad, Angka perlu ditampilkan bersama secara statis maupun Gerakan bergulir. Tampilan Dot Matrix diproduksi dalam berbagai dimensi seperti 5x7, 8x8, 16x8, 128x16, 128x32 dan 128x64 di mana angka-angka tersebut mewakili LED dalam baris dan kolom, Juga tampilan ini hadir dalam berbagai warna seperti Merah, Hijau, Kuning, Biru, Oranye, Putih.

Dalam Instruksi ini, saya akan membahas antarmuka Dot Matrix 8x8 yang memiliki driver MAX7219 ke Arduino Uno. Mari kita mulai.

Perlengkapan

MAX7219

Langkah 1: Periksa Paket

Seperti yang Anda lihat, saya memiliki versi smt dari papan driver, sangat penting untuk memverifikasi setiap komponen yang diperlukan karena komponen smd berukuran sangat kecil dan Anda dapat dengan mudah kehilangannya. Ada juga versi celup yang tersedia secara online tetapi saya menggunakan versi smt untuk ukurannya.

Langkah 2: Sedikit Tentang Dot Matrix Khusus Ini

Sedikit Tentang Dot Matrix Ini
Sedikit Tentang Dot Matrix Ini

modul tunggal dapat menggerakkan katoda umum 8x8 dot matrix.

Tegangan operasi: 5 v

Dimensi: panjang 3.2 cm X lebar 3.2 cm X tinggi 1.3 cm, lubang dengan empat sekrup, diameter 3 mm

Modul dengan antarmuka input dan output, dukungan untuk cascading beberapa modul.

Terminal data IN dan OUT ditentukan pada modul.

Langkah 3: Driver MAX7219

Pengemudi MAX7219
Pengemudi MAX7219
Pengemudi MAX7219
Pengemudi MAX7219

MAX7219 adalah IC yang dirancang untuk mengontrol MATRIX LED 8x8. IC adalah driver tampilan katoda umum (Common Negative) input serial yang menghubungkan mikroprosesor (atau mikrokontroler) ke tampilan LED numerik 7-segmen hingga 8 digit, tampilan grafik batang, atau 64 LED individu.

Fitur dan Spesifikasi

Rentang tegangan operasi: +4.0 hingga +5.5V

Tegangan operasi yang direkomendasikan: +5V

Tegangan suplai maksimum: 6V

Arus maksimum yang diizinkan untuk mengalir melalui setiap pin segmen: 100mA

Arus maksimum yang diizinkan melalui setiap pin ground DIGIT: 500mA

Konsumsi daya rendah

Waktu Tunda Data-ke-Segmen: 2.2mSec

Suhu pengoperasian: 0 °C hingga +70 °C

Suhu Penyimpanan: -65 °C hingga +150 °C

Langkah 4: Sirkuit

Sirkuit
Sirkuit
Sirkuit
Sirkuit

Rangkaian ini cukup sederhana dan dapat dibangun menggunakan kabel jumper pria ke wanita. Cukup ikuti pinout dan bangun sirkuitnya. Anda nanti dapat merakitnya di PCB jika Anda membuat aplikasi permanen untuk Matrix.

Konfigurasi Pin adalah sebagai berikut:

  • Vcc ke 5V Pin Arduino.
  • Gnd ke Gnd Pin Arduino.
  • DIN ke Digital Pin 12 dari Arduino.
  • CS ke Digital Pin 11 dari Arduino
  • CLK ke Digital Pin 10 dari Arduino.

Langkah 5: Kode

Di sini, di Instructable ini, saya akan memberi Anda dua kode berbeda. Satu akan menghasilkan beberapa abjad bahasa Inggris dan smilies pada Matrix. Yang lain akan menyalakan semua 64 LED satu per satu. Anda harus menggunakan perpustakaan lledcontrol untuk membuatnya bekerja.

Ini adalah kode untuk huruf dan senyuman bahasa Inggris

#sertakan int DIN = 12; int CS = 11; int CLK = 10; byte e[8]= {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; byte d[8]= {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; byte u[8]= {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; byte c[8]= {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; byte delapan[8]= {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; byte s[8]= {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; byte titik[8]= {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; byte o[8]= {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; byte m[8]= {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc=LedControl(DIN, CLK, CS, 0); void setup(){ lc.shutdown(0, false); //MAX72XX dalam mode hemat daya saat startup lc.setIntensity(0, 15); // Atur kecerahan ke nilai maksimum lc.clearDisplay(0); // dan hapus tampilan } void loop(){ byte smile[8]= {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; byte netral[8]= {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; byte cemberut[8]= {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte(senyum); penundaan (1000); printByte(netral); penundaan (1000); printByte(mengernyitkan dahi); penundaan (1000); printEduc8s(); lc.clearDisplay(0); penundaan (1000); } void printEduc8s() { printByte(e); penundaan (1000); printByte(d); penundaan (1000); printByte(u); penundaan (1000); printByte(c); penundaan (1000); printByte(delapan); penundaan (1000); printByte(s); penundaan (1000); printByte(titik); penundaan (1000); printByte(c); penundaan (1000); printByte(o); penundaan (1000); printByte(m); penundaan (1000); } void printByte(karakter byte ) { int i = 0; for(i=0;i<8;i++) { lc.setRow(0, i, karakter); } }

dan kode untuk menguji semua 64 LED

//Kita harus selalu menyertakan library#include "LedControl.h"

/*

Sekarang kita membutuhkan LedControl untuk bekerja. ***** Nomor pin ini mungkin tidak akan bekerja dengan perangkat keras Anda ***** pin 12 terhubung ke DataIn pin 10 terhubung ke CLK pin 11 terhubung ke LOAD Kami hanya memiliki satu MAX72XX. */ LedControl lc=LedControl(12, 11, 10, 1);

/* kami selalu menunggu sebentar di antara pembaruan tampilan */

waktu tunda lama yang tidak ditandatangani = 100;

batalkan pengaturan() {

/* MAX72XX dalam mode hemat daya saat startup, kita harus melakukan wakeup call */ lc.shutdown(0, false); /* Atur kecerahan ke nilai sedang */ lc.setIntensity(0, 8); /* dan hapus tampilan */ lc.clearDisplay(0); }

/*

Metode ini akan menampilkan karakter untuk kata "Arduino" satu demi satu pada matriks. (Anda membutuhkan setidaknya 5x7 led untuk melihat seluruh karakter) */ void writeArduinoOnMatrix() { /* ini adalah data untuk karakter */ byte a[5]={B01111110, B10001000, B10001000, B10001000, B01111110}; byte r[5]={B00111110, B00010000, B00100000, B00100000, B00010000}; byte d[5]={B00011100, B00100010, B00100010, B00010010, B11111110}; byte u[5]={B00111100, B00000010, B00000010, B000000100, B00111110}; byte i[5]={B00000000, B00100010, B10111110, B00000010, B00000000}; byte n[5]={B00111110, B00010000, B00100000, B00100000, B00011110}; byte o[5]={B00011100, B00100010, B00100010, B00100010, B00011100};

/* sekarang tampilkan satu per satu dengan sedikit delay */

lc.setRow(0, 0, a[0]); lc.setRow(0, 1, a[1]); lc.setRow(0, 2, a[2]); lc.setRow(0, 3, a[3]); lc.setRow(0, 4, a[4]); tunda (waktu tunda); lc.setRow(0, 0, r[0]); lc.setRow(0, 1, r[1]); lc.setRow(0, 2, r[2]); lc.setRow(0, 3, r[3]); lc.setRow(0, 4, r[4]); tunda (waktu tunda); lc.setRow(0, 0, d[0]); lc.setRow(0, 1, d[1]); lc.setRow(0, 2, d[2]); lc.setRow(0, 3, d[3]); lc.setRow(0, 4, d[4]); tunda (waktu tunda); lc.setRow(0, 0, u[0]); lc.setRow(0, 1, u[1]); lc.setRow(0, 2, u[2]); lc.setRow(0, 3, u[3]); lc.setRow(0, 4, u[4]); tunda (waktu tunda); lc.setRow(0, 0, i[0]); lc.setRow(0, 1, i[1]); lc.setRow(0, 2, i[2]); lc.setRow(0, 3, i[3]); lc.setRow(0, 4, i[4]); tunda (waktu tunda); lc.setRow(0, 0, n[0]); lc.setRow(0, 1, n[1]); lc.setRow(0, 2, n[2]); lc.setRow(0, 3, n[3]); lc.setRow(0, 4, n[4]); tunda (waktu tunda); lc.setRow(0, 0, o[0]); lc.setRow(0, 1, o[1]); lc.setRow(0, 2, o[2]); lc.setRow(0, 3, o[3]); lc.setRow(0, 4, o[4]); tunda (waktu tunda); lc.setRow(0, 0, 0); lc.setRow(0, 1, 0); lc.setRow(0, 2, 0); lc.setRow(0, 3, 0); lc.setRow(0, 4, 0); tunda (waktu tunda); }

/*

Fungsi ini menyalakan beberapa Led berturut-turut. Pola akan diulang pada setiap baris. Pola akan berkedip bersama dengan nomor baris. baris nomor 4 (indeks==3) akan berkedip 4 kali dll. */ void rows() { for(int row=0;row<8;row++) { delay(delaytime); lc.setRow(0, baris, B10100000); tunda (waktu tunda); lc.setRow(0, baris, (byte)0); untuk(int i=0;i

/*

Fungsi ini menyalakan beberapa Led di kolom. Pola tersebut akan berulang pada setiap kolom. Pola akan berkedip bersama dengan nomor kolom. kolom nomor 4 (indeks==3) akan berkedip 4 kali dll. */ void kolom() { for(int col=0;col<8;col++) { delay(delaytime); lc.setColumn(0, col, B10100000); tunda (waktu tunda); lc.setColumn(0, col, (byte)0); untuk(int i=0;i

/*

Fungsi ini akan menyala setiap Led pada matriks. Led akan berkedip bersama dengan nomor baris. baris nomor 4 (indeks==3) akan berkedip 4 kali dll. */ void single() { for(int row=0;row<8;row++) { for(int col=0;col<8;col++) { tunda (waktu tunda); lc.setLed(0, baris, col, benar); tunda (waktu tunda); untuk(int i=0;i

lingkaran kosong() {

tulisArduinoOnMatrix(); baris(); kolom(); Lajang(); }

Langkah 6: Outputnya

Image
Image
Hasil
Hasil
Hasil
Hasil
Hasil
Hasil

Tonton video lengkapnya disini:-MAX7219 8x8 LED MATRIX ASSEMBLY DAN PENGUJIAN MENGGUNAKAN ARDUINO

Nah semua kerja keras ini, pasti terbayar dengan cukup baik ketika Anda melihat hasilnya. Itu sangat berharga!!

Berlangganan ke saluran youtube saya:-Barang Kreatif

Direkomendasikan: