This tutorial is part of: Matrix LED ESP32-S3 RGB
Iṣẹ́ àkànṣe láti ṣẹ̀dá fún àwọn ohun èlò ìgbádùn àti ìwúlò nípa lílo module ESP32-S3 RGB Matrix. Àwọn ìjápọ̀ sí àwọn fídíò mìíràn wà ní ìsàlẹ̀ àpilẹ̀kọ yìí.
Iṣẹ́ ESP32-S3 RGB LED Matrix Project 2 - Ọ̀rọ̀ Tí Ń Rìn
Ise 2 – Yiyo Ọrọ lori ESP32-S3 RGB LED Matrix
Ninu ise yii a yi ESP32-S3 RGB LED Matrix pada si afihan ọrọ kekere kan. Ifiranṣẹ kukuru kan (fun apẹẹrẹ Robojax) n yi lori ifihan RGB 8×8, ati pe o le yi ọrọ, awọ, imọlẹ, ati iyara yiyi pada taara ninu koodu naa. Eyi wulo pupọ fun awọn ifitonileti ti o rọrun, awọn aami orukọ, tabi awọn ifiranṣẹ ipo kekere.
Gbogbo awọn ise mẹfa ninu jara yii ni a ṣe afihan ati ṣalaye ninu fidio YouTube kan ṣoṣo. Fidio kanna ni a fi sinu oju-iwe yii, nitorinaa o le rii gangan bi yiyi ọrọ ṣe dabi ni akoko gidi ati bi eto kọọkan ṣe ni ipa lori iṣesi naa. Koodu pipe fun ise yii ti wa ni ikojọpọ laifọwọyi ni isalẹ nkan naa, ati pe o le ra module ESP32-S3 RGB LED Matrix lati awọn ile itaja alabaṣepọ ti a ṣe akojọ si labẹ apakan koodu.
Ise yii kọ lori awọn ipilẹ ti Ise 1 (aami gbigbe ati iṣakoso awọ) ati ṣafikun ṣiṣe ọrọ ati yiyi nipa lilo ile-ikawe NeoMatrix.


Akopọ Module ESP32-S3 RGB LED Matrix
Ohun elo naa jẹ kanna ni gbogbo awọn ise mẹfa: microcontroller ESP32-S3 pẹlu Wi-Fi ati Bluetooth, matrix RGB LED 8×8 (64 awọn LED RGB ti a le koju), accelerometer QMI8658C, ibudo USB, ati awọn pinni IO ti o wọle.:contentReference[oaicite:0]{index=0}

- ESP32-S3 – CPU akọkọ pẹlu Wi-Fi/BLE fun awọn ise ilọsiwaju.
- Matrix RGB 8×8 – 64 awọn LED RGB fun awọn aami, ọrọ, ati awọn iṣesi.
- Accelerometer QMI8658C – ti a lo ninu awọn ise nigbamii fun titẹ ati iṣalaye.
- Ibufile USB – ti a lo fun agbara ati siseto nipasẹ Arduino IDE.
- Awọn pinni ti o han – jẹ ki o lo bọọdi naa bi ESP32 deede fun awọn IO miiran.
- Awọn bọtini Boot / Reset – fun ikojọpọ firmware ati tun bẹrẹ awọn sketches.
Ninu Ise 2 a fojusi akọkọ lori matrix ati awọn iṣẹ ọrọ NeoMatrix. Accelerometer ko ṣee lo sibẹsibẹ, ṣugbọn bọọdi kanna yoo ṣakoso gbogbo awọn ise ibaraenisepo ati ere nigbamii daradara.

