阿克蘇建設(shè)租房信息阿克蘇租房網(wǎng)站磁力搜索器
學(xué)物聯(lián)網(wǎng),來(lái)萬(wàn)物簡(jiǎn)單IoT物聯(lián)網(wǎng)!!
一、產(chǎn)品簡(jiǎn)介
LED-8 * 32點(diǎn)陣屏顯示板由 4 塊單色 8x8 共陰紅色點(diǎn)陣單元組成,通過(guò) SPI 菊花鏈模式將多塊顯示屏連接后可以組成更大的分辨率顯示屏幕,任意組合分辨率??捎糜诤?jiǎn)單儀表顯示、LED顯示屏、萬(wàn)年歷、數(shù)字鐘、溫度計(jì)、計(jì)數(shù)器、電壓表等顯示使用。
引腳定義:
- VCC:接電源正極(3.3-5V)
- GND:接電源負(fù)極
- DIN:SPI MOSI信號(hào)
- CS:SPI 片選信號(hào)
- CLK:SPI 時(shí)鐘信號(hào)
二、技術(shù)參數(shù)
- 采用常規(guī)SPI通訊,支持 16 級(jí)亮度調(diào)節(jié)
- 支持命令模式和數(shù)據(jù)模式
- 支持 SPI 的鏈接模式,擴(kuò)展多級(jí) LED 屏幕
- 工作電壓:2.4-5.5V
- 工作電流:低亮度30mA,高亮度300mA(5V電壓時(shí))
- 尺寸:15.2 x 3.8 厘米
三、軟件接口
GC7219(spiObj, CS) - 創(chuàng)建 GC7219 驅(qū)動(dòng)對(duì)象
- 函數(shù)原型:
gc7219Obj = GC7219(spiObj ,CS)
- 參數(shù)說(shuō)明:
參數(shù) | 類型 | 必選參數(shù)? | 說(shuō)明 |
---|---|---|---|
spiObj | SPI | 是 | 傳入SPI對(duì)象 |
CS | GPIO | 是 | 傳入片選信號(hào) CS 對(duì)象 |
- 返回值:
GC7219 對(duì)象成功,返回 GC7219 對(duì)象;GC7219 對(duì)象創(chuàng)建失敗,拋出 Exception - 示例代碼:
from machine import SPI, Pin
import gc7219# 初始化 SPI
spiObj = SPI(2, baudrate=2000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
# 初始化片選
csObj = Pin(21, Pin.OUT)
# 創(chuàng)建 GC7219 驅(qū)動(dòng)
gc7219Obj = gc7219.GC7219(spiObj, csObj)
print("GC7219 inited!")
- 輸出:
GC7219 inited!
flush() - 將驅(qū)動(dòng)的 bitmap 數(shù)據(jù)刷到 LED 點(diǎn)陣屏幕上
- 函數(shù)功能:
將 bitmap 切割成每塊8x8 LED 點(diǎn)陣屏數(shù)據(jù),并通過(guò) SPI DIN 口將數(shù)據(jù)刷到 LED 點(diǎn)陣屏幕上 - 函數(shù)原型:
gc7219Obj.flush()
- 參數(shù)說(shuō)明:
無(wú) - 返回值:
無(wú) - 示例:
from machine import SPI, Pin
import gc7219# 初始化 SPI
spiObj = SPI(2, baudrate=2000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
# 初始化片選
csObj = Pin(21, Pin.OUT)
# 創(chuàng)建 GC7219 驅(qū)動(dòng)
gc7219Obj = gc7219.GC7219(spiObj, csObj)
print("GC7219 inited!")# 準(zhǔn)備 bitmap 點(diǎn)陣屏數(shù)據(jù)
# 一共 32x8 寬高的 bitmap,設(shè)置第一塊 0 0、第二塊1 1、第三塊2 2、第四塊3 3點(diǎn)亮
gc7219Obj.bitmap.setPixel(0, 0, True)
gc7219Obj.bitmap.setPixel(8+1, 1, True)
gc7219Obj.bitmap.setPixel(16+2, 2, True)
gc7219Obj.bitmap.setPixel(24+3, 3, True)
# 將 bitmap 刷新到 LED 屏幕上
gc7219Obj.flush()
print("drv.bitmap flush done")
- 輸出:
GC7219 inited
drv.bitmap flush done
四、接口案例
- 代碼:
# Python代碼
from machine import SPI, Pin
import gc7219# 初始化 SPI
spiObj = SPI(2, baudrate=2000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
# 初始化片選
csObj = Pin(21, Pin.OUT)
# 創(chuàng)建 GC7219 驅(qū)動(dòng)
gc7219Obj = gc7219.GC7219(spiObj, csObj)
print("GC7219 inited!")
# 一共 32x8 寬高的 bitmap,設(shè)置第一塊 0 0、第二塊1 1、第三塊2 2、第四塊3 3點(diǎn)亮
gc7219Obj.bitmap.setPixel(0, 0, True)
gc7219Obj.bitmap.setPixel(8+1, 1, True)
gc7219Obj.bitmap.setPixel(16+2, 2, True)
gc7219Obj.bitmap.setPixel(24+3, 3, True)
# 將 bitmap 刷新到 LED 屏幕上
gc7219Obj.flush()
print("drv.bitmap flush done")
- 輸出:
...
GC7219 inited!
drv.bitmap flush done
...
五、通信協(xié)議
主控芯片與LED點(diǎn)陣屏之間使用 SPI 通訊,多塊8x8點(diǎn)陣屏使用菊花鏈模式鏈接,即通過(guò) SPI 主從串聯(lián)方式,將一組數(shù)據(jù)刷新到所有點(diǎn)陣屏上。
六、工作原理
LED 控制芯片采用 GC7219,內(nèi)部擁有 8x8 RAM 存儲(chǔ) 64 個(gè) LED 的點(diǎn)亮狀態(tài)。
MCU 與從設(shè)備傳輸數(shù)據(jù)時(shí),首先將 CS 片選信號(hào)置為低電平,隨后通過(guò) MOSI 傳輸數(shù)據(jù)存儲(chǔ)到從設(shè)備的移位寄存器中,當(dāng) CS 信號(hào)從低電平設(shè)置為高電平時(shí),從設(shè)備在上升沿將數(shù)據(jù)鎖存,數(shù)據(jù)生效。
參考文獻(xiàn)及購(gòu)買鏈接
[1] GC7219 Datasheet參考資料
[2] GC7219購(gòu)買鏈接