Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
MAX7219, 7 seqmentli LEDləri (8 rəqəmə qədər), bloklu displeyləri (çubuqlu displeyləri) və 64 fərdi LED-ləri idarə etmək üçün istifadə olunan bir IC-dir. Bir mikro nəzarətçi ilə əlaqə qurmaq üçün MAX7219 SPI rabitə sistemindən istifadə edir. Belə ki, 64 LED -i idarə etmək üçün yalnız 3 port mikro nəzarətçi lazımdır.
Bu yazıda sürücü olaraq IC MAX7219 istifadə edən 7 Segement modulundan necə istifadə edəcəyinizi sizə göstərəcəyəm.
Lazım olan komponentlər:
- MAX7219 7 Segment Modulu
- Arduino Nano
- tel Jumper
- USB mini
Tələb olunan kitabxana:
LedControl
Bu dərslikdə Arduino Nano lövhəsindən istifadə edirəm. Heç istifadə etməmisinizsə. "Arduino Nanonun Necə İstifadə Edilməsi" ilə bağlı əvvəlki məqaləmi oxumağı təklif edirəm.
Addım 1: Bütün komponentləri yığın
Arduino lövhəsini 7 Segment moduluna qoşun. Aşağıda yazdığım şəklə və ya təlimata baxın:
Arduino 7 Segmentə qədər
+5V => VCC
GND => GND
D12 => DIN
D11 => CLK
D10 => CS/YÜKLƏ
Addım 2: Kitabxana əlavə edin
Dövrə tamamlandıqdan sonra. "LedControl" kitabxanasını Arduino IDE -yə əlavə edin.
Arduino -ya kitabxana əlavə etmək üçün onu əvvəllər hazırladığım "Arduino -ya Xarici Kitabxananı Necə Əlavə etmək olar" məqaləsində oxuya bilərsiniz.
Addım 3: Əlavə funksiyalar
LedControl kitabxanasını əlavə etdikdən sonra. 7 Segment modulunu idarə etmək üçün əlavə funksiyalardan istifadə edə bilərsiniz.
Arqument
addr - ekranın ünvanı
rəqəm - rəqəmin ekrandakı mövqeyi (0..7) dəyəri - göstəriləcək dəyər. (0x00..0x0F)
dp onluq nöqtəni təyin edir.
Funksiya
setChar (addr, rəqəm, dəyər.dp); // 7 bitlik ASCII kodlaşdırması üçün char tipinin dəyərini göstərmək üçün
setDigit (addr, rəqəm, dəyər, bolean dp); // rəqəmləri və simvolları bir funksiyada göstərmək üçün setRow (addr, digit, value, boolean dp); // obyekti istədiyiniz rəqəmlə göstərmək
Daha ətraflı məlumat üçün buradan oxuyun.
Addım 4: Sketch yükləyin
Bu 7 Segment modulunun sınaq versiyasını hazırladım. Aşağıdakı kodu kopyalayıb, eskizinizə yapışdıra bilərsiniz.
// Biz həmişə kitabxanaya daxil olmalıyıq
#"LedControl.h" daxil edin
/*
İndi işləmək üçün bir LedControl lazımdır. ***** Bu pin nömrələri, ehtimal ki, aparatınızla işləməyəcək *****
pin 12, DataIn -ə bağlıdır
pin 11 CLK -yə bağlıdır
pin 10 LOAD -a bağlıdır
Yalnız bir MAX72XX var.
*/
LedControl lc = LedControl (12, 11, 10, 1);
/ * Ekranın yeniləmələri arasında hər zaman bir az gözləyərik */
imzasız uzun gecikmə müddəti = 500;
boş quraşdırma () {
/ * MAX72XX başlanğıcda enerji qənaət rejimindədir, oyanış çağırışı etməliyik */
lc.shutdown (0, yanlış);
/ * Parlaqlığı orta dəyərlərə təyin edin */
lc.setIntensity (0, 8);
/ * və ekranı silin */
lc.clearDisplay (0);}
void salam () {
lc.setChar (0, 7, 'H', yalan);
lc.setChar (0, 6, 'E', yalan);
lc.setChar (0, 5, 'L', yalan);
lc.setChar (0, 4, 'L', yalan);
lc.setChar (0, 3, '0', yalan);
lc.setChar (0, 2, '.', yalan);
lc.setChar (0, 1, '.', yalan);
lc.setChar (0, 0, '.', yalan);
gecikmə (gecikmə müddəti+1000);
lc.clearDisplay (0);
gecikmə (gecikmə);
lc.setDigit (0, 7, 1, yalan);
gecikmə (gecikmə);
lc.setDigit (0, 6, 2, yalan);
gecikmə (gecikmə);
lc.setDigit (0, 5, 3, yalan);
gecikmə (gecikmə);
lc.setDigit (0, 4, 4, yalan);
gecikmə (gecikmə);
lc.setDigit (0, 3, 5, yalan);
gecikmə (gecikmə vaxtı);
lc.setDigit (0, 2, 6, yalan);
gecikmə (gecikmə);
lc.setDigit (0, 1, 7, yalan);
gecikmə (gecikmə vaxtı);
lc.setDigit (0, 0, 8, yalan);
gecikmə (1500);
lc.clearDisplay (0);
gecikmə (gecikmə vaxtı);
}
void loop () {salam ();
}
Və ya aşağıdakı faylı yükləyin:
Addım 5: Nəticə
Nəticədən zövq alın.
Suallarınız varsa şərh bölməsində yazın.
Növbəti məqalədə görüşərik.