
1、介紹
8*8 點陣模組由 MAX7219 驅動,MAX7219 是一種集成化的串行輸入/輸出顯示驅動器, 只需要 3 個 IO 口即可驅動 1 個點陣,點陣顯示時無閃爍且支持級聯,8*8 點陣模組通過 Max7219 驅動,Max7219 運用的是三線串行通信,當接收 Arduino 資料時通過晶片內部 8*8 位靜態 RAM 儲存資料,在通過 Max7219 來控制 8*8 點陣模組的每個引腳的高低電平,從而達到顯示目的。
2、原理圖
3、模組參數
引腳名稱 | 描述 |
|---|---|
CLK | 時鐘引腳 |
CS | 鎖存引腳 |
DIN | 數據引腳 |
VCC | VCC(電源輸入正極) |
GND | GND(電源輸入負極” |
供電電壓:3.3V / 5V
連接方式:2.54mm排釘
安裝方式:雙螺絲固定
4、電路板尺寸

5、Arduino IDE示範程序
注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
Arduino IDE 庁件文件下載及導入教範:點擊查看
示範程序(UNO開發板):
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Max72xxPanel.h>
Max72xxPanel myMatrix = Max72xxPanel(9,1,1);
uint8_t LEDArray[8];
const uint8_t LedArray1[8] PROGMEM ={0x00,0x18,0x24,0x00,0x00,0xa5,0x42,0x00};
const uint8_t LedArray2[8] PROGMEM ={0x00,0x24,0x18,0x00,0x00,0x24,0xc3,0x00};
void setup(){
myMatrix.setRotation(0,3);
myMatrix.fillScreen(0);
myMatrix.write();
}
void loop(){
//MAX7219上显示笑脸和哭脸各1秒
memcpy_P(&LEDArray, &LedArray1, 8);
for(int index_i=0; index_i<8; index_i++)
{
for(int index_j=0*8; index_j<0*8+8; index_j++)
{
if((LEDArray[index_i]&0x01)>0)
myMatrix.drawPixel(index_j, 7-index_i,1);
else
myMatrix.drawPixel(index_j, 7-index_i,0);
LEDArray[index_i] = LEDArray[index_i]>>1;
}
}
myMatrix.write();
delay(1000);
memcpy_P(&LEDArray, &LedArray2, 8);
for(int index_i=0; index_i<8; index_i++)
{
for(int index_j=0*8; index_j<0*8+8; index_j++)
{
if((LEDArray[index_i]&0x01)>0)
myMatrix.drawPixel(index_j, 7-index_i,1);
else
myMatrix.drawPixel(index_j, 7-index_i,0);
LEDArray[index_i] = LEDArray[index_i]>>1;
}
}
myMatrix.write();
delay(1000);
}6、ESP32 Python 示例(適用於Mixly IDE /米思齊)
開發板選擇 Python ESP32 【ESP32 Generic(4MB)】切換為代碼模式上傳
注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
米思齊(Mixly)IDE ESP32庫檔案下載及匯入教學:點擊查看
示例程式(ESP32-Python):
import machine
import time
def write_byte(data):
CS.value(0)
for i in range(0, 8, 1):
CLK.value(0)
if ((data<<i)&0x80) == 0:
DIN.value(0)
else:
DIN.value(1)
CLK.value(1)
def write_data(addr, data):
CS.value(0)
write_byte(addr)
write_byte(data)
time.sleep_us(5)
CS.value(1)
def Picture_display(Picture):
for i in range(0, 8, 1):
write_data(i + 1, Picture[i])
CLK = machine.Pin(18, machine.Pin.OUT)
CS = machine.Pin(5, machine.Pin.OUT)
DIN = machine.Pin(23, machine.Pin.OUT)
smiley = [0x00, 0x42, 0xA5, 0x00, 0x00, 0x24, 0x18, 0x00]
Crying_face = [0x00, 0xC3, 0x24, 0x00, 0x00, 0x18, 0x24, 0x00]
while True:
Picture_display(smiley)
time.sleep(1)
Picture_display(Crying_face)
time.sleep(1)
7、米思齊 Mixly 示例程式(圖形化語言)
示範程序(UNO開發板):點擊下載
注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
米思齊(Mixly)IDE Arduino 圖庫檔案下載及匯入教學:點擊查看

示範程序(ESP32開發板):點擊下載
注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
米思齊(Mixly)IDE ESP32庫檔案下載及匯入教學:點擊查看

8、測試環境搭建
Arduino UNO 測試環境搭建
準備配件:
HELLO STEM UNO R3 PRO 開發板 *1
HELLO STEM UNO R3 P擴充板 *1
USB type-c 資料線 *1
8X8點陣顯示幕(HS-F13A)*1
PH2.0 5P端子轉杜邦線*1
電路接線圖:

ESP32 測試環境搭建
準備配件:
ESP32EA MOC 開發板 *1
ESP32-EXP1 扩展板 *1
USB type-c 資料線 *1
8X8點陣顯示幕(HS-F13A)*1
PH2.0 5P端子轉杜邦線*1
電路接線圖:等更新...
9、視頻教學
視頻教學:點擊查看
10、測試結果
Arduino UNO 混试结果:
器件連接好線之後,將上述程序燒錄到 開發板之後,按下复位鍵,會看到點陣循環顯示笑臉和哭臉。

ESP32 測試結果:
等更新...