Arduino 8x8 Led Matrix Max7219 Code

5 min read Sep 04, 2024
Arduino 8x8 Led Matrix Max7219 Code

Membuat Matrix LED 8x8 dengan Arduino dan MAX7219

Pengantar

Matrix LED 8x8 adalah komponen elektronik yang terdiri dari 64 LED yang disusun dalam matriks 8x8. Komponen ini sering digunakan untuk menampilkan teks, angka, simbol, atau animasi sederhana. MAX7219 adalah IC driver yang dapat mengendalikan matriks LED 8x8 dengan mudah. Artikel ini akan membahas cara mengendalikan matriks LED 8x8 dengan Arduino menggunakan IC driver MAX7219.

Komponen yang Diperlukan

  • Arduino Uno (atau board Arduino lainnya)
  • Matrix LED 8x8
  • IC Driver MAX7219
  • Resistor 220 Ohm
  • Kabel jumper

Skema Rangkaian

!

Kode Arduino

#include 

// Define pin untuk komunikasi SPI
const int DIN = 11;
const int CLK = 13;
const int CS = 10;

// Fungsi untuk mengirim data ke MAX7219
void sendData(byte address, byte data) {
  digitalWrite(CS, LOW);
  SPI.transfer(address);
  SPI.transfer(data);
  digitalWrite(CS, HIGH);
}

void setup() {
  // Set pin untuk komunikasi SPI
  pinMode(DIN, OUTPUT);
  pinMode(CLK, OUTPUT);
  pinMode(CS, OUTPUT);

  // Initialize SPI library
  SPI.begin();

  // Set mode operasi MAX7219
  sendData(0x09, 0x00); // Set mode operasi ke "normal"
  sendData(0x0A, 0x01); // Aktifkan tampilan LED
  sendData(0x0B, 0x07); // Atur intensitas LED (0-15)
}

void loop() {
  //  Tuliskan data ke matriks LED 8x8 di sini
  //  Contoh: Menampilkan huruf "A"
  sendData(0x01, B11111100);
  sendData(0x02, B01100110);
  sendData(0x03, B01111100);
  sendData(0x04, B01100110);
  sendData(0x05, B01100110);
  sendData(0x06, B01100110);
  sendData(0x07, B01100110);
  sendData(0x08, B01100110);

  //  Jeda
  delay(1000);

  //  Hapus tampilan
  sendData(0x01, B00000000);
  sendData(0x02, B00000000);
  sendData(0x03, B00000000);
  sendData(0x04, B00000000);
  sendData(0x05, B00000000);
  sendData(0x06, B00000000);
  sendData(0x07, B00000000);
  sendData(0x08, B00000000);

  delay(1000);
}

Penjelasan Kode:

  • #include <SPI.h>: Menyertakan library SPI untuk komunikasi dengan IC MAX7219.
  • const int DIN = 11;: Mendefinisikan pin data output untuk komunikasi SPI.
  • const int CLK = 13;: Mendefinisikan pin clock output untuk komunikasi SPI.
  • const int CS = 10;: Mendefinisikan pin chip select output untuk komunikasi SPI.
  • void sendData(byte address, byte data): Fungsi untuk mengirim data ke MAX7219.
  • void setup(): Fungsi yang dieksekusi sekali saat program dimulai.
    • Set pin untuk komunikasi SPI.
    • Inisialisasi library SPI.
    • Konfigurasi MAX7219 dengan perintah:
      • sendData(0x09, 0x00);: Set mode operasi ke "normal".
      • sendData(0x0A, 0x01);: Aktifkan tampilan LED.
      • sendData(0x0B, 0x07);: Atur intensitas LED (0-15).
  • void loop(): Fungsi yang dieksekusi terus menerus.
    • Tuliskan data ke matriks LED 8x8 di sini.
    • Contoh: Menampilkan huruf "A".
    • Jeda.
    • Hapus tampilan.
    • Jeda.

Cara Kerja Kode:

  1. Program ini pertama kali menginisialisasi library SPI dan pin untuk komunikasi SPI.
  2. Kemudian, program mengonfigurasi MAX7219 dengan mode operasi, intensitas LED, dan mengaktifkan tampilan.
  3. Program kemudian mengirimkan data ke MAX7219 untuk mengendalikan LED.
  4. Data diubah menjadi format binari yang mewakili pola LED yang ingin ditampilkan.
  5. Program mengirimkan data ke MAX7219 melalui komunikasi SPI.
  6. MAX7219 menerima data dan mengendalikan LED sesuai dengan data yang diterima.

Kesimpulan

Artikel ini telah membahas cara mengendalikan matrix LED 8x8 dengan Arduino menggunakan IC driver MAX7219. Dengan mempelajari skema rangkaian dan kode Arduino yang diberikan, Anda dapat membuat proyek sederhana yang menampilkan teks, angka, simbol, atau animasi. Anda dapat memodifikasi kode untuk menampilkan pola yang lebih kompleks atau menambahkan fungsi lain sesuai kebutuhan. Selamat bereksperimen!

Latest Posts