以下是使用micropython编写max7219模块的控制程序,制作像素时钟的代码:

from machine import Pin, SPI
import time

spi = SPI(1, baudrate=10000000, polarity=0, phase=0)
ss = Pin(15, Pin.OUT)
display = max7219.Matrix8x8(spi, ss, 4)

#设置亮度
display.brightness(2)

#设置时钟初始值
hour = 12
minute = 0

while True:
    #获取当前时间
    current_time = time.localtime()
    current_hour = current_time[3]
    current_minute = current_time[4]
    
    #如果时间发生变化,更新显示
    if current_hour != hour or current_minute != minute:
        hour = current_hour
        minute = current_minute
        
        #清空显示
        display.fill(0)
        
        #绘制小时
        if hour < 10:
            display.text(str(hour), 0, 0, 1)
        else:
            display.text(str(hour//10), 0, 0, 1)
            display.text(str(hour%10), 4, 0, 1)
        
        #绘制冒号
        display.pixel(10, 3, 1)
        display.pixel(10, 4, 1)
        
        #绘制分钟
        if minute < 10:
            display.text(str(minute), 12, 0, 1)
        else:
            display.text(str(minute//10), 8, 0, 1)
            display.text(str(minute%10), 12, 0, 1)
        
        #更新显示
        display.show()
        
    #延时一秒
    time.sleep(1)

这个程序通过使用max7219模块控制LED点阵显示器,制作了一个像素时钟。程序首先初始化SPI和max7219模块,然后设置亮度和时钟初始值。接着进入一个无限循环,获取当前时间并判断是否需要更新显示。如果时间发生变化,程序会清空显示器并绘制新的小时和分钟。最后更新显示并延时一秒

标签: 科技


原文地址: https://cveoy.top/t/topic/cp6u 著作权归作者所有。请勿转载和采集!