芒果爱吃胡萝卜 - max7219
type: channel
link: http://blog.mangolovecarrot.net/tag/max7219/
items: 用Raspberry Pi Pico驱动MAX7219 8x8 LED点阵并实现呼吸灯效果

用Raspberry Pi Pico驱动MAX7219 8x8 LED点阵并实现呼吸灯效果
type: item
date: 2025-01-18T01:19:00+08:00
description: 前言Raspberry Pi Pico是一款功能强大的微型开发板，搭配MicroPython能够轻松实现各种硬件控制。本篇博客将介绍如何使用Pico驱动MAX7219 8x8 LED点阵屏，依次循环显示数字0-9，并加入亮度呼吸效果和可调显示方向。效果完整源码max7219-By-ChatGPT.zip硬件准备Raspberry Pi PicoMAX7219 8x8 LED点阵模块杜邦线若干Pico引脚定义图接线说明Pico引脚MAX7219引脚GPIO11 (SPI1 MOSI) (SPI1 TX) (Pin15)DINGPIO10 (SPI1 SCK) (Pin14)CLKGPIO0 (Pin1)CSGNDGND3.3VVCC软件准备安装MicroPython固件至Pico（官方默认固件就可以）使用Thonny或其他支持MicroPython的IDE下载max7219库并上传到Pico模拟驱动器的根目录：max7219.py功能实现主要功能：循环显示数字0-9，每个数字停顿1秒。呼吸灯亮度效果（最大亮度可调）。通过变量设置显示方向（0°/90°/180°/270°）。代码实现将以下代码保存为main.py文件并上传或覆盖根目录原来的main.py文件。上电时会自动寻找并执行根目录下的main.pyfrom machine import Pin, SPI from max7219 import max7219 import time # SPI接口设置 spi = SPI(1, baudrate=10000000, polarity=0, phase=0) cs = Pin(0, Pin.OUT) # 初始化MAX7219 matrix = max7219.Matrix8x8(spi, cs, 1) matrix.brightness(0) # 定义数字0-9的图案 digits = [ [0x3E, 0x63, 0x67, 0x6F, 0x7B, 0x73, 0x63, 0x3E], # 0 [0x0C, 0x1C, 0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x3F], # 1 [0x3E, 0x63, 0x03, 0x0E, 0x3C, 0x70, 0x63, 0x7F], # 2 [0x3E, 0x63, 0x03, 0x1E, 0x03, 0x03, 0x63, 0x3E], # 3 [0x06, 0x0E, 0x1E, 0x36, 0x66, 0x7F, 0x06, 0x06], # 4 [0x7F, 0x60, 0x7E, 0x03, 0x03, 0x03, 0x63, 0x3E], # 5 [0x1E, 0x30, 0x60, 0x7E, 0x63, 0x63, 0x63, 0x3E], # 6 [0x7F, 0x63, 0x06, 0x0C, 0x18, 0x18, 0x18, 0x18], # 7 [0x3E, 0x63, 0x63, 0x3E, 0x63, 0x63, 0x63, 0x3E], # 8 [0x3E, 0x63, 0x63, 0x63, 0x3F, 0x03, 0x06, 0x3C] # 9 ] # 显示方向（1=0°，2=90°，3=180°，4=270°） display_direction = 1 # 最大亮度（0-15） max_brightness = 10 # 呼吸灯效果 def breathing_effect(): for b in range(0, max_brightness + 1): matrix.brightness(b) time.sleep(0.05) for b in range(max_brightness, -1, -1): matrix.brightness(b) time.sleep(0.05) # 循环显示数字0-9 while True: for digit in digits: matrix.fill(0) matrix.show() start_time = time.ticks_ms() while time.ticks_diff(time.ticks_ms(), start_time) < 1000: breathing_effect()系列文章用Raspberry Pi Pico驱动MAX7219 8x8 LED点阵并实现呼吸灯效果【当前文章】使用MicroPython控制Raspberry Pi Pico与MAX7219和EEPROM的应用使用 MicroPython 控制 74HC595 和 EEPROM 的项目解析