Awọn Ise Ti a Bo ninu Fidio (Awọn Akoko)
Fidio ti o tẹle nkan yii bo gbogbo awọn ise mẹfa. Awọn akoko isunmọ ni:
- 00:00 – Ifihan
- 02:01 – Fifi sori ẹrọ awọn bọọdi ESP32
- 03:32 – Fifi sori ẹrọ awọn ile-ikawe
- 05:32 – Ise 1: Aami Gbigbe
- 11:11 – Ise 2: Yiyi Ọrọ
- 12:59 – Ise 3: Ọrọ HTTP
- 16:41 – Ise 4: Aami Titẹ
- 18:55 – Ise 5: Ọfa Soke
- 20:02 – Ise 6: Ere Ibi-afẹde
A gba ọ niyanju lati wo fidio naa nigba ti o n ka nkan yii. O ṣe afihan ọrọ ti n yi laaye lori matrix LED ati rin nipasẹ gbogbo awọn igbesẹ ninu Arduino IDE.
Fifi sori ẹrọ Awọn Bọọdi ESP32 ni Arduino IDE
Ṣaaju ṣiṣe koodu yiyi ọrọ, rii daju pe atilẹyin ESP32 ti fi sori ẹrọ ninu Arduino IDE rẹ:
- Ṣii
File > Preferencesati ṣafikun URL awọn bọọdi ESP32 si “Additional Boards Manager URLs”. - Lọ si
Tools > Board > Boards Manager…, waESP32, ati fi sori ẹrọ package ESP32 osise. - Yan bọọdi ESP32-S3 RGB Matrix rẹ lati
Tools > Board. - So module naa pọ nipasẹ USB ki o yan ibudo COM/serial ti o tọ labẹ
Tools > Port.
Ti iru bọọdi tabi ibudo ko ba tọ, sketch naa kii yoo gbe soke.
Fifi sori ẹrọ NeoMatrix ati Awọn Ile-ikawe Ti a Beere
Yiyi ọrọ ti wa ni imuse nipa lilo Adafruit NeoMatrix ati awọn igbẹkẹle rẹ. Ninu fidio naa, wọn fi wọn sori ẹrọ nipasẹ Library Manager.
O yoo nilo:
Adafruit NeoMatrixAdafruit NeoPixelAdafruit GFX Library
- Ṣii
Sketch > Include Library > Manage Libraries…. - Wa
Adafruit NeoMatrixki o tẹ Install. - Nigba ti o ba beere, gba ọ laaye lati fi
Adafruit GFXatiAdafruit NeoPixelsori ẹrọ bi awọn igbẹkẹle.
Ti fifi sori ẹrọ ba ṣaṣeyọri, o yẹ ki o rii awọn sketches apẹẹrẹ labẹ File > Examples > Adafruit NeoMatrix ati File > Examples > Adafruit NeoPixel.
Ise 2 – Awọn Eto Koodu (Yiyi Ọrọ)
Sketch yiyi ọrọ ni kikun ti wa ni ikojọpọ laifọwọyi ni isalẹ nkan yii lori oju-iwe wẹẹbu. Nibi a fojusi nikan lori awọn iye iṣeto ti o yoo fẹ lati ṣatunkọ: pinni, iwọn matrix, imọlẹ, okun ọrọ, awọ, iyara yiyi, ati itọsọna yiyan.
Gbogbo awọn ajẹkù isalẹ ni a mu lati apakan iṣeto ni oke sketch naa ki o le yara ṣatunṣe ihuwasi laisi fọwọkan ọgbọn akọkọ.
Pinni ati Iwọn Matrix
Gẹgẹbi Ise 1, matrix RGB ti sopọ si GPIO 14 ati pe o ni awọn LED 64 (8×8). Rii daju pe awọn ila meji wọnyi ba module rẹ mu:
// Pin ti a sopọ si matrix RGB 8×8
const int MATRIX_PIN = 14; // gbọdọ jẹ 14 lori module yii // Iwọn matrix (iwidth ati iga)
const int MATRIX_WIDTH = 8;
const int MATRIX_HEIGHT = 8;
Ti o ba daakọ apẹẹrẹ lati ile-ikawe NeoMatrix, o le lo pinni tabi iwọn ti o yatọ; nigbagbogbo yi wọn pada lati ba bọọdi yii mu.
Imọlẹ ti Ọrọ
Imọlẹ ni a ṣakoso nigbagbogbo pẹlu iye laarin 0 ati 255, nibiti 0 ti wa ni pipa ati 255 jẹ imọlẹ ti o pọju. Iye iwọntunwọnsi nigbagbogbo to:
// Ìmúló ìmọ́lẹ̀ matrix (0–255)
uint8_t matrixBrightness = 40; // ìmọ́lẹ̀ inú ilé tí ó tùnà // Nínú
setup():
matrix.setBrightness(matrixBrightness);
Bí o bá lo pánẹ́lì náà ní àyíká tí ó mọ́lẹ̀ tàbí fún àkókò kúkúrú, o lè pọ̀ sí i níye, ṣùgbọ́n yẹra fún lílọ sókè púpọ̀ bí o bá súnmọ́ ibi ìfihàn náà.
Ọ̀rọ̀ Tí Yóò Yí
Ìránṣẹ́ gangan náà ni a fipamọ́ gẹ́gẹ́ bí okùn. Nínú fídíò náà, àpẹẹrẹ ọ̀rọ̀ náà jẹ́ Robojax. O lè yí i padà sí àkọlé kúkúrú tàbí ìránṣẹ́ èyíkéyìí tí o bá fẹ́:
// Ọ̀rọ̀ tí yóò yí lórí matrix 8×8 const char scrollText[] = "Robojax";
// yí èyí padà sí ìránṣẹ́ rẹ
Rántí pé èyí jẹ́ matrix 8×8 nìkan, nítorí náà àwọn ìránṣẹ́ gígùn púpọ̀ yóò gba àkókò pípẹ́ láti yí kí ó sì lè ṣòro láti kà.
Àwọ̀ Ọ̀rọ̀ (Àwọn Iye RGB)
A ṣeto àwọ̀ ọ̀rọ̀ tí ń yí nípasẹ̀ àwọn ẹ̀yà pupa, aláwọ̀ ewé, àti bulu (0–255). Fún àpẹẹrẹ, pupa tó mọ́ tán jẹ́ (255, 0, 0), aláwọ̀ ewé tó mọ́ tán jẹ́ (0, 255, 0), àti bulu tó mọ́ tán jẹ́ (0, 0, 255). Nínú àkọlé náà o yóò rí nǹkan bí:
// Àwọ̀ ọ̀rọ̀ (R, G, B) uint8_t textRed = 255; // ẹ̀yà pupa uint8_t textGreen = 0; // ẹ̀yà aláwọ̀ ewé uint8_t textBlue = 0; // ẹ̀yà bulu
Láti yí àwọ̀ padà:
- Àwọ̀ òfẹ̀:
textRed = 255; textGreen = 255; textBlue = 0; - Àwọ̀ Cyan:
textRed = 0; textGreen = 255; textBlue = 255; - Àwọ̀ funfun:
textRed = 255; textGreen = 255; textBlue = 255;
Fídíò náà tún ṣàfihàn lílo olùyàn àwọ̀ orí ayélujára láti wá àwọn iye RGB kí o sì tẹ̀ wọ́n sínú kóòdù náà.:contentReference[oaicite:1]{index=1}
Ìyára Yíyí (Ìdúró Láàárín Àwọn Fírámù)
A kó ìyára yíyí padà nípasẹ̀ iye ìdúró ní milliseconds láàárín ìgbésẹ̀ ìmúdójúìwọ̀n kọ̀ọ̀kan. Iye tí ó kéré jẹ́ kí ọ̀rọ̀ náà yí yára; iye tí ó tóbi sì jẹ́ kí ó lọra. Nínú àkọlé náà, o yẹ kí o rí àṣàtọ̀rọ̀ bí:
// Ìdúró láàárín àwọn ìgbésẹ̀ yíyí (ní milliseconds) int scrollDelayMs = 50;
// kéré = yára, tóbi = lọra
Àwọn àpẹẹrẹ:
scrollDelayMs = 20;→ yíyí yára.scrollDelayMs = 50;→ ìyára àárín (bíi ti fídíò náà).scrollDelayMs = 100;tàbí púpọ̀ sí i → yíyí lọra, tí ó rọrùn láti kà.
Nínú loop(), a lo iye yìí nínú ìpè delay(scrollDelayMs); lẹ́yìn àtúnṣe kọ̀ọ̀kan ti ipò ọ̀rọ̀ náà.
Ìtọ́nà Yíyí (Àṣàyàn)
Nínú iṣẹ́ “yíyí ọ̀rọ̀ ìpìlẹ̀” a sábà máa ń yí sí òsì, ṣùgbọ́n ó wúlò láti ṣàlàyé àṣàtọ̀rọ̀ ìtọ́nà kan kí o lè ṣàdánwò àwọn ìtọ́nà mìíràn lẹ́yìn náà (òsì, ọ̀tún, sókè, sísàlẹ̀).
Ọ̀nà tí ó wọ́pọ̀ kan ni:
// Olùyàn ìtọ́nà yíyí // 0 = òsì, 1 = ọ̀tún, 2 = sókè, 3 = sísàlẹ̀
int scrollDirection = 0; // àfẹ̀sọ̀nà: yí sí òsì
Lúùpù àkọ́kọ́ náà yóò wá ṣàyẹ̀wò scrollDirection kí ó sì gbé ọ̀rọ̀ náà lọ sí ìtọ́nà tí a yàn. Fún Iṣẹ́ 2 o lè fi sí 0 (òsì), ṣùgbọ́n bí o bá gbòòrò àkọlé náà lẹ́yìn náà o lè fi àwọn ipò kún un bí:
if (scrollDirection == 0) {
// gbé ọ̀rọ̀ lọ sí òsì
} else if (scrollDirection == 1) {
// gbé ọ̀rọ̀ lọ sí ọ̀tún
} else if (scrollDirection == 2) {
// gbé ọ̀rọ̀ lọ sókè
} else if (scrollDirection == 3) {
// gbé ọ̀rọ̀ lọ sísàlẹ̀
}
Fún àpilẹ̀kọ yìí a ṣe àkọsílẹ̀ ìṣeto náà nìkan. Ìmúṣẹ kíkún jẹ́ apá kan ti kóòdù tí a gbé sí abẹ́ àpilẹ̀kọ náà.
Àkópọ̀
Iṣẹ́ 2 yí ESP32-S3 RGB LED Matrix rẹ padà sí àfihàn ọ̀rọ̀ tí ó rọrùn ṣùgbọ́n tí ń fà ojú. Nípa ṣíṣàtúnṣe àwọn àṣàtọ̀rọ̀ díẹ̀ nìkan ní òkè kóòdù náà, o lè yí padà ní kíákíá:
- Ìránṣẹ́ tí a fihàn (
scrollText). - Àwọ̀ ọ̀rọ̀ náà (
textRed,textGreen,textBlue). - Ìmúló matrix náà (
matrixBrightness). - Ìyára yíyí (
scrollDelayMs). - Ìtọ́nà yíyí (
scrollDirection, bí o bá yàn láti lò ó).
Àkọlé kíkún fún iṣẹ́ yìí wà ní ìsàlẹ̀ àpilẹ̀kọ yìí (tí ojú òpó wẹ́ẹ̀bù náà gbé wọlé láìṣe àtìlẹ́yìn). Fún ìtọ́sọ́nà alápá-ọ̀nà alápẹ̀rẹ̀ àti àṣefihàn ààyè ti ọ̀rọ̀ tí ń yí nínú iṣẹ́, rí i dájú pé o wo apá tí ó bá mu nínú fídíò náà. Bí o bá fẹ́ràn iṣẹ́ náà tí o sì fẹ́ kọ́ ọ fúnra rẹ, o tún lè ra module ESP32-S3 RGB LED Matrix láti àwọn ọ̀rọ̀ asopọ̀ alábàṣepọ̀ tí a kọ sí abẹ́ kóòdù náà.
This tutorial is part of: Matrix LED ESP32-S3 RGB
- Iṣẹ́ ESP32-S3 RGB LED Matrix 1- Àmì-ojú ìpilẹ̀ṣẹ̀
- Iṣẹ́ ESP32-S3 RGB LED Matrix Project 3 - Ọ̀rọ̀ láti fóónù alágbèéká
- Iṣẹ́ ESP32-S3 RGB LED Matrix Project 4 - Tilt dot
- Iṣẹ́ ESP32-S3 RGB LED Matrix Project 5 - Ọfà tí ó máa ń tọ́ka sí òkè nígbà gbogbo
- Iṣẹ́ ESP32-S3 RGB LED Matrix Project 6 - Ere Cible
- Iṣẹ́ Aago ESP32-S3 RGB LED Matrix Wi-Fi + NTP - 1 Aago Ìpìlẹ̀
- Iṣẹ́ Aago Internet Matrix LED RGB ESP32-S3 - Àfihàn Aago àti Ọjọ́ ní Àwọ̀ púpọ̀ 2
- Iṣẹ́ Aago Internet Matrix LED RGB ESP32-S3 - Àwọ̀ Alẹ́ 3 pẹ̀lú Ọjọ́
- Iṣẹ́ Aago Internet Matrix LED RGB ESP32-S3 - Àwọ̀ Òṣùwọ̀n 5
- Iṣẹ́ Aago Nẹ́tíwọọkì ESP32-S3 RGB LED Matrix - Àwọ̀ àìròtẹ́lẹ̀ mẹ́rin
- ESP32-S3 RGB LED Matrix test for RGB, GRB setting
/*
Project 2: Text scroll – ESP32-S3 RGB LED Matrix (Waveshare)
This sketch displays the scrolling text on 8x8 matrix
▶️ Video Tutorial:
https://youtu.be/JKLuYrRcLMI
📚⬇️ Resources & Code Page:
https://robojax.com/RJT829
QMI8658_RGB_2
*/
#include <Arduino.h>
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
// -------- LED MATRIX SETUP --------
#define MATRIX_PIN 14
#define MATRIX_WIDTH 8
#define MATRIX_HEIGHT 8
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(
MATRIX_WIDTH, MATRIX_HEIGHT, MATRIX_PIN,
NEO_MATRIX_TOP + NEO_MATRIX_LEFT +
NEO_MATRIX_ROWS + NEO_MATRIX_PROGRESSIVE,
NEO_RGB + NEO_KHZ800
);
// =========================
// USER SETTINGS
// =========================
// Text to scroll
const char* MESSAGE = "ROBOJAX ";
// Brightness (0–255)
uint8_t BRIGHTNESS = 10;
// Scroll speed (milliseconds between steps)
// Smaller = faster
uint16_t SCROLL_DELAY = 80;
// Scroll direction
enum ScrollDir {
SCROLL_LEFT,
SCROLL_RIGHT,
SCROLL_UP,
SCROLL_DOWN
};
// Change this to set direction
ScrollDir DIRECTION = SCROLL_LEFT;
// Text color (set RGB here)
uint8_t COLOR_R = 255;
uint8_t COLOR_G = 0;
uint8_t COLOR_B = 0;
// =========================
// INTERNAL STATE
// =========================
uint16_t textColor;
int16_t posX, posY;
int16_t textWidth, textHeight;
uint32_t lastStepTime = 0;
// Compute text size in pixels for default 5x7 font
void computeTextSize() {
int16_t x1, y1;
uint16_t w, h;
matrix.getTextBounds((char*)MESSAGE, 0, 0, &x1, &y1, &w, &h);
textWidth = (int16_t)w;
textHeight = (int16_t)h;
}
// Initialize starting position based on direction
void resetScrollPosition() {
switch (DIRECTION) {
case SCROLL_LEFT:
// Start just off the right edge
posX = matrix.width();
posY = 0; // top row for 8x8
break;
case SCROLL_RIGHT:
// Start just off the left edge
posX = -textWidth;
posY = 0;
break;
case SCROLL_UP:
posX = 0;
posY = matrix.height(); // start below bottom
break;
case SCROLL_DOWN:
posX = 0;
posY = -textHeight; // start above top
break;
}
}
// One scroll step
void stepScroll() {
// Move position
switch (DIRECTION) {
case SCROLL_LEFT:
posX--;
if (posX < -textWidth) {
posX = matrix.width();
}
break;
case SCROLL_RIGHT:
posX++;
if (posX > matrix.width()) {
posX = -textWidth;
}
break;
case SCROLL_UP:
posY--;
if (posY < -textHeight) {
posY = matrix.height();
}
break;
case SCROLL_DOWN:
posY++;
if (posY > matrix.height()) {
posY = -textHeight;
}
break;
}
// Draw frame
matrix.fillScreen(0);
matrix.setCursor(posX, posY);
matrix.print(MESSAGE);
matrix.show();
}
void setup() {
matrix.begin();
matrix.setBrightness(BRIGHTNESS);
matrix.setTextWrap(false); // No automatic wrapping
matrix.setTextSize(1); // Default 5x7 font
textColor = matrix.Color(COLOR_R, COLOR_G, COLOR_B);
matrix.setTextColor(textColor);
computeTextSize();
resetScrollPosition();
matrix.fillScreen(0);
matrix.show();
}
void loop() {
uint32_t now = millis();
if (now - lastStepTime >= SCROLL_DELAY) {
lastStepTime = now;
stepScroll();
}
}
Ohun ti o le nilo
-
Amazon
-
eBay
-
AliExpressPurchase ESP32-S3 RGB Matrix from AliExpresss.click.aliexpress.com
-
AliExpressPurchase ESP32-S3 RGB Matrix from AliExpress (2)s.click.aliexpress.com
Orisun & itọkasi
-
Ináàbò🎨 Color picker Toolrobojax.com
Fáìlìs📁
Fayile Fritzing
-
esp32-S3-supermini-tht fritzing part
esp32-S3-supermini-tht.fzpz0.02 MB