هذا الدليل جزء من: مصفوفة مصابيح LED RGB من نوع ESP32-S3
مشروع رائع يمكن إنشاؤه لتطبيقات ممتعة وعملية باستخدام وحدة ESP32-S3 RGB Matrix.
مشروع ساعة الإنترنت لشبكة مصفوفة LEDs RGB ESP32-S3 - 4 ألوان عشوائية
ساعة إنترنت ESP32-S3 بألوان RGB عشوائية
هذا المشروع هو ساعة إنترنت RGB Matrix تعتمد على ESP32-S3 تتصل بشبكة Wi-Fi، وتزامن الوقت المحلي من خادم NTP، وتعرض الوقت بطريقة متدفقة فيHH:MMتنسيق عبر مصفوفة RGB NeoMatrix المدمجة 8×8. في هذه النسخة، يتم تمثيل الساعات، والفاصلة، والدقائق كل منها فيألوان عشوائيةتم اختيارها في كل دورة تمرير كاملة، مما يخلق عرض ساعة ديناميكي ومرن يتغير باستمرار.

كيف تعمل هذه الساعة
بعد تشغيل اللوحة عبر USB-C، يتصل ESP32-S3 بشبكة Wi-Fi الخاصة بك ويسترجع الوقت المحلي الحالي من الإنترنت. يتم تقسيم الوقت إلى ثلاثة أجزاء - الساعات، والفاصلة، والدقائق - ويتم رسم كل جزء بشكل منفصل على مصفوفة RGB. عندما يتدحرج النص بالكامل خارج الشاشة، يتم اختيار ألوان عشوائية جديدة للمرور التالي.
المكتبات المستخدمة
تستخدم هذه الرسمة التخطيطية المكتبات التالية:

#include <WiFi.h>
#include "time.h"
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>تثبيتأدا فروت نيو ماتريكسمن مدير مكتبة Arduino. المتطلبات اللازمة مثلAdafruit GFX LibraryوAdafruit NeoPixelسيتم تثبيته تلقائيًا.

تكوين المستخدم المهم
دبوس بيانات المصفوفة (مصفوفة RGB المدمجة)
على الرغم من أن مصفوفة RGB مدمجة في اللوحة، إلا أنه يجب تعريف دبوس البيانات في الشيفرة.

#define MATRIX_PIN 14يتم استخدام GPIO 14 عادةً على لوحات مصفوفة RGB ESP32-S3. إذا كانت متغير اللوحة الخاصة بك تستخدم دبوسًا مختلفًا، يرجى تحديث هذه القيمة وفقًا لذلك.
اسم الشبكة اللاسلكية وكلمة المرور (حساسة لحالة الأحرف)
استبدل بيانات اعتماد الواي فاي بتفاصيل شبكتك الخاصة:
const char* WIFI_SSID = "your WiFi SSID";
const char* WIFI_PASSWORD = "passW0rd";مهم:شبكات الواي فاي هيحساسة لحالة الأحرف. اسم SSID هو"Book"ليس هو نفسه كما"book"إذا لم تتطابق حالة الأحرف بالضبط، فلن ينجح ESP32-S3 في الاتصال.
خادم NTP، منطقة زمنية، وتوقيت الصيف
يتم إجراء تزامن الوقت باستخدام خادم NTP عبر الإنترنت:
const char* ntpServer = "pool.ntp.org";يتم حساب الوقت المحلي باستخدام التوقيت العالمي المنسق (UTC) وإضافات التوقيت الصيفي:
// Toronto-ish: UTC-5, plus 1 hour DST
const long gmtOffset_sec = -5 * 3600;
const int daylightOffset_sec = 3600;gmtOffset_sec: فرق التوقيت بالت_seconds (قم بتعديله لموقعك)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;بين الساعة 10 مساءً والساعة 6 صباحًا، يتقلص السطوع لتقليل الوهج في البيئات المظلمة. خلال ساعات النهار، تعود الشاشة إلى سطوعها الطبيعي.
سلوك لون RGB عشوائي
تُخزَّن قائمة محددة مسبقًا من ألوان RGB في مصفوفة، حيث يتم تعريف كل لون باستخدام قيم الأحمر والأخضر والأزرق التي تتراوح من 0 إلى 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
};في كل دورة تمرير كاملة:
- المأرقام الساعاتتم تعيين لون عشوائي
- النقطة الرأسيستقبل لونًا عشوائيًا مختلفًا
- ذودقائق الأرقاماستقبل لونًا عشوائيًا آخر
ينتج عن ذلك مزيج متغير باستمرار من الألوان يحافظ على جاذبية الساعة بصريًا. لإنشاء ألوان مخصصة خاصة بك، يمكنك استخدام أداة اختيار ألوان RGB:اختيار لون RGB.
منطق عرض الوقت
ينقسم الوقت إلى ثلاثة مكونات:
- ساعات:
HH - نقطتان
: - دقائق:
MM
يتم رسم كل جزء بشكل فردي حتى يمكن أن يكون له لونه الخاص، بينما تتحرك جميع الأجزاء معًا لتشكيل حركة تمرير سلسة عبر شاشة 8×8.
توليد ألوان عشوائية
لتأمين عشوائية الألوان، يقوم الرسم التخطيطي بتهيئة مولد الأرقام العشوائية عند التشغيل باستخدام دبوس تماثلي غير متصل:
randomSeed(analogRead(0));هذا يضمن أن تركيبات الألوان مختلفة في كل مرة يتم فيها تشغيل الطاقة وكل دورة لتدوين.
تظاهرة
بعد رفع الرسم التخطيطي وتشغيل اللوحة عبر USB-C:
- يتيح لك ESP32-S3 الاتصال بشبكة الواي فاي الخاصة بك.
- الوقت متزامن من الإنترنت
- الزمن يتدحرج في
HH:MMتنسيق - تتغير ساعات والدقائق إلى ألوان عشوائية في كل دورة
- تتلاشى الشاشة تلقائيًا في الليل
التنزيلات والروابط
الكود المصدر الكامل موجود أدناه في هذه المقالة. تم ربط أدوات ومراجع مفيدة أدناه في هذه المقالة.
هذا الدليل هو جزء من: مصفوفة مصابيح 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 5 - السهم دائما لأعلى
- مشروع مصفوفة LEDs RGB ESP32-S3 6 - لعبة Cible
- مشروع مصفوفة LED RGB ESP32-S3 مع Wi-Fi + ساعة زمن NTP - الساعة الأساسية 1
- مشروع ساعة الإنترنت لشاشة مصفوفة LED RGB ESP32-S3 - عرض الوقت والتاريخ متعدد الألوان 2 ساعة
- مشروع ساعة الإنترنت لمصفوفة LED RGB ESP32-S3 - 3 ألوان ليلية مع التاريخ
- مشروع ساعة إنترنت مصفوفة LED RGB ESP32-S3 - 5 ألوان قوس قزح
- اختبار مصفوفة LED RGB ESP32-S3 لإعداد RGB و GRB
الموارد والمراجع
-
فيديو
-
داخلي🎨 Color picker Toolrobojax.com
ملفات📁
Fritzing File
-
esp32-S3-supermini-tht fritzing part
esp32-S3-supermini-tht.fzpz0.02 MB