littlebot
Published on 2025-04-09 / 2 Visits
0

【源码】基于Arduino和ESP8266的LED矩阵控制系统

项目简介

本项目的核心模块为 Fablab Karlsruhe 设计的 ESP - Matrix,主要用途是控制一系列 LED 矩阵模块来显示滚动文字。采用 ESP8266(以 WeMos D1 mini 形式)作为控制器,借助 MAX7219 驱动 4 个单色 8x8 LED 模块。该项目最初是为儿童生日设计,但具有很大的扩展潜力。

项目的主要特性和功能

  1. 异步通信:利用异步的 UDP 和 TCP 库,实现低阻塞通信,同时通过异步 Web 服务器处理 HTTP 请求,支持动态内容更新与远程配置。
  2. 时间同步:当 ESP 作为客户端连接到 WLAN 且能访问 NTP 服务器(如 de.pool.ntp.org)时,可自动同步时间,确保时钟和日期准确。
  3. 内容编辑:集成基于 HTML 的 ACE 编辑器,用户能在 Web 界面编辑和上传内容,并将数据存储在 SPIFFS 文件系统中。
  4. WiFi 灵活配置:支持 AP 模式和连接现有 WLAN 两种模式。在 AP 模式下,可通过预设的 SSID 和密码连接;也能在有已有 WLAN 信息时自动连接,还可修改 AP 模式的 SSID、密码以及管理账户密码。
  5. 多功能 URL 接口:提供多个重要 URL,可设置文字内容、亮度和速度,连接现有 WLAN,清除 WLAN 客户端访问数据,以及启动编辑器编辑 SPIFFS 中的文件。

安装使用步骤

前提条件

确保已安装较新版本的 Arduino IDE(建议 1.8.1),通过板管理器安装 ESP - Tools 2.3 版本,并添加 ESP - Uploadmanager。

具体步骤

  1. 硬件连接:给 ESP 配备大容量支撑电容,防止编程时出现异常。若串联超过 4 个 LED 模块,需为其提供独立电源。按以下方式连接引脚: |Wemos D1 mini|LED - Matrix| |-------------|----------| | D5 (14/CLK) | CLK| | D6 (12/MISO)| CS | | D7 (13/MOSI)| DIN|
  2. 上传代码:使用 Arduino IDE 将项目代码上传到 ESP8266 模块。
  3. 初始化操作:若 ESP 无法编程或连接 WLAN 有问题,可使用 esptool.py 擦除闪存: Shell python path/to/esptool.py --port COMPORTNAME erase_flash
  4. 连接与配置:ESP 启动后,若有可用 WLAN 信息则自动连接;否则进入 AP 模式,通过 SSID“ESPMATRIX”和密码“ABCdef123456”连接,LED 矩阵会显示 ESP 的 IP 地址。通过该 IP 访问以下 URL 进行相应操作:
    • /content:设置文字内容、亮度和速度。
    • /wificonnectAP:连接现有 WLAN。
    • /wificonfigAP:修改 AP 模式的 SSID、密码以及管理账户密码。
    • /wifiRestartAP:清除 WLAN 客户端访问数据并重启进入 AP 模式。
    • /edit:启动 ACE 编辑器,需先使用 ESP - Uploadmanager 将 data 子目录内容上传到 SPIFFS,否则无法找到 JavaScript 文件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】