项目作者: vrialland

项目描述 :
MicroPython driver for MAX7219 8x8 LED matrix
高级语言: Python
项目地址: git://github.com/vrialland/micropython-max7219.git
创建时间: 2018-06-20T17:59:09Z
项目社区:https://github.com/vrialland/micropython-max7219

开源协议:MIT License

下载


micropython-max7219

MicroPython driver for MAX7219 8x8 LED matrix

CI status

What is it?

This library provides support for the MAX7219 8x8 LED matrix on ESP8266 with MicroPython.
It uses framebuf internally to provide drawing primitives and text support.
You can chain several matrices the way you like: if you use two 4x 8x8 matrices, you can have
one of the left, and the other on the right giving you a 64x8 area, or have one on top of the other to have a 32x16 display!

Tested on ESP8266 and ESP32 systems.

Connecting on ESP8266

ESP8266 MAX7219
5V VCC
GND GND
GPIO13 (HWSPI #1 MOSI) DIN
GPIO14 (HWSPI #1 SCK) CLK
GPIO15 CS

Connecting on ESP32

ESP32 MAX7219
5V VCC
GND GND
GPIO13 (HWSPI #1 MOSI) DIN
GPIO14 (HWSPI #1 SCK) CLK
GPIO15 CS

Examples

Using 10000000 as baudrate is recommended as greater values don’t seem to work well…

Single 8x8 matrix (8x8 pixels)

  1. from machine import Pin, SPI
  2. import max7219
  3. spi = SPI(1, baudrate=10000000)
  4. screen = max7219.Max7219(8, 8, spi, Pin(15))
  5. screen.text('A', 0, 0, 1)
  6. screen.show()

Single 4x 8x8 matrix (32x8 pixels)

  1. from machine import Pin, SPI
  2. import max7219
  3. spi = SPI(1, baudrate=10000000)
  4. screen = max7219.Max7219(32, 8, spi, Pin(15))
  5. screen.text('ABCD', 0, 0, 1)
  6. screen.show()

Two 4x 8x8 matrices (left/right, 64x8 pixels)

  1. from machine import Pin, SPI
  2. import max7219
  3. spi = SPI(1, baudrate=10000000)
  4. screen = max7219.Max7219(64, 8, spi, Pin(15))
  5. screen.text('ABCDEFGH', 0, 0, 1)
  6. screen.show()

Two 4x 8x8 matrices (top/bottom, 32x16 pixels)

  1. from machine import Pin, SPI
  2. import max7219
  3. spi = SPI(1, baudrate=10000000)
  4. screen = max7219.Max7219(32, 16, spi, Pin(15))
  5. screen.text('ABCD', 0, 0, 1)
  6. screen.text('EFGH', 0, 8, 1)
  7. screen.show()

Credits

This library is based on:

Thank you for the inspiration!