Yazılardaki ürünleri komponentci.net'te inceleyebilir, hemen sipariş verebilirsiniz.komponentci.net →
KomponentciBlog Mağaza
Blog  ›  Ekranlar

MAX7219 LED Matris: Bağlantı, Zincirleme ve Kayan Yazı

MAX7219 LED Matris: Bağlantı, Zincirleme ve Kayan Yazı
Kısa cevap

MAX7219 LED matris modülü Arduino'ya beş kabloyla bağlanır: VCC 5V'a, GND GND'ye, DIN D11'e, CS D10'a, CLK D13'e. Birden fazla modül, her birinin DOUT çıkışı bir sonrakinin DIN girişine gidecek biçimde zincirlenir. Kayan yazı için MD_Parola, tek modülde basit desenler için LedControl kütüphanesi kullanılır.

Mağaza vitrinindeki kayan yazı, bir sayaç ya da basit bir animasyon için en kolay yol MAX7219 sürücülü LED matris modülüdür. 64 LED'i yalnızca üç veri kablosuyla kontrol eder ve modüller arka arkaya eklenerek uzun bir pano oluşturulabilir. Bu yazıda MAX7219 modülünün pinlerini, Arduino bağlantısını, zincirleme mantığını, kütüphane seçimini ve MD_Parola ile kayan yazı kodunu anlatıyoruz.

MAX7219 LED matris modülü nedir?

MAX7219 LED matris modülü, 8x8 ortak katotlu bir LED matrisi seri arayüzle süren MAX7219 entegresini aynı kartta birleştiren bir gösterge modülüdür. Entegre her satırın verisini kendi içindeki belleğinde tutar ve tarama işini kendisi yapar; Arduino'nun yalnızca değişen veriyi göndermesi yeterlidir.

MAX7219 aslında 8 haneli 7 segment göstergeler için tasarlanmıştır, bu yüzden 64 ayrı LED'i de sürebilir. Parlaklık yazılımla 16 kademede ayarlanır ve segment akımı kart üzerindeki tek bir dirençle sınırlanır. Tek matris için MAX7219 8x8 Dotmatrix LED modül, hazır zincirlenmiş pano için MAX7219 4'lü 8x8 nokta matris modülü kullanılabilir. Kendi kartını tasarlayanlar MAX7219 DIP24 entegresini ayrı olarak da alabilir.

MAX7219 modülünün pinleri ne işe yarar?

MAX7219 modülünde giriş tarafında beş pin bulunur: VCC ve GND beslemeyi, DIN veriyi, CLK saat sinyalini, CS ise verinin ne zaman işleneceğini belirler. Çıkış tarafındaki pinler zincirdeki bir sonraki modüle gider.

PinGöreviArduino Uno
VCCBesleme5V
GNDOrtak toprakGND
DINSeri veri girişiD11 (MOSI)
CSYükleme (LOAD) sinyaliD10
CLKSaat sinyaliD13 (SCK)
DOUTSeri veri çıkışıSonraki modülün DIN pinine

Seri veri mantığı 74HC595 shift register entegresine benzer: bitler CLK ile içeri kaydırılır, CS yükselince işlenir.

MAX7219 Arduino'ya nasıl bağlanır?

MAX7219 modülü Arduino Uno'ya VCC 5V, GND GND, DIN D11, CS D10 ve CLK D13 olacak şekilde bağlanır. D11 ve D13 Uno'nun donanım SPI pinleridir; MD_Parola bu pinleri kullanır.

  1. Arduino'nun USB kablosunu çıkarın ve modülü giriş tarafı (DIN yazan uç) Arduino'ya bakacak şekilde yerleştirin.
  2. Modülün VCC pinini 5V'a, GND pinini GND'ye bağlayın.
  3. DIN pinini D11'e, CS pinini D10'a, CLK pinini D13'e bağlayın.
  4. İkinci modül ekleyecekseniz birinci modülün DOUT pinini ikincinin DIN pinine bağlayın; CS, CLK, VCC ve GND ortak kalır.
  5. Kütüphane yöneticisinden MD_Parola ve MD_MAX72XX kütüphanelerini kurun, örnek kodu yükleyin.
MAX7219 LED matris modülü Arduino Uno bağlantı şeması: VCC 5V pinine, GND GND pinine, DIN D11 pinine, CS D10 pinine, CLK D13 pinine; ikinci modülde birinci modülün DOUT pini ikincinin DIN pinine, CS, CLK, VCC ve GND ortak
D11 ve D13 Uno'nun donanım SPI pinleridir. Zincirde yalnızca DOUT bir sonraki modülün DIN girişine gider; diğer hatlar ortaktır.

Bağlantı için dişi-erkek jumper kablo ve Arduino Uno R3 yeterlidir. Tüm LED'ler yüksek parlaklıkta yandığında akım belirgin biçimde artar. Dört ve daha fazla matrisli panolarda 5V hattını USB yerine ayrı bir 5V adaptörden besleyin ve adaptörün GND ucunu Arduino GND'sine bağlayın.

Birden fazla MAX7219 modülü nasıl zincirlenir?

Birden fazla MAX7219 modülü, her modülün DOUT çıkışı bir sonrakinin DIN girişine bağlanarak zincirlenir; CS ve CLK tüm modüllerde ortaktır. Böylece modül sayısı artsa da Arduino'da yalnızca üç veri pini kullanılır.

Veri, zincir boyunca bir modülden diğerine kaydırılır. Kodda bu yüzden toplam modül sayısını doğru yazmanız gerekir; eksik yazılırsa son modüller boş kalır ya da yanlış veri gösterir. MAX7219 4-in-1 dot matrix modülü gibi dörtlü kartlarda bu zincir kartın üzerinde hazır kurulmuştur; iki dörtlü kartı arka arkaya taktığınızda kodda modül sayısını 8 yaparsınız.

Hangi kütüphane seçilmeli: LedControl mı MD_Parola mı?

Kayan yazı ve hazır efektler gerekiyorsa MD_Parola, tek tek LED ya da satır kontrolü gerekiyorsa LedControl seçilmelidir. İkisi de ücretsizdir ve Arduino kütüphane yöneticisinden kurulur.

KütüphaneUygun işPin seçimiNot
LedControlTek LED, satır, basit desenHerhangi üç dijital pinYazı ve kaydırmayı siz kodlarsınız
MD_MAX72XXNokta, sütun, grafikDonanım SPI ya da yazılımsalMD_Parola'nın alt katmanıdır
MD_ParolaKayan yazı, metin efektleriDonanım SPI ya da yazılımsalKart tipini doğru seçmek gerekir

Tek modülde gülen yüz gibi bir deseni LedControl ile şöyle gösterebilirsiniz:

#include "LedControl.h"

// DIN, CLK, CS, modul sayisi
LedControl lc = LedControl(11, 13, 10, 1);
byte yuz[8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C};

void setup() {
  lc.shutdown(0, false);   // uyku modundan cik
  lc.setIntensity(0, 4);   // parlaklik 0-15
  lc.clearDisplay(0);
  for (int satir = 0; satir < 8; satir++) lc.setRow(0, satir, yuz[satir]);
}

void loop() {}

MD_Parola ile kayan yazı nasıl yapılır?

MD_Parola ile kayan yazı için kart tipi, modül sayısı ve CS pini tanımlanır, ardından displayText() ile metin ve efekt seçilir. Aşağıdaki kod dörtlü bir modülde metni sola doğru kaydırır:

#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4
#define CS_PIN 10

MD_Parola ekran = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

void setup() {
  ekran.begin();
  ekran.setIntensity(3);
  ekran.displayClear();
  ekran.displayText("Komponentci", PA_CENTER, 60, 1000, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
}

void loop() {
  if (ekran.displayAnimate()) ekran.displayReset();
}

Hız değeri (60) küçüldükçe yazı hızlanır. Harfler ters, aynalı ya da dik görünüyorsa HARDWARE_TYPE değerini PAROLA_HW, GENERIC_HW ya da ICSTATION_HW ile deneyin; piyasadaki dörtlü kartların çoğu FC16_HW ile çalışır. Diğer LED ve LCD göstergeleri Arduino LCD ve LED display kategorisinde bulabilirsiniz.

Sık sorulan sorular

MAX7219 modülü 3,3V ile çalışır mı?

MAX7219 entegresi 4,0V ile 5,5V arasında beslenmek üzere tasarlanmıştır, bu yüzden VCC'yi 5V'a bağlamak gerekir. ESP32 gibi 3,3V kartlarda modülü 5V ile besleyip veri pinlerini doğrudan bağlayan uygulamalar çalışabilir, ancak sinyal seviyesi sınırda kalır. Kararlı sonuç için DIN, CS ve CLK hatlarına lojik seviye dönüştürücü eklemek daha güvenlidir.

Kayan yazıda Türkçe karakterler neden çıkmıyor?

MD_Parola'nın varsayılan yazı tipinde ş, ğ, ı, İ gibi Türkçe harfler bulunmadığı için bu karakterler boş ya da farklı bir simge olarak görünür. Çözüm, kütüphanenin font araçlarıyla bu harfleri içeren özel bir yazı tipi hazırlamak ya da metni Türkçe karaktersiz yazmaktır. Arduino kaynak dosyası UTF-8 kaydedildiği için bu harfler ayrıca iki bayt olarak gönderilir.

Kaç MAX7219 modülü zincirlenebilir?

Kütüphaneler modül sayısını yazılımda sınırlamaz; pratik sınırı besleme gücü, kablo uzunluğu ve güncelleme hızı belirler. Her modül eklendiğinde toplam akım artar ve veri daha uzun bir zincirden geçer. Uzun panolarda 5V'u birkaç noktadan dağıtın, kabloları kısa tutun ve modül sayısını koddaki MAX_DEVICES değerine doğru yazın.

Matris neden titriyor ya da rastgele LED yakıyor?

Titreme ve rastgele LED'ler çoğunlukla yetersiz beslemeden ya da gevşek veri bağlantısından kaynaklanır. Önce 5V hattının yük altında düşmediğini ölçün, ardından DIN, CS ve CLK kablolarını kontrol edin. Uzun jumper kablolar parazit toplayabilir; VCC ile GND arasına kartın yakınına 10 µF civarı bir kondansatör eklemek beslemeyi düzeltir.

MAX7219 ile 7 segment gösterge sürülebilir mi?

Evet, MAX7219 ortak katotlu 7 segment göstergeleri 8 haneye kadar doğrudan sürebilir; entegre zaten bu iş için tasarlanmıştır. Entegrenin içindeki kod çözücü açıldığında rakamları tek komutla yazdırabilirsiniz. Rakam yazdırmak için LedControl kütüphanesindeki setDigit() fonksiyonu kullanılabilir. Göstergelerin pin yapısı için 7 segment display bağlantısı yazımıza bakabilirsiniz.

Özet

  • MAX7219 LED matris modülü, 64 LED'i üç veri kablosuyla süren ve tarama işini kendisi yapan bir gösterge modülüdür.
  • Bağlantı: VCC 5V, GND GND, DIN D11, CS D10, CLK D13.
  • Zincirlemede DOUT bir sonraki DIN'e gider; CS, CLK ve besleme ortaktır.
  • Kayan yazı için MD_Parola, basit desenler için LedControl kullanılır.
  • Yazı ters ya da aynalı çıkarsa MD_Parola'da kart tipi değiştirilir; çok modüllü panolar ayrı 5V kaynakla beslenir.

Bu yazıdaki ürünler

Diğer yazılar