from machine import Pin, SPI
import max7219
import time
# Configuration constants
MATRIX_WIDTH = 32
MATRIX_HEIGHT = 8
BAUDRATE = 10000000
SCROLL_DELAY = 0.05 # Speed of scrolling (lower value = faster scroll)
# Messages to display on the LED matrix
messages = [
"Hi Fadhil Rabbani ",
"Semangat Belajar nya yaa"
]
# Initialize SPI and the MAX7219 LED matrix
spi = SPI(1, baudrate=BAUDRATE)
screen = max7219.Max7219(MATRIX_WIDTH, MATRIX_HEIGHT, spi, Pin(15))
def scroll_text(text, delay=SCROLL_DELAY):
"""Scrolls the provided text across the LED matrix."""
message_width = len(text) * 8 # Each character is 8 pixels wide
for position in range(message_width + screen.width): # Scroll across the screen
screen.fill(0) # Clear the screen
screen.text(text, screen.width - position, 0, 1) # Position the text
screen.show() # Update the display
time.sleep(delay) # Delay between each scroll step
def scroll_all_messages(messages, delay=SCROLL_DELAY):
"""Scroll all messages in sequence."""
while True:
for message in messages:
scroll_text(message, delay)
# Start scrolling all messages
scroll_all_messages(messages)
# Berikut adalah contoh kode yang sudah disesuaikan untuk pengaturan pin yang digunakan pada ESP8266 MOD
# from machine import Pin, SPI
# import max7219
# import time
# # Konfigurasi Matrix LED MAX7219
# MATRIX_WIDTH = 32
# MATRIX_HEIGHT = 8
# BAUDRATE = 10000000 # Kecepatan SPI
# SCROLL_DELAY = 0.05 # Kecepatan scroll (lebih kecil = lebih cepat)
# # Pesan yang akan ditampilkan
# messages = [
# "Hi Fadhil Rabbani ",
# "Semangat Belajar nya yaa"
# ]
# # Inisialisasi SPI untuk ESP8266 MOD
# spi = SPI(1, baudrate=BAUDRATE, polarity=0, phase=0, sck=Pin(12), mosi=Pin(13), miso=Pin(14))
# screen = max7219.Max7219(MATRIX_WIDTH, MATRIX_HEIGHT, spi, Pin(15)) # Pin 15 untuk CS
# def scroll_text(text, delay=SCROLL_DELAY):
# """Scrolls the provided text across the LED matrix."""
# message_width = len(text) * 8 # Setiap karakter lebar 8 piksel
# for position in range(message_width + screen.width): # Scroll ke kiri
# screen.fill(0) # Bersihkan layar
# screen.text(text, screen.width - position, 0, 1) # Tentukan posisi teks
# screen.show() # Update tampilan
# time.sleep(delay) # Delay antara setiap langkah scroll
# def scroll_all_messages(messages, delay=SCROLL_DELAY):
# """Scroll semua pesan secara berurutan."""
# while True:
# for message in messages:
# scroll_text(message, delay)
# # Mulai scroll semua pesan
# scroll_all_messages(messages)