搜索代码

ESP32-S3 RGB LED矩阵项目3 - 手机文本

ESP32-S3 RGB LED矩阵项目3 - 手机文本

项目3 - 从您的手机控制矩阵文本 (HTTP文本)

在这个项目中,ESP32-S3 RGB LED矩阵托管了一个小网页,以便您可以直接通过手机或计算机更改滚动文本、颜色、方向和速度。您不需要单独的应用程序 - 仅需使用网络浏览器。这使得该模块成为一个可以实时更新的微型Wi-Fi文本显示器。

本系列的六个项目在一个YouTube视频中进行了说明和演示。该视频嵌入在此页面上,因此您可以清楚地看到网页界面的外观,以及文本如何在矩阵上即时更新。该项目的完整源代码会在文章下方自动加载,您可以从代码部分列出的附属商店购买ESP32-S3 RGB LED矩阵模块。

在本文中,我们重点关注网络逻辑是如何工作的(家庭Wi-Fi与接入点),以及您可以在代码中更改哪些设置以自定义行为。

ESP32-S3 RGB LED矩阵模块概览

硬件与此系列中所有其他项目相同:一块ESP32-S3微控制器板,配有内置的8×8 RGB LED矩阵和背面的QMI8658C运动传感器。USB-C端口用于供电和编程,边缘周围的引脚仍可用于其他IO。:contentReference[oaicite:0]{index=0}

  • ESP32-S3具备Wi-Fi和蓝牙功能的微控制器。
  • 8×8 RGB矩阵64 个可寻址的 RGB LED 用于文本和图形。
  • QMI8658C 加速度计- 用于倾斜和游戏项目。
  • USB端口- 为电路板供电并从 Arduino IDE 上传草图。
  • 暴露的引脚- 如有需要,可以允许额外的传感器或执行器。
  • 启动/重置按钮- 用于固件上传和重启。

对于项目 3,最重要的功能是 ESP32 的 Wi-Fi,它使得开发板可以充当文本控制页面的微型 web 服务器。:contentReference[oaicite:1]{index=1}

视频中涵盖的项目(时间戳)

该系列的一个视频涵盖了所有六个项目。快速参考:

  • 00:00- 介绍
  • 02:01- 安装 ESP32 开发板
  • 03:32安装库
  • 05:32- 项目 1:移动点
  • 11:11- 项目 2:文本滚动
  • 12:59-项目 3:HTTP 文本(该项目)
  • 16:41- 项目 4:倾斜点
  • 18:55- 项目5:箭头向上
  • 20:02- 项目 6:目标游戏

建议您在阅读本文时观看视频中的 HTTP 文本部分。视频展示了如何通过 ESP32 生成网页,以及如何即时反映文本、颜色和速度的变化在 LED 矩阵上。:contentReference[oaicite:2]{index=2}

在Arduino IDE中安装ESP32板

如果您已经完成了项目 1 或 2,则电路板设置已完成,您可以跳过此部分。否则,请在 Arduino IDE 中按照以下步骤操作:

  1. 打开File > Preferences并将ESP32板的URL添加到“附加板管理器URL”。
  2. Tools > Board > Boards Manager…搜索ESP32并安装官方的ESP32软件包。
  3. 选择正确的ESP32-S3 RGB矩阵板从Tools > Board.
  4. 通过USB连接模块,并在下方选择正确的串口Tools > Port.

如果没有正确的ESP32板支持和正确的端口,网络服务器示例将无法上传。

安装NeoMatrix和所需库

该项目使用与先前的文本滚动项目相同的库:

  • Adafruit NeoMatrix
  • Adafruit NeoPixel
  • Adafruit GFX Library

通过库管理器安装:

  1. 打开Sketch > Include Library > Manage Libraries….
  2. 搜索Adafruit NeoMatrix和点击安装.
  3. 接受依赖项的安装(Adafruit GFXAdafruit NeoPixel).

安装后,您应该在下方看到 NeoMatrix 和 NeoPixel 示例草图。File > Examples.

项目3中的两种Wi-Fi模式

这个项目中最重要的概念是 ESP32 可以工作于两种不同模式:

  1. 站点(STA)模式ESP32 连接到您现有的家庭 Wi-Fi 网络。
  2. 接入点(AP)模式ESP32会在家庭Wi-Fi不可用时创建自己的Wi-Fi网络。

两种模式使用相同的网页界面:一个从ESP32本身提供的HTML页面,您可以在其中更改文本、颜色、滚动方向和速度。:contentReference[oaicite:3]{index=3}

模式1 - 连接到家庭Wi-Fi(站点模式)

在站点模式下,ESP32连接到您的家庭或办公室Wi-Fi网络。这是您路由器可用时的首选模式,因为:

  • 您的手机和计算机已经连接到同一个Wi-Fi网络。
  • 您可以将浏览器指向ESP32的IP地址,并从该网络上的任何设备控制文本。

在草图的设置部分,您需要提供您的 Wi-Fi SSID 和密码:


// Home Wi-Fi credentials (Station mode)
const char* WIFI_SSID = "YourHomeWiFi";
const char* WIFI_PASS = "YourHomePassword";

主板启动后,它尝试连接到WIFI_SSID如果成功,代码将在串行监视器上打印分配的IP地址,例如:


Connected to WiFi
IP address: 192.168.1.16

控制文本:

  1. 确保您的手机或电脑连接到同一 Wi-Fi 网络(例如,YourHomeWiFi).
  2. 打开浏览器并输入打印的IP地址,例如http://192.168.1.16/. :contentReference[oaicite:4]{index=4}
  3. 控制页面将出现,允许您输入文本、选择颜色、选择方向以及调整滚动速度。

