İçindekiler:
- Gereçler
- 1. Adım: Paketi Kontrol Edin
- 2. Adım: Bu Özel Nokta Matrisi Hakkında Biraz
- 3. Adım: MAX7219 Sürücüsü
- Adım 4: Devre
- Adım 5: Kod
- Adım 6: Çıktı
Video: MAX7219 LED Nokta Vuruşlu Montaj ve Test: 6 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Dot-Matrix Display, matris şeklinde hizalanmış ışık yayan diyotlar içeren bir görüntüleme cihazıdır. Bu Dot matrix ekranlar, Sembol, Grafik, Karakter, Alfabe, Rakamların birlikte statik olarak gösterilmesinin gerektiği uygulamalarda kullanılır. Kaydırma hareketi. Dot Matrix Display 5x7, 8x8, 16x8, 128x16, 128x32 ve 128x64 gibi çeşitli ölçülerde üretilmekte olup, burada sayılar satır ve sütunlarda LED'leri temsil etmektedir. Turuncu, Beyaz.
Bu Eğitilebilir Tabloda, bir MAX7219 sürücüsüne sahip bir 8x8 Dot Matrix'i bir Arduino Uno'ya arabirimlemeden geçeceğim. Haydi başlayalım.
Gereçler
MAX7219
1. Adım: Paketi Kontrol Edin
Gördüğünüz gibi, sürücü kartının bir smt versiyonuna sahibim, smd bileşenlerinin boyutu çok küçük olduğundan ve bunları kolayca kaybedebileceğinizden, gereken her bir bileşeni doğrulamak çok önemlidir. Çevrimiçi dip sürümü de var ama kullandım boyutu için smt sürümü.
2. Adım: Bu Özel Nokta Matrisi Hakkında Biraz
tek modül, 8x8 nokta vuruşlu ortak katodu çalıştırabilir.
Çalışma voltajı: 5 v
Boyutlar: uzunluk 3,2 cm X 3,2 cm genişlik X 1,3 cm yükseklik, dört vidalı delikler, 3 mm çap
Giriş ve çıkış arayüzlü modüller, çoklu modülleri basamaklandırma desteği.
Veri GİRİŞ ve ÇIKIŞ terminalleri modül üzerinde belirtilmiştir.
3. Adım: MAX7219 Sürücüsü
MAX7219, 8x8 LED MATRIX'i kontrol etmek için tasarlanmış bir IC'dir. IC, mikroişlemcileri (veya mikro denetleyiciyi) 8 haneye kadar 7 segmentli sayısal LED ekranlara, çubuk grafik ekranlara veya 64 ayrı LED'e bağlayan seri giriş ortak katot (Ortak Negatif) ekran sürücüleridir.
Özellikler ve Spesifikasyonlar
Çalışma voltajı aralığı: +4.0 ila +5.5V
Önerilen çalışma voltajı: +5V
Maksimum besleme gerilimi: 6V
Her segment pininden çekilmesine izin verilen maksimum akım: 100mA
Her DIGIT topraklama piminden geçmesine izin verilen maksimum akım: 500mA
Düşük güç tüketimi
Veriden Segmente Gecikme Süresi: 2.2mSec
Çalışma sıcaklığı: 0°C ila +70°C
Depolama Sıcaklığı: -65°C ila +150°C
Adım 4: Devre
Devre oldukça basittir ve erkek-dişi jumper kablolar kullanılarak oluşturulabilir. Sadece pinout'u takip edin ve devreyi kurun. Matrix için kalıcı bir uygulama yapıyorsanız, daha sonra bir PCB üzerine monte edebilirsiniz.
Pin Yapılandırması aşağıdaki gibidir:
- Arduino'nun 5V Pinine Vcc.
- Arduino'nun Gnd'den Gnd Pinine.
- Arduino'nun DIN - Dijital Pin 12'si.
- Arduino'nun CS'den Dijital Pin 11'ine
- Arduino'nun Dijital Pin 10'una CLK.
Adım 5: Kod
İşte bu Eğitilebilir Tabloda size iki farklı kod vereceğim. Matrix'te bazı İngilizce alfabeler ve ifadeler oluşturulacaktır. Diğeri ise 64 LED'in hepsini tek tek yanacak. Çalışması için lledcontrol kitaplığını kullanmalısınız.
Bu İngilizce alfabe ve gülümsemeler için koddur
#include int DIN = 12; int CS = 11; int CLK = 10; bayt e[8]= {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; bayt d[8]= {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; bayt u[8]= {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; bayt c[8]= {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; bayt sekiz[8]= {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; bayt s[8]= {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; bayt nokta[8]= {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; bayt o[8]= {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; bayt m[8]= {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc=LedControl(DIN, CLK, CS, 0); void setup(){ lc.shutdown(0, false); //MAX72XX, başlangıçta güç tasarrufu modundadır lc.setIntensity(0, 15); // Parlaklığı maksimum değere ayarlayın lc.clearDisplay(0); // ve ekranı temizle } void loop(){ byte smile[8]= {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; bayt nötr[8]= {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; bayt kaşlarını[8]= {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte(gülümseme); gecikme(1000); printByte(nötr); gecikme(1000); printByte(kaşlarını); gecikme(1000); printEduc8s(); lc.clearDisplay(0); gecikme(1000); } geçersiz printEduc8s() { printByte(e); gecikme(1000); printByte(d); gecikme(1000); printByte(u); gecikme(1000); printByte(c); gecikme(1000); printByte(sekiz); gecikme(1000); printByte(lar); gecikme(1000); printByte(nokta); gecikme(1000); printByte(c); gecikme(1000); printByte(o); gecikme(1000); printByte(m); gecikme(1000); } void printByte(bayt karakter ) { int i = 0; for(i=0;i<8;i++) { lc.setRow(0, i, karakter); } }
ve 64 LED'in tümünü test etme kodu
//Her zaman #include "LedControl.h" kitaplığını dahil etmeliyiz
/*
Şimdi çalışmak için bir LedControl'e ihtiyacımız var. ***** Bu pin numaraları muhtemelen donanımınızla çalışmayacaktır ***** pin 12 DataIn'e bağlı pin 10 CLK'ye pin 11 LOAD'a bağlı elimizde sadece tek bir MAX72XX var. */ LedControl lc=LedControl(12, 11, 10, 1);
/* ekran güncellemeleri arasında her zaman biraz bekleriz */
imzasız uzun gecikme süresi=100;
geçersiz kurulum() {
/* MAX72XX başlangıçta güç tasarrufu modunda, bir uyandırma çağrısı yapmamız gerekiyor */ lc.shutdown(0, false); /* Parlaklığı orta değerlere ayarlayın */ lc.setIntensity(0, 8); /* ve ekranı temizle */ lc.clearDisplay(0); }
/*
Bu yöntem, matris üzerinde birbiri ardına "Arduino" kelimesinin karakterlerini gösterecektir. (tüm karakterleri görebilmek için en az 5x7 led gerekir) */ void writeArduinoOnMatrix() { /* karakterlerin verileri burada */ byte a[5]={B01111110, B10001000, B10001000, B10001000, B01111110}; bayt r[5]={B00111110, B00010000, B00100000, B00100000, B00010000}; bayt d[5]={B00011100, B00100010, B00100010, B00010010, B11111110}; bayt u[5]={B00111100, B00000010, B00000010, B00000100, B00111110}; bayt i[5]={B00000000, B00100010, B10111110, B00000010, B00000000}; bayt n[5]={B00111110, B00010000, B00100000, B00100000, B00011110}; bayt o[5]={B00011100, B00100010, B00100010, B00100010, B00011100};
/* şimdi onları küçük bir gecikmeyle tek tek göster */
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]); gecikme (gecikme süresi); 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]); gecikme (gecikme süresi); 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]); gecikme (gecikme süresi); 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]); gecikme (gecikme süresi); 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]); gecikme (gecikme süresi); 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]); gecikme (gecikme süresi); 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]); gecikme (gecikme süresi); 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); gecikme (gecikme süresi); }
/*
Bu fonksiyon arka arkaya birkaç Led yakar. Desen her satırda tekrarlanacaktır. Desen, satır numarasıyla birlikte yanıp sönecektir. 4. satır (index==3) 4 kez yanıp sönecek vs. */ void rows() { for(int row=0;row<8;row++) { delay(delaytime); lc.setRow(0, satır, B10100000); gecikme (gecikme süresi); lc.setRow(0, satır, (bayt)0); for(int i=0;i
/*
Bu fonksiyon, bir sütundaki bazı Ledleri yakar. Desen her sütunda tekrarlanacaktır. Desen, sütun numarasıyla birlikte yanıp sönecektir. 4 numaralı sütun (index==3) 4 kez yanıp sönecek vb. */ void column() { for(int col=0;col<8;col++) { delay(delaytime); lc.setColumn(0, sütun, B10100000); gecikme (gecikme süresi); lc.setColumn(0, col, (byte)0); for(int i=0;i
/*
Bu fonksiyon matris üzerindeki her Led'i yakar. Led, sıra numarası ile birlikte yanıp sönecektir. 4 numaralı satır (index==3) 4 kez yanıp söner vb. */ void single() { for(int row=0;row<8;row++) { for(int col=0;col<8;col++) { gecikme (gecikme süresi); lc.setLed(0, satır, sütun, doğru); gecikme (gecikme süresi); for(int i=0;i
boşluk döngüsü () {
writeArduinoOnMatrix(); satırlar(); sütunlar(); bekar(); }
Adım 6: Çıktı
Videonun tamamını buradan izleyin:-MAX7219 8x8 LED MATRIX MONTAJ VE ARDUINO kullanarak TEST
Peki tüm bu sıkı çalışma, sonucu gördüğünüzde kesinlikle oldukça iyi sonuç veriyor. Buna değer !!
Youtube kanalıma abone olun:-Creative Stuff
Önerilen:
IoT Akıllı Saat Nokta Vuruşlu Kullanım Wemos ESP8266 - ESP Matrisi: 12 Adım (Resimlerle)
IoT Akıllı Saat Nokta Vuruşlu Wemos Kullanın ESP8266 - ESP Matrisi: Kendi IoT Akıllı Saatinizi yapın: Şunları yapabilir: Saati güzel bir animasyon simgesiyle görüntüleyin Hatırlatıcı-1'den Hatırlatıcı-5'e Ekran Takvimi Görüntüleyin Müslüman Namaz Vakitlerini Görüntüleyin Hava Durumu Bilgilerini Görüntüleyin Haberleri Görüntüleyin Tavsiye Ekranı Bitcoin oranı Ekran
Arduino UNO Kullanarak 4'ü 1 Arada MAX7219 Nokta Vuruşlu Ekran Modülü Eğitimi: 5 Adım
Arduino UNO Kullanarak 4'ü 1 Arada MAX7219 Nokta Vuruşlu Ekran Modülü Eğitimi: Açıklama: Kontrol etmesi kolay LED matrisi mi arıyorsunuz? Bu 4'ü 1 Arada Nokta Vuruşlu Ekran modülü sizin için uygun olmalıdır. Modülün tamamı, her biri MAX7219 IC ile donatılmış dört adet 8x8 KIRMIZI ortak katot nokta matrisi ile gelir. Çalışan metni görüntülemek için harika bir
NodeMCU ile Arayüz LED Nokta Vuruşlu (8x8): 6 Adım (Resimlerle)
Arayüz LED Nokta Vuruşlu (8x8) NodeMCU ile: Merhaba Yapıcılar, başka bir basit ve havalı Instructable ile birlikteyim. Bu Instructable'da LED Dot Matrix'i (8x8) NodeMCU ile Arayüz yapmayı öğreneceğiz. Öyleyse başlayalım
SMS Monitörü -- Nokta Vuruşlu Ekran -- MAX7219 -- SIM800L: 8 Adım (Resimlerle)
SMS Monitörü || Nokta Vuruşlu Ekran || MAX7219 || SIM800L: Bu videoda bir GSM modülünün nasıl kullanılacağını, nokta vuruşlu ekranı ve üzerinde kayan yazının nasıl görüntüleneceğini öğreneceksiniz. Bundan sonra, bir GSM SIM üzerinden alınan mesajları bir nokta vuruşlu ekranda görüntülemek için bunları bir araya getireceğiz. Oldukça kolay ve yo
LED Nokta Vuruşlu Ekran: 8 Adım (Resimlerle)
LED Nokta Vuruşlu Ekran: Bu, kendi kişiselleştirilmiş LED Nokta Vuruşlu ekranınızı yapmak için basit bir NASILDIR. LED'leri yakmak için tüm programı bir açıklama ile ekleyeceğim. Ayrıca oldukça hacklenebilir, kendinize göre değiştirebilirsiniz. Kendi d'mi yapmaya karar verdim