700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Raspberry Pi Pico使用MicroPython(7)---用Max7219驱动点阵屏显示图案

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

时间:2023-02-15 11:02:18

相关推荐

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

网上的大神已经完成了MAX7219驱动点阵屏的程序, 参考网址/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 max7219from machine import Pin, SPIfrom time import sleepspi = 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 15display.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驱动程序和这里的不同, 具体可以参考

/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的问题了.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。