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

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

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

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

const char* WIFI_SSID = "WiFi";
const char* WIFI_PASSWORD = "passW0rd";مهم:SSIDهای Wi-Fi عبارتند ازحساس به بزرگی و کوچکی حروف. یک SSID به نام"Book"استنههمانند"book"اگر حروف بزرگ و کوچک دقیقاً مطابقت نداشته باشند، ESP32 قادر به اتصال نخواهد بود.
سرور NTP، منطقه زمانی و صرفهجویی در نور روز
ساعت زمان را با استفاده از سرور NTP زیر همگامسازی میکند:
const char* ntpServer = "pool.ntp.org";زمان محلی با استفاده از این اختلافات محاسبه میشود:
const long gmtOffset_sec = -5 * 3600;
const int daylightOffset_sec = 3600;gmtOffset_secتفصیل میدهد که偏移 UTC شما در ثانیهها چیستdaylightOffset_secیک ساعت به زمان اضافه میکند زمانی که ساعت تابستانی فعال است (استفاده0اگر لازم نیست)
این مقادیر با استفاده از:
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);روشنایی خودکار روز / شب
روشنایی نمایش بهطور خودکار بر اساس ساعت فعلی تغییر میکند:
const int DAY_BRIGHTNESS = 40;
const int NIGHT_BRIGHTNESS = 5;
const int NIGHT_START_HOUR = 22; // 10 PM
const int NIGHT_END_HOUR = 6; // 6 AMبین ساعت ۱۰ شب تا ۶ صبح، روشنایی ماتریس کاهش مییابد تا در محیطهای تاریک راحتتر باشد. در خارج از این ساعات، روشنایی کامل روز بازگردانده میشود. میتوانید این مقادیر را برای مناسب کردن با نور اتاق خود تنظیم کنید.
پیکربندی رنگ 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
};اگرuseFixedColorتنظیم شده است برایtrue، ساعت همیشه از یک رنگ استفاده میکند. اگر تنظیم شده باشد بهfalseرنگ به طور خودکار پس از هر بار اسکرول کامل زمان تغییر میکند.
برای پیدا کردن سریع مقادیر دقیق RGB برای هر رنگ، از ابزار انتخاب کننده رنگ RGB استفاده کنید:انتخابگر رنگ RGB.
نمایش زمان و اسکرول کردن
زمان کنونی به صورت فرمتبندی شده استHH:MMو در یک بافر کاراکتری کوچک ذخیره میشود. به دلیل اینکه نمایشگر تنها ۸ پیکسل عرض دارد، متن به طور روان از راست به چپ حرکت میکند. به محض اینکه زمان به طور کامل از نمایشگر خارج میشود، رنگ بعدی (در صورت فعال بودن) برای دور بعدی انتخاب میشود.
به نمایش
پس از بارگذاری طرح:
- ESP32-S3 به Wi-Fi متصل میشود.
- زمان از اینترنت هماهنگ شده است
- زمان فعلی در ماتریس RGB حرکت میکند
- روشنایی به طور خودکار بین روز و شب تغییر میکند
- رنگ متن ثابت باقی میماند یا بر اساس تنظیمات شما تغییر میکند.
دانلودها و واصلها
شِفر (کود) منبع کامل در پایین این مقاله ارائه شده است. واصلهای به قطعات، ابزارها و برگههای داده در پایین این مقاله موجود است.
این آموزش بخشی از: ماتریس 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 - نمایش زمان و تاریخ چند رنگ 2 ساعته
- پروژه ساعت اینترنتی ماتریس 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
منابع و مراجع
-
ویدیو
-
داخلی🎨 Color picker Toolrobojax.com
فایلها📁
فایل فریزینگ
-
esp32-S3-supermini-tht fritzing part
esp32-S3-supermini-tht.fzpz0.02 MB