模式 2 - 独立接入点 (AP 模式)

如果ESP32无法连接到您的家庭Wi-Fi(密码错误、网络不可用或您在室外使用模块),草图将自动退回到接入点模式。在接入点模式下,ESP32本身成为一个具有自己网络名称和密码的Wi-Fi热点。

在这个项目中,AP设置固定为:


// Access Point (AP) credentials (fallback mode)
const char* AP_SSID = "ESP32";
const char* AP_PASS = "password";

当站点模式失败时,模块切换到AP模式并开始广播一个名为的Wi-Fi网络ESP32. 控制矩阵:

  1. 在你的手机或电脑上,打开Wi-Fi设置并连接到网络。ESP32.
  2. 输入密码密码(如代码中所定义的)。
  3. 连接后,打开浏览器并访问http://192.168.4.1/(ESP32 AP模式的默认IP)。
  4. 相同的控制页面出现,可以让您更改文本、颜色、速度和方向。

这种后备行为使得该项目在任何地方都能使用:在家中、实验室或没有路由器的演示环境中。

项目 3 - 代码中的主要设置

此文章下方的网站加载了完整的HTTP文本草图。这里我们只记录您可能会编辑的最重要的配置选项。

Wi-Fi 和接入点设置

在草图的顶部,您将找到Wi-Fi配置部分。只需更改站点(家庭Wi-Fi)凭据;AP设置通常保持为默认值:


// ---------- Wi-Fi SETTINGS ----------

// Home Wi-Fi (Station mode)
const char* WIFI_SSID = "YourHomeWiFi";      // put your router SSID here
const char* WIFI_PASS = "YourHomePassword";  // put your router password here

// Fallback Access Point (AP mode)
const char* AP_SSID = "ESP32";               // fixed AP name
const char* AP_PASS = "password";            // fixed AP password

行为:

  • 如果WIFI_SSIDWIFI_PASS是正确的,网络可用 → ESP32 作为普通 Wi-Fi 设备(站点模式)连接。
  • 如果连接在超时后失败 → ESP32 会使用自身的APAP_SSIDAP_PASS.

矩阵引脚、尺寸和亮度

这些设置与之前的项目相同:


// Matrix configuration
const int MATRIX_PIN    = 14;   // RGB matrix data pin
const int MATRIX_WIDTH  = 8;
const int MATRIX_HEIGHT = 8;

// Overall display brightness (0–255)
uint8_t matrixBrightness = 40;  // adjust for your environment

保持MATRIX_PIN14对于这个板子。你可以增加matrixBrightness如果您需要更多光线,但较低的值在近距离观看时更为舒适。

默认文本和滚动设置

当电路板启动时,它会显示一条初始消息,直到您打开网页并输入新的消息。您可以在配置中更改默认文本:


// Default message shown at startup
String currentText = "Robojax";   // overwrite from web UI later

滚动行为的其余部分由一组通过网页接口更新的变量控制:


// Scroll delay in milliseconds (lower = faster)
int scrollDelayMs = 50;

// Scroll direction: 0=left, 1=right, 2=up, 3=down
int scrollDirection = 0;   // default: scroll left

网页根据滑块和按钮的选择发送新值。从Arduino方面来说,您只需知道:

  • 减少scrollDelayMs使文本移动得更快。
  • 增加scrollDelayMs使其移动得更慢。
  • 改变scrollDirection在左、右、上或下滚动模式之间切换。

文本颜色(从网页控制)

文本的颜色由三个 0-255 的值(红色、绿色、蓝色)控制。每当您在网页上选择一种新颜色时,它们会被更新:


// Current text color (R, G, B)
uint8_t textRed   = 255;
uint8_t textGreen = 255;
uint8_t textBlue  = 255;

当您在浏览器中选择一种颜色并点击应用时,ESP32 解析 RGB 值并更新这三个变量;文本在矩阵上立即改变颜色。在视频中,这种行为通过多种颜色变化进行演示,包括红色、绿色和蓝色示例。:contentReference[oaicite:5]{index=5}

摘要

项目3将您的ESP32-S3 RGB LED矩阵变成一个完全无线的文本显示器,您可以使用任何带有网页浏览器的设备进行控制。该草图设计得非常稳健:

  • 它首先尝试使用您配置的SSID和密码连接到您的家庭Wi-Fi。
  • 如果失败,它会自动变成一个名为的接入点。ESP32和密码password.
  • 在两种模式下,在浏览器中打开正确的IP地址会显示相同的控制页面,用于文本、颜色、方向和速度。

完整的 HTTP 文本代码可在本文下方获得(在网站上自动加载)。要获取逐步指导和实时演示文本如何更新,请务必观看视频的项目 3 部分。如果您想自己构建该项目,还可以通过代码下方列出的附属链接购买 ESP32-S3 RGB LED 矩阵模块。

图像

ESP32 S3 Matrix
ESP32 S3 Matrix
ESP32 S3 Matrix  pin out
ESP32 S3 Matrix pin out
ESP32-S3_RGB_8x8_matrix-3
ESP32-S3_RGB_8x8_matrix-3
ESP32 S3 Matrix displaying rainbow heart
ESP32 S3 Matrix displaying rainbow heart
ESP32-S3_RGB_8x8_matrix1
ESP32-S3_RGB_8x8_matrix1
ESP32-S3_RGB_8x8_matrix-2
ESP32-S3_RGB_8x8_matrix-2
ESP32-S3 RGB Matrix- Mobile Phone Text
ESP32-S3 RGB Matrix- Mobile Phone Text
801-ESP32-S3 RGB LED Matrix Project 3 - Text from mobile phone
语言: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

|||您可能需要的东西

资源与参考

文件📁

Fritzing 文件