| ESP32 教學 | MicroPython | Max7219 SPI Module | 206 |

在上篇的內容介紹了利用 Micropython 的 SPI 通訊與 max7219 做簡單的底層訊息溝通後,本篇就來分享直接使用網路上現成的 Max7219 Spi Module,快速應用到我們的 ESP32 硬體平台。

1. 上傳 max7219 SPI Module

由於 python 在這幾年的熱門度越來越高,也造就很多前輩神人將自己寫好的 Python 模組放在網路上與大家分享,今天 JIMI哥要與各位朋友分享的就是由 Mike Causer 這位作者寫的 max7219 module,可以到下面網址 https://github.com/mcauser/micropython-max7219,下載 max7219.py 這個檔案,並直接上傳到我們 ESP32 系統內,我們會另外寫個 upython 程式碼,透過 import 這個模組的寫法進行使用。(建議下載的檔名可以不用修改,因為 import 會直接使用 max7219 這個檔名當作模組名)

記得怎麼上傳檔案到我們ESP32硬體內嗎?下面提供兩種方法:

『方法一』:透過 Thonny IDE等內建上傳功能的軟體,直接上傳。(初學者推薦)

Step 1: 開啟Thonny IDE,並確認 ESP32 已連線成功,Shell 已有 Micropthon 模式相關字元。(如果忘了可參考105 Thonny IDE 這篇)

Step 2:開啟下載完成的max7219.py檔,選擇『檔案』『另存新檔』到 Micropython 設備內,待存檔完成,即上傳成功。

『方法二』:透過 mpfshell 等文字介面,直接下指令上傳檔案。(這邊用 mpfshell lite 示範,也可以用ampy)

Step 1: 開啟命令控制字元程式,切到工作目錄(資料夾內已有下載的檔案)並開啟shell模式。

Step 2: 連接 ESP32 的COM PORT,執行上傳程式檔命令,並確認是否上傳成功。

Max7219 SPI Module
Max7219 SPI Module

2. 使用範例

電路連接方面,我們接續上集的接法(205 – Micropython SPI Function),這次直接就來試試這個寫好的 module 顯示需要的文字。

import max7219
from machine import Pin, SPI
spi_7219=SPI(1,100000)
cs_7219 = Pin(27, Pin.OUT)

led_mat = max7219.Matrix8x8(spi_7219, cs_7219, 1)
led_mat.text('2',0,0,1)
led_mat.show()

while 1:
    pass

> 程式講解

import max7219
from machine import Pin, SPI
spi_7219=SPI(1,100000)
cs_7219 = Pin(27, Pin.OUT)

這段程式的主要功能為 import max7219 模組、Pin 與 SPI 類別,並採用硬體 SPI,BaudRate 設定為 100K,選用 GPIO27 為 Chip Select 腳位。

led_mat = max7219.Matrix8x8(spi_7219, cs_7219, 1)
led_mat.text('J',0,0)
led_mat.show()
  • 第6行:建立起 max7219 模組的物件,第一個參數為『已初始化SPI的物件』,第2個參數為『CS腳位的Pin物件』,第三個參數是 8x8LED 陣列的組數,目前電路上只接一組,所以填1即可。
  • 第7行:建立顯示欲顯示文字的參數,『.text』第一個參數為顯示文字,後面依序則為啟始X座標、啟始Y座標。由於
  • 第8行:開始顯示文字。

備註: 由於這個模組是基於micropython內建的一個 framebuf 類別去進行改寫的 (http://docs.micropython.org/en/latest/library/framebuf.html),所以參數的設定各位朋友如果有興趣的話,可以再到上面的網址瞭解更多細部設定喔!

3. 結語

這次直接使用 Mike Causer 作者 GitHub 上所分享的模組來應用到 max7219 上,使用起來方便又簡潔,只要事先將檔案上傳到我們所使用的 ESP32 硬體內,在 Python 程式內打入 import 指令就可以利用對應的方法顯示文字,推薦初接觸 Micropython 的朋友來使用,有機會 JIMI 哥會在分享其他自己用過覺得不錯用的 SPI 模組,大家也就不用『手動』打造所謂的低層程式囉!今天的內容就到這邊,如果在測試上如果遇到什麼問題,歡迎大家在下面留言給我~!感謝!

↓↓↓↓↓↓賣場連結↓↓↓↓↓↓

歡迎大家有需要的話,可以多多支持一下我們的蝦皮賣場喔! 😀 

吉米家官方店-創客機器人材料專賣 https://shopee.tw/jimirobot.tw

Follow JIMI哥 Twitter : https://twitter.com/jimirobot  <–得到最新文章通知

發佈留言

Close Menu