This tutorial is part of: Matrix na LED na ESP32-S3 RGB
Kyakkyawan aiki don ƙirƙirar aikace-aikace masu daɗi da amfani ta amfani da module na ESP32-S3 RGB Matrix. Hanyoyin haɗi zuwa wasu bidiyo suna ƙasa da wannan labarin.
Aikin Agogon Matrix LED RGB ESP32-S3 na Intanet - Launi 4 Bazuwa
Agogon Intanet na ESP32-S3 tare da Launuka RGB Bazuwar
Wannan aikin agogon RGB NeoMatrix na Intanet ne na ESP32-S3 wanda ke haɗawa da Wi-Fi, yana daidaita lokacin gida daga uwar garken NTP, kuma yana gudanar da lokaci a tsarin HH:MM a kan NeoMatrix na RGB 8×8 da aka gina a ciki. A wannan sigar, sa'o'i, maɗaukaki, da mintuna kowanne ana nuna su a cikin launuka bazuwar da aka zaɓa a kowane zagayowar gudana cikakke, yana haifar da nunin agogo mai ƙuzari da wasa wanda ke canzawa koyaushe.

Yadda wannan agogo yake aiki
Bayan kunna allon ta USB-C, ESP32-S3 yana haɗawa da hanyar sadarwar Wi-Fi ɗin ku kuma yana dawo da lokacin gida na yanzu daga intanet. An raba lokacin zuwa sassa uku—sa'o'i, maɗaukaki, da mintuna—kuma kowane sashi an zana shi daban akan matrix RGB. Lokacin da rubutun ya gudana gaba ɗaya daga allon, ana zaɓar sabbin launuka bazuwar don zagayowar na gaba.
Laburaren da aka yi amfani da su
Wannan sketch ɗin yana amfani da waɗannan laburaren:

#include <WiFi.h>
#include "time.h"
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
Shigar da Adafruit NeoMatrix daga Arduino Library Manager. Abubuwan dogaro da ake buƙata kamar Adafruit GFX Library da Adafruit NeoPixel za a shigar da su ta atomatik.

Muhimman saitunan mai amfani
Filin bayanan Matrix (RGB matrix da aka gina)
Ko da yake an haɗa matrix RGB a kan allon, dole ne a bayyana filin bayanan a cikin lambar:

