Raspberry Pi Pico使用MicroPython(7)---用Max7219驱动点阵屏显示图案

网上的大神已经完成了MAX7219驱动点阵屏的程序, 参考网址 https://github.com/stechiez/raspberrypi-pico/tree/main/pico_max7219

首先下载 max7219.py 到 PICO 的/lib 目录下, 然后把作者提供的 范例文件 test_max7129.py 下载到根目录. 推荐使用Thonny编辑和下载.


1. 硬件连接

 其中Max7219的VCC接Pin40(即VBUS)这是5V输出端口. GND互联, CLK-->GPIO2, DIN-->GPIO3, CS-->GPIO5.


2. 软件测试

import max7219
from machine import Pin, SPI
from time import sleep
spi = SPI(0, baudrate=10000000, polarity=1, phase=0, sck=Pin(2), mosi=Pin(3))
ss = Pin(5, Pin.OUT)

msg = 'STechiezDIY'
length = len(msg)
length = (length*8)
display = max7219.Matrix8x8(spi, ss, 4)
display.brightness(1)   # adjust brightness 1 to 15
display.fill(0)
display.show()
sleep(0.5)

while True:
    for x in range(32, -length, -1):
        display.text(msg ,x,0,1)
        display.show()
        sleep(0.10)
        display.fill(0)

这个是驱动8*8点阵屏. 这里没有显示图案的实现.


3.  拓展

在网上的一个博客中作者在PYBoard上实现了蓝牙控制点阵屏显示求爱的程序实现.

MicroPython:基于TPYBoard集合MAX7219点阵模块制作表白女神神器【附源码】_小小的森_51CTO博客

作者的MAX7219驱动程序和这里的不同, 具体可以参考

https://github.com/TPYBoard/TPYBoard-v102/blob/master/40.%E5%88%B6%E4%BD%9C%E5%A5%B3%E7%A5%9E%E8%A1%A8%E7%99%BD%E7%A5%9E%E5%99%A8/max7219.py

这里借用他弄好的一个字体文件 font_max7219.py

FONT8_8= {
    '0':[0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C],#0
    '1':[0x10,0x18,0x14,0x10,0x10,0x10,0x10,0x10],#1
    '2':[0x7E,0x2,0x2,0x7E,0x40,0x40,0x40,0x7E],#2
    '3':[0x3E,0x2,0x2,0x3E,0x2,0x2,0x3E,0x0],#3
    '4':[0x8,0x18,0x28,0x48,0xFE,0x8,0x8,0x8],#4
    '5':[0x3C,0x20,0x20,0x3C,0x4,0x4,0x3C,0x0],#5
    '6':[0x3C,0x20,0x20,0x3C,0x24,0x24,0x3C,0x0],#6
    '7':[0x3E,0x22,0x4,0x8,0x8,0x8,0x8,0x8],#7
    '8':[0x0,0x3E,0x22,0x22,0x3E,0x22,0x22,0x3E],#8
    '9':[0x3E,0x22,0x22,0x3E,0x2,0x2,0x2,0x3E],#9
    'A':[0x8,0x14,0x22,0x3E,0x22,0x22,0x22,0x22],#A
    'B':[0x3C,0x22,0x22,0x3E,0x22,0x22,0x3C,0x0],#B
    'C':[0x3C,0x40,0x40,0x40,0x40,0x40,0x3C,0x0],#C
    'D':[0x7C,0x42,0x42,0x42,0x42,0x42,0x7C,0x0],#D
    'E':[0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x7C],#E
    'F':[0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x40],#F
    'G':[0x3C,0x40,0x40,0x40,0x40,0x44,0x44,0x3C],#G
    'H':[0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44],#H
    'I':[0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x7C],#I
    'J':[0x3C,0x8,0x8,0x8,0x8,0x8,0x48,0x30],#J
    'K':[0x0,0x24,0x28,0x30,0x20,0x30,0x28,0x24],#K
    'L':[0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C],#L
    'M':[0x81,0xC3,0xA5,0x99,0x81,0x81,0x81,0x81],#M
    'N':[0x0,0x42,0x62,0x52,0x4A,0x46,0x42,0x0],#N
    'O':[0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C],#O
    'P':[0x3C,0x22,0x22,0x22,0x3C,0x20,0x20,0x20],#P
    'Q':[0x1C,0x22,0x22,0x22,0x22,0x26,0x22,0x1D],#Q
    'R':[0x3C,0x22,0x22,0x22,0x3C,0x24,0x22,0x21],#R
    'S':[0x0,0x1E,0x20,0x20,0x3E,0x2,0x2,0x3C],#S
    'T':[0x0,0x3E,0x8,0x8,0x8,0x8,0x8,0x8],#T
    'U':[0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1C],#U
    'V':[0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18],#V
    'W':[0x0,0x49,0x49,0x49,0x49,0x2A,0x1C,0x0],#W
    'X':[0x0,0x41,0x22,0x14,0x8,0x14,0x22,0x41],#X
    'Y':[0x41,0x22,0x14,0x8,0x8,0x8,0x8,0x8],#Y
    'Z':[0x0,0x7F,0x2,0x4,0x8,0x10,0x20,0x7F],#Z
    '大':[0x00,0x66,0xFF,0xFF,0x7E,0x3C,0x18,0x00],#大心
    '小':[0x00,0x00,0x66,0x7E,0x3C,0x18,0x00,0x00],#小心
    '中':[0x8,0x7F,0x49,0x49,0x7F,0x8,0x8,0x8],#中
    '国':[0xFE,0xBA,0x92,0xBA,0x92,0x9A,0xBA,0xFE],#国
}

将 msg = 'LOVE大小' 前面的示例文件改成这一句,测试一下大心和小心的显示效果. 

接下来的问题就是如何移植这个驱动到PICO的问题了.

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值