این آموزش بخشی است از: ماتریس LED RGB مدل ESP32-S3
پروژه جالبی برای ایجاد کاربردهای سرگرمکننده و کاربردی با استفاده از ماژول ماتریس RGB ESP32-S3.
پروژه ساعت اینترنتی ماتریس LED RGB ESP32-S3 - نمایش زمان و تاریخ چند رنگ 2 ساعته
ساعت اینترنتی ESP32-S3 RGB NeoMatrix با نمایش زمان و تاریخ
این پروژه یک ساعت اینترنتی با ماتریس RGB ESP32-S3 پیشرفته است که نه تنها زمان فعلی را نشان میدهد بلکه بهطور دورهای تاریخ را نیز نمایش میدهد. ESP32-S3 به Wi-Fi متصل میشود، زمان را از یک سرور NTP همگامسازی میکند و به صورت متوالی اسکرول میکند.HH:MMیا تاریخ (برای مثالSEP 21) در یک ماتریس RGB NeoMatrix 8×8. این نمایشگر از کنترل روشنایی خودکار روز/شب و رنگهای RGB قابل تنظیم پشتیبانی میکند.

این ساعت چه کار میکند
پس از اتصال به شبکه Wi-Fi خود، ESP32-S3 زمان محلی فعلی را از اینترنت دریافت میکند. ساعت معمولاً زمان را پیمایش میکند، اما در فواصل زمانی مشخص به نمایش تاریخ سویچ میشود. رنگ متن میتواند به یک رنگ ثابت باشد یا به صورت خودکار میان چند رنگ تعریفشده توسط کاربر چرخش کند. در شب، روشنایی بهطور خودکار کاهش مییابد تا نمایشگر برای چشمها آسانتر شود.
کتابخانههای مورد استفاده
این اسکیس به کتابخانههای زیر وابسته است:

#include <WiFi.h>
#include "time.h"
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>نصب کنیدآداfruit نئو ماتریساز مدیر کتابخانه آردوینو. تمام وابستگیهای لازم مانندAdafruit GFX LibraryوAdafruit NeoPixelبهطور خودکار نصب خواهد شد.

پیکربندی کاربر مهم
SSID وایفای و رمز عبور (حساس به بزرگی و کوچکی حروف)
شما باید اطلاعات ورود به Wi-Fi را با اطلاعات شبکه خود جایگزین کنید:

const char* WIFI_SSID = "WiFi";
const char* WIFI_PASSWORD = "passW0rd";مهم:SSID های Wi-Fi عبارتند ازحساس به حروف بزرگ و کوچکبرای مثال، یک SSID به نام"Book"استنشدنهمانند"book"اگر حروف بزرگ و کوچک دقیقاً مطابقت نداشته باشند، ESP32 به اتصال موفق نخواهد بود.
سرور NTP، منطقه زمانی و صرفهجویی در وقت تابستانی
ساعت از یک سرور زمان اینترنتی استفاده میکند:
const char* ntpServer = "pool.ntp.org";زمان محلی با استفاده از این جابجاییها محاسبه میشود:
const long gmtOffset_sec = -5 * 3600;
const int daylightOffset_sec = 3600;gmtOffset_secافتتاحیه UTC شما به ثانیه (مثال: UTC-5 =-5 * 3600)daylightOffset_secاستفاده کنید3600برای ساعت تابستانی یا0اگر زمان تابستانی استفاده نشود
این تنظیمات با استفاده از اعمال میشوند:
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);کنترل روشنایی (روز / شب)
این پروژه به طور خودکار روشنایی را بر اساس ساعت روز تنظیم میکند:
const int DAY_BRIGHTNESS = 40;
const int NIGHT_BRIGHTNESS = 5;
const int NIGHT_START_HOUR = 22;
const int NIGHT_END_HOUR = 6;بین ساعت ۱۰ شب تا ۶ صبح، روشنایی کاهش مییابد تا نمایشگر در محیطهای تاریک کمتر حواسپرت کند. شما میتوانید این مقادیر را بر اساس سلیقه خود تنظیم کنید.
تنظیمات رنگ RGB
ساعت از هر دو حالت رنگ ثابت و چرخش خودکار رنگ پشتیبانی میکند. رنگهای RGB تعریفشده توسط کاربر در یک آرایه ذخیره میشوند:
uint8_t userColors[][3] = {
{17, 43, 171}, // Light Blue
{255, 0, 0}, // Red
{0, 255, 0}, // Green
{255, 165, 0}, // Orange
{255, 0, 255} // Magenta
};هر رنگ از مقادیر RGB (قرمز، سبز، آبی) استفاده میکند که دامنهای از 0 تا 255 دارند. با تغییر این اعداد، میتوانید به طور تقریبی هر رنگی را برای نمایش ایجاد کنید. اگرuseFixedColorتنظیم شده است برایtrue، ساعت همیشه از یک رنگ استفاده میکند. اگر تنظیم شود بهfalseرنگ به طور خودکار پس از هر بار اسکرول کامل تغییر میکند.
برای پیداکردن سریع و دقیق مقادیر RGB برای هر رنگی که میخواهید، از ابزار انتخابگر رنگ RGB استفاده کنید:انتخابگر رنگ RGB.
فرمت تاریخ و زمان
زمان به صورت فرمت شده استHH:MMو در یک بافر کاراکتری کوچک ذخیره میشود. تاریخ به صورت یک رشته بزرگنمایی شده مانندSEP 21صفحه نمایش به طور خودکار در فواصل ثابت بین زمان و تاریخ تعویض میشود.
منطق اسکرول در یک نمایشگر ۸×۸
زیرا یک ماتریس ۸×۸ خیلی کوچک است تا متن کامل را به طور همزمان نمایش دهد، طراحی متن را به صورت افقی اسکرول میکند. زمانی که متن به طور کامل از نمایش خارج میشود، رنگ بهروزرسانی میشود و محتوا در صورت نیاز بین زمان و تاریخ تغییر میکند.
تظاهرات
پس از بارگذاری طرح:
- ESP32 به Wi-Fi متصل میشود
- زمان از اینترنت همگامسازی شده است
- زمان حال در حال حرکت در ماتریس است
- تاریخ به طور دورهای ظاهر میشود
- درخشندگی به طور خودکار برای روز و شب تنظیم میشود
دانلودها و پیوندها
شِفر (کود) منبع کامل در زیر این مقاله ارائه شده است. واصلها به بخشها، ابزارها و ورقهای داده نیز در زیر این مقاله در دسترس است.
این آموزش بخشی از: ماتریس LED RGB مدل ESP32-S3
- پروژههای ماتریس LED رنگی ESP32-S3 (بازی کجشدن، متن، پیکان، دموی وایفای)
- پروژه ماتریس LED RGB ESP32-S3 2 - متن متحرک
- پروژه ماتریس LED RGB ESP32-S3 3 - متن از تلفن همراه
- پروژه ماتریس LED RGB ESP32-S3 4 - نقطه کج
- پروژه ماتریس LED RGB ESP32-S3 ۵ - پیکان همیشه به سمت بالا
- پروژه ماتریس LED RGB ESP32-S3 6 - بازی Cible
- پروژه ساعت پایه ESP32-S3 ماتریس LED RGB Wi-Fi + ساعت زمان NTP -1
- پروژه ساعت اینترنتی ماتریس LED RGB ESP32-S3 - ۳ رنگ شب با تاریخ
- پروژه ساعت اینترنتی ماتریس LED RGB ESP32-S3 - ۵ رنگ رنگین کمان
- پروژه ساعت اینترنتی ماتریس LED RGB ESP32-S3 - ۴ رنگ تصادفی
- آزمایش ماتریس LED RGB ESP32-S3 برای تنظیم RGB و GRB
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازون
-
ایبیخرید ماتریس RGB ESP32-S3 از eBayebay.us
-
علیاکسپرسخرید ماتریس RGB ESP32-S3 از علیاکسپرسs.click.aliexpress.com
-
علیاکسپرسمجموعه ماتریس RGB ESP32-S3 را از علیاکسپرس خریداری کنید (2)s.click.aliexpress.com
منابع و مراجع
-
ویدیو
فایلها📁
فایل فریزینگ
-
esp32-S3-supermini-tht fritzing part
esp32-S3-supermini-tht.fzpz0.02 MB