#define MATRIX_PIN 14
GPIO 14 ana amfani da shi akai-akai akan allunan matrix RGB na ESP32-S3. Idan bambancin allon ku yana amfani da wani filin daban, sabunta wannan ƙimar daidai.
Wi-Fi SSID da kalmar sirri (mai kula da manyan haruffa)
Maye gurbin bayanan shiga Wi-Fi da cikakkun bayanan hanyar sadarwar ku:
const char* WIFI_SSID = "your WiFi SSID";
const char* WIFI_PASSWORD = "passW0rd";
Muhimmi: Wi-Fi SSIDs suna da kula da manyan haruffa. SSID mai suna "Book" ba ɗaya ba ne da "book". Idan manyan haruffa ba su dace daidai ba, ESP32-S3 zai kasa haɗawa.
Uwar garken NTP, yankin lokaci, da adana hasken rana
Daidaita lokaci ana yin shi ta amfani da uwar garken NTP na intanet:
const char* ntpServer = "pool.ntp.org";
Ana ƙididdige lokacin gida ta amfani da UTC da maƙasudin adana hasken rana:
// Toronto-ish: UTC-5, plus 1 hour DST
const long gmtOffset_sec = -5 * 3600;
const int daylightOffset_sec = 3600;
gmtOffset_sec: Maƙasudin UTC a cikin daƙiƙa (daidaita don wurin ku)daylightOffset_sec: Yi amfani da3600lokacin da DST ke aiki, ko0in ba haka ba
Ana amfani da waɗannan saitunan ta amfani da:
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
Hasken rana / dare ta atomatik
Agogon yana daidaita haske ta atomatik bisa sa'ar yanzu:
const int DAY_BRIGHTNESS = 40;
const int NIGHT_BRIGHTNESS = 5;
const int NIGHT_START_HOUR = 22;
const int NIGHT_END_HOUR = 6;
Tsakanin 10 na dare da 6 na safe, nunin yana rage haske don rage ƙyalli a wurare masu duhu. A lokutan rana, matrix ɗin yana komawa ga haske na yau da kullun.
Halin launin RGB bazuwar
An adana jerin launukan RGB da aka ƙayyade a cikin array, inda kowane launi aka bayyana shi ta amfani da ƙimar Red, Green, da Blue daga 0 zuwa 255:
uint8_t userColors[][3] = {
{255, 0, 0}, // Red
{0, 255, 0}, // Green
{0, 0, 255}, // Blue
{255, 165, 0}, // Orange
{255, 0, 255}, // Magenta
{0, 255, 255}, // Cyan
{255, 255, 0} // Yellow
};
A kowane zagayowar gudana cikakke:
- Ana ba lambobin sa'o'i launi bazuwar
- Maɗaukaki yana karɓar launi bazuwar daban
- Lambobin mintuna suna karɓar wani launi bazuwar daban
Wannan yana haifar da haɗin launi mai canzawa koyaushe wanda ke sa agogon ya kasance mai ban sha'awa a gani. Don ƙirƙirar launukan ku na musamman, kuna iya amfani da kayan aikin RGB Color Picker: RGB Color Picker.
Dabarar nunin lokaci
An raba lokacin zuwa sassa uku:
- Sa'o'i:
HH - Maɗaukaki:
: - Mintuna:
MM
Kowane sashi an zana shi daban don ya iya samun launinsa, yayin da duk sassan ke motsawa tare don samar da gudana mai santsi a kan nunin 8×8.
Ƙirƙirar launi bazuwar
Don tabbatar da rashin tsarin launi, sketch ɗin yana shuka lambar bazuwar a farkon farawa ta amfani da filin analog da ba a haɗa ba:
randomSeed(analogRead(0));
Wannan yana tabbatar da cewa haɗin launuka sun bambanta a kowane kunnawa da kowane zagayowar gudana.
Nuni
Bayan ɗora sketch ɗin da kunna allon ta USB-C:
- ESP32-S3 yana haɗawa da hanyar sadarwar Wi-Fi ɗin ku
- An daidaita lokaci daga intanet
- Lokaci yana gudana a tsarin
HH:MM - Sa'o'i, maɗaukaki, da mintuna suna canzawa zuwa launuka bazuwar kowane zagayowar
- Nunin yana rage haske ta atomatik a dare
Saukewa da hanyoyin haɗi
Cikakken lambar tushe an bayar da shi a ƙasa wannan labarin. Kayan aiki masu amfani da nassoshi an haɗa su a ƙasa wannan labarin.
This tutorial is part of: Matrix na LED na ESP32-S3 RGB
- Aikin Matrix LED RGB na ESP32-S3 1- Digo na asali
- Aikin Matrix LED RGB na ESP32-S3 2 - Rubutu Mai Gudana
- Aikin Matrix LED RGB ESP32-S3 Project 3 - Rubutu daga wayar hannu
- Aikin ESP32-S3 RGB LED Matrix 4 - Digon karkata
- Aikin Matrix LED RGB na ESP32-S3 Na 5 - Kibiya koyaushe tana sama
- Aikin Matrix LED RGB na ESP32-S3 6 - Wasan Cible
- Aikin ESP32-S3 RGB LED Matrix Wi-Fi + NTP Time Clock -1 Basic Clock
- Aikin ESP32-S3 RGB LED Matrix Agogon Intanet - Nunin Lokaci & Kwanan Wata masu Launi da yawa na Agogo 2
- Aikin ESP32-S3 RGB LED Matrix Agogon Intanet - Launi 3 na Dare tare da Kwanan Wata
- Aikin ESP32-S3 RGB LED Matrix Internet Clock - Launi 5 na Bakan gizo
- ESP32-S3 RGB LED Matrix test for RGB, GRB setting
/*
* =====================================================================================
* ESP32-S3 INTERNET RGB CLOCK (8x8 Matrix) - Project 4- Random Color
* =====================================================================================
watch video https://youtube.com/shorts/4iWjLiD7fS8
📚⬇️ Download and resource page https://robojax.com/RJT843
* Author: Gemini (AI Thought Partner) & Ahmad Shamshiri (Robojax.com)
* Date: 07 Jan 2026
* * FEATURES:
* 1. WiFi/NTP Time: Syncs automatically with internet time servers.
* 2. Cycle-Based Color: Color changes ONLY after the time finishes a full scroll.
* 3. Auto-Brightness: Dims the LEDs during night hours (User-configurable).
* =====================================================================================
*/
/*
* =====================================================================================
* ESP32-S3 INTERNET CLOCK - MULTI-COLOR ELEMENTS
* =====================================================================================
* Each part of the time (HH : MM) gets a different random color from your list.
* Colors only change once the full scroll cycle is finished.
* =====================================================================================
*/
#include <WiFi.h>
#include "time.h"
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#define MATRIX_PIN 14
// --- CONFIGURATION ---
const int DAY_BRIGHTNESS = 40;
const int NIGHT_BRIGHTNESS = 5;
const int NIGHT_START_HOUR = 22;
const int NIGHT_END_HOUR = 6;
uint8_t userColors[][3] = {
{255, 0, 0}, // Red
{0, 255, 0}, // Green
{0, 0, 255}, // Blue
{255, 165, 0}, // Orange
{255, 0, 255}, // Magenta
{0, 255, 255}, // Cyan
{255, 255, 0} // Yellow
};
int totalColors = sizeof(userColors) / sizeof(userColors[0]);
// Variables to store the current random color indices
int hourColorIdx = 0;
int colonColorIdx = 1;
int minColorIdx = 2;
// --- GLOBALS ---
Adafruit_NeoMatrix matrix(8, 8, MATRIX_PIN,
NEO_MATRIX_TOP + NEO_MATRIX_LEFT +
NEO_MATRIX_ROWS + NEO_MATRIX_PROGRESSIVE,
NEO_RGB + NEO_KHZ800);
char hourText[3], minText[3];
int16_t scrollX = 8;
unsigned long lastScrollMs = 0;
const uint16_t scrollIntervalMs = 100;
// 👇 REPLACE these with your real home WiFi name & password
const char* WIFI_SSID = "your WiFi SSID";
const char* WIFI_PASSWORD = "passW0rd";
// NTP (time) server
const char* ntpServer = "pool.ntp.org";
// Toronto-ish: UTC-5, plus 1 hour DST
const long gmtOffset_sec = -5 * 3600; // -5 hours
const int daylightOffset_sec = 3600; // +1 hour for DST
void updateTimeParts() {
struct tm timeinfo;
if (!getLocalTime(&timeinfo)) return;
snprintf(hourText, sizeof(hourText), "%02d", timeinfo.tm_hour);
snprintf(minText, sizeof(minText), "%02d", timeinfo.tm_min);
if (timeinfo.tm_hour >= NIGHT_START_HOUR || timeinfo.tm_hour < NIGHT_END_HOUR) {
matrix.setBrightness(NIGHT_BRIGHTNESS);
} else {
matrix.setBrightness(DAY_BRIGHTNESS);
}
}
void scrollTime() {
matrix.fillScreen(0);
int x = scrollX;
// 1. Draw Hours
matrix.setTextColor(matrix.Color(userColors[hourColorIdx][0], userColors[hourColorIdx][1], userColors[hourColorIdx][2]));
matrix.setCursor(x, 0);
matrix.print(hourText);
x += 12; // Move 12 pixels (2 digits * 6px)
// 2. Draw Colon
matrix.setTextColor(matrix.Color(userColors[colonColorIdx][0], userColors[colonColorIdx][1], userColors[colonColorIdx][2]));
matrix.setCursor(x, 0);
matrix.print(":");
x += 6; // Move 6 pixels
// 3. Draw Minutes
matrix.setTextColor(matrix.Color(userColors[minColorIdx][0], userColors[minColorIdx][1], userColors[minColorIdx][2]));
matrix.setCursor(x, 0);
matrix.print(minText);
matrix.show();
scrollX--;
// Total width is roughly 30 pixels (HH=12, :=6, MM=12)
if (scrollX < -30) {
scrollX = matrix.width();
// Pick NEW random colors for the next cycle
hourColorIdx = random(0, totalColors);
colonColorIdx = random(0, totalColors);
minColorIdx = random(0, totalColors);
}
}
void setup() {
Serial.begin(115200);
// Seed the random generator using an unconnected analog pin
randomSeed(analogRead(0));
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) delay(500);
// Configure time via NTP
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
Serial.println("Waiting for time...");
delay(2000); // small wait for initial sync
matrix.begin();
matrix.setTextWrap(false);
matrix.setBrightness(DAY_BRIGHTNESS);
}
void loop() {
if (millis() % 1000 == 0) updateTimeParts();
if (millis() - lastScrollMs >= scrollIntervalMs) {
lastScrollMs = millis();
scrollTime();
}
}
Albarkatun da kuma shafukan da za a duba
-
Bidiyo
-
Ciki🎨 Color picker Toolrobojax.com
Fayiloli📁
Fayil Fritzing
-
esp32-S3-supermini-tht fritzing part
esp32-S3-supermini-tht.fzpz0.02 MB