十一,ESP32 SPI LED点阵显示信息

一.介绍

本演示向您展示如何通过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 SPI 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 SPI LED点阵显示信息

最后,就是相应的代码了。

#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点阵显示相应的信息。以下就是实现的效果:

十一,ESP32 SPI LED点阵显示信息

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
ESP-32

十,ESP32 在I2C LCD显示信息

2025-4-15 17:22:19

ESP-32

十二,ESP32将数据存储到SD卡

2025-4-15 17:42:55

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索