Minggu, 12 Oktober 2025

Program running text (tulisan berjalan) untuk Arduino Uno dan modul tampilan matriks LED 8×32 MAX7219




Program running text (tulisan berjalan) untuk Arduino Uno dan modul tampilan matriks LED MAX7219, menggunakan teks "SELAMAT DATANG".

Anda akan menggunakan pustaka MD_Parola dan MD_MAX72XX karena pustaka ini sangat efektif untuk membuat teks berjalan pada banyak modul MAX7219 yang disambung berantai (daisy-chained).

Persiapan Awal

1. Pemasangan Pustaka (Library Installation)

Anda perlu menginstal dua pustaka melalui Library Manager di Arduino IDE:

  • MD_MAX72XX

  • MD_Parola

Buka Sketch > Include Library > Manage Libraries... dan cari serta instal kedua pustaka tersebut.

2. Pengkabelan (Wiring)

Modul biasanya terdiri dari empat modul yang disambung berantai. Sambungkan pin-pin dari modul MAX7219 pertama ke Arduino Uno Anda (atau board yang kompatibel) sebagai berikut:

MAX7219 ModulPin Arduino Uno
VCC5V
GNDGND
DINPin Digital 11 (MOSI)
CLKPin Digital 13 (SCK)
CSPin Digital 10 (SS/LOAD)

Catatan Penting:

  • Disarankan untuk menggunakan pin SPI Hardware (Pin 11, 13, 10 pada Uno) untuk kinerja yang lebih baik.

  • Modul yang terdiri dari 4 modul dapat menarik arus yang cukup besar. Untuk penggunaan yang stabil, terutama jika kecerahan disetel tinggi, sebaiknya gunakan catu daya eksternal 5V terpisah untuk modul LED (pastikan GND Arduino dan GND catu daya eksternal terhubung).


Kode Program Arduino

Salin dan tempel kode berikut ke Arduino IDE Anda:

Arduino
#include <MD_Parola.h>
#include <MD_MAX72XX.h>
#include <SPI.h>

// Definisikan tipe hardware Anda. 
// Pilihan umum termasuk FC16_HW atau GENERIC_HW.
// Sesuaikan jika tampilan Anda tidak berfungsi.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW

// Tentukan jumlah modul 8x8 yang disambung berantai.
// Untuk tampilan 8x32, jumlah modulnya adalah 4 (8 * 4 = 32)
#define MAX_DEVICES 4

// Tentukan pin CS (Chip Select) yang terhubung ke Arduino
#define CS_PIN 10 

// Teks yang akan ditampilkan
#define SCROLL_TEXT "SELAMAT DATANG"

// Buat objek MD_Parola
MD_Parola myDisplay = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

// Kecepatan teks berjalan (dalam milidetik). Nilai yang lebih kecil = lebih cepat. (Misalnya 35 - 150)
const uint8_t SCROLL_SPEED = 70; 
// Efek teks, PA_SCROLL_LEFT adalah yang paling umum untuk teks berjalan
const textEffect_t SCROLL_EFFECT = PA_SCROLL_LEFT; 
// Penjajaran teks
const textPosition_t SCROLL_ALIGN = PA_LEFT; 
// Jeda setelah pesan selesai (dalam milidetik)
const uint16_t SCROLL_PAUSE = 0; 

void setup() {
  Serial.begin(57600);
  
  // Inisialisasi tampilan
  myDisplay.begin();
  
  // Atur intensitas (kecerahan) tampilan (0-15)
  // Atur ke nilai yang lebih rendah jika menggunakan daya dari USB Arduino
  myDisplay.setIntensity(4); 
  
  // Bersihkan tampilan
  myDisplay.displayClear();
  
  // Konfigurasi teks berjalan
  myDisplay.setTextAlignment(SCROLL_ALIGN);
  myDisplay.setTextEffect(SCROLL_EFFECT, SCROLL_EFFECT);
  myDisplay.setSpeed(SCROLL_SPEED);
  myDisplay.setPause(SCROLL_PAUSE);
  
  // Setel teks untuk animasi pertama (running text)
  myDisplay.displayScroll(SCROLL_TEXT, PA_LEFT, PA_SCROLL_LEFT, SCROLL_SPEED);
}

void loop() {
  // myDisplay.displayAnimate() adalah fungsi utama yang melakukan animasi teks.
  // Jika animasi selesai, kita akan me-reset-nya untuk mengulang.
  if (myDisplay.displayAnimate()) {
    // Reset animasi untuk mulai dari awal lagi (running text berulang)
    myDisplay.displayReset();
  }
}

Penjelasan Kode

Definisi

  • #define HARDWARE_TYPE MD_MAX72XX::FC16_HW: Mengatur tipe modul. FC16_HW umum digunakan untuk modul 4-in-1 (yang membentuk ). Jika tidak berfungsi, coba ganti dengan MD_MAX72XX::GENERIC_HW.

  • #define MAX_DEVICES 4: Menunjukkan ada 4 modul yang disambung, membentuk .

  • #define CS_PIN 10: Menentukan pin Chip Select (CS) atau LOAD yang terhubung ke Arduino.

  • MD_Parola myDisplay = MD_Parola(...): Membuat objek utama untuk mengontrol tampilan dan animasi.

  • #define SCROLL_TEXT "SELAMAT DATANG": Teks yang akan berjalan.

void setup()

  • myDisplay.begin(): Memulai komunikasi dengan modul MAX7219.

  • myDisplay.setIntensity(4): Mengatur kecerahan (0-15).

  • myDisplay.displayScroll(...): Mengatur teks dan parameter animasi awal:

    • SCROLL_TEXT: Teksnya.

    • PA_LEFT: Penjajaran teks.

    • PA_SCROLL_LEFT: Efek entri (masuk dari kanan).

    • SCROLL_SPEED: Kecepatan berjalan.

void loop()

  • if (myDisplay.displayAnimate()): Fungsi ini harus dipanggil di loop() untuk menjalankan animasi. Fungsi ini mengembalikan true ketika animasi saat ini selesai.

  • myDisplay.displayReset(): Jika animasi selesai, fungsi ini mengatur ulang tampilan ke awal, sehingga teks "SELAMAT DATANG" akan berjalan secara berulang.

0 Comments:

Posting Komentar