目录
一.介绍
本演示向您展示如何通过MAX7219模块将LED矩阵模块连接到Arduino ESP32,以显示ESP32的信息。将ESP32连接到LED矩阵模块有两种方法:
- 直接连接。通过这种方式,ESP32将浪费许多GPIO引脚(至少8×8用于8×8 Led矩阵)。
- 通过MAX7219模块连接。通过这种方式,ESP32将只使用3个GPIO引脚作为SPI MOSI,CLK和CS引脚。MAX7219负责将SPI数据转换为LED矩阵数据和控制信号。
二.元器件清单
- ESP32开发板
- 一个SPI 点阵模块
- 面包板
- 导线若干
三.电路图
将ESP32的引脚连接到LED矩阵的引脚:
[ESP32 GPIO14 – LED CLK]
[ESP32 GPIO12 – LED DIN(MOSI)]
[ESP32 GPIO15 – LED CS]
[ESP32 GND – LED GND]
[LED VCC – 5V]
:ESP32连接到LED矩阵模块
四.代码设计
我们将使用 为Arduino制作的库MAX7219LedMatrix ,但我修改了一点与ESP32兼容。你可以在这里下载这个库:
https://github.com/nhatuan84/esp32-led-matrix
该库提供了一些功能:
- init():初始化库
- setText():设置要在LED矩阵上打印的文本
- scrollTextLeft():将文本滚动到左侧效果
- clear():清除显示
- drawText():开始绘制文本到缓冲区
- commit():将文本从缓冲区提交到LED点阵
为了使用这些功能,您需要 使用构造函数创建LedMatrix 实例:
LedMatrix ledMatrix = LedMatrix(NUMBER_OF_DEVICES,CLK_PIN,MISO_PIN,MOSI_PIN,CS_PIN)
注意:串行模式下NUMBER_OF_DEVICES级联LED矩阵的数量
最后,就是相应的代码了。
/*******************************************************
ESP32 LED点阵显示信息
功能:使用SPI LED点阵显示信息
引脚:GPIO14 -> LED CLK GPIO12 ->LED DIN(MOSI) GPIO15 ->LED CS
Designer: Code_Mouse
Date:2018-9-8
*******************************************************/
#include <SPI.h>
#include "LedMatrix.h"
#define NUMBER_OF_DEVICES 3 //串联led矩阵连接数
#define CS_PIN 15
#define CLK_PIN 14
#define MISO_PIN 2 //我们不使用此引脚只需填写匹配构造函数
#define MOSI_PIN 12
LedMatrix ledMatrix = LedMatrix(NUMBER_OF_DEVICES, CLK_PIN, MISO_PIN, MOSI_PIN, CS_PIN);
void setup() {
ledMatrix.init();
ledMatrix.setText("EasyIoT");
}
void loop() {
ledMatrix.clear();
ledMatrix.scrollTextLeft();
ledMatrix.drawText();
ledMatrix.commit();
delay(50);
}
五.测试代码
要测试代码,只需使用Arduino IDE上传它。然后,您应该看到LED点阵显示相应的信息。以下就是实现的效果:
如何将 EasyIoT 部分变成 串口输入的字符呢,我试着用tempText = Serial.Read(); 方式读,但读不到呢 ✗汗✗
为什么我的程序 调出来是四个小屏分别显示
是不是延时太长了
?
学习
这个字库怎么是竖屏显示
看你屏幕怎么放了,可以自己去库里改回来
我有4个小的串联,为什么这几个自己显示自己的