دليل ESP32 47/55 - أنوار WS2812 CheerLights باستخدام MQTT عبر الإنترنت | مجموعة ESP32 IoT من SunFounder

دليل ESP32 47/55 - أنوار WS2812 CheerLights باستخدام MQTT عبر الإنترنت | مجموعة ESP32 IoT من SunFounder

في هذا الدليل، سنقوم بإنشاء نظام إضاءة متزامن باستخدام ESP32 و WS2812 LEDs يمكن التحكم فيه عن بُعد عبر MQTT. يتيح هذا النظام لعدة مستخدمين تغيير لون الأضواء في الوقت نفسه، مما يخلق تجربة متصلة بغض النظر عن الموقع. يستفيد المشروع من مجموعة أدوات Internet of Things من SunFounder ESP32، والتي تتضمن متحكمًا دقيقًا قويًا مع قدرات واي فاي، مما يجعله مثاليًا لتطبيقات Internet of Things.

WS2812_strip.تشغيل

خلال الفيديو، سنستعرض الإعدادات الضرورية والأسلاك وتنفيذ الشيفرة لتحقيق هذا التأثير. إذا كنت بحاجة لمزيد من التوضيح، تأكد من مراجعة الفيديو عند الطوابع الزمنية المحددة (في الفيديو عند mm:ss).

شرح الأجهزة

تشمل المكونات الأساسية لهذا المشروع المتحكم الدقيق ESP32، وشريط LED WS2812، ووسيط MQTT. يعتبر ESP32 متحكمًا دقيقًا متعدد الاستخدامات مزودًا بقدرات Wi-Fi وBluetooth مدمجة، مما يتيح له الاتصال بالإنترنت بسهولة. إنه يعمل كالعقل لمشروعنا، حيث يدير التواصل ويتحكم في شريط LED.

تتكون شريط LED WS2812 من LEDs RGB قابلة للتوجيه بشكل فردي، يمكن التحكم بها لعرض مجموعة واسعة من الألوان. يمكن تشغيل أو إيقاف كل LED وتعيينه لأي لون باستخدام خط بيانات واحد، مما يجعله مثالياً للتأثيرات الضوئية الديناميكية. يسهل وسيط MQTT التواصل بين العملاء المختلفين، مما يسمح للمستخدمين بنشر والاشتراك في المواضيع التي تتحكم في ألوان LED.

تفاصيل ورقة البيانات

صانع أدا فروت
رقم الجزء WS2812B
جهد المنطق/الإدخال والإخراج 3.5 - 5.5 ف
جهد الإمداد 5 ف
تيار الخرج (لكل قناة) ٢٠ مللي أمبير
تيار الذروة (لكل قناة) 60 مللي أمبير
توجيه تردد PWM 400 هرتز
عتبات منطق الإدخال 0.2Vcc (منخفض)، 0.7Vcc (مرتفع)
انخفاض الجهد / RDS(on)/ التشبع 0.5 فولت
الحدود الحرارية درجة حرارة التشغيل: -25 إلى 85 °م
حزمة 5050 SMD فردي
ملاحظات / متغيرات متوفر بأطوال وتكوينات متنوعة

  • تأكد من توفير مصدر طاقة كافٍ لشريط WS2812 لتجنب انخفاض الجهد.
  • استخدم أرضية مشتركة بين ESP32 وشريط LED.
  • احتفظ بخطوط البيانات قصيرة لمنع تدهور الإشارة.
  • 考慮在電源上使用電容器(1000μF)來平滑電壓尖峰。
  • استخدم مقاومات مناسبة على خط البيانات لمنع انعكاس الإشارة.
  • كن واعيًا لإجمالي سحب التيار من شريط LED؛ استخدم الطاقة الخارجية عند الضرورة.

تعليمات الأسلاك

لتوصيل ESP32 بشريط LED WS2812، ابدأ بتوصيل مصدر الطاقة. وصل السلك الأحمر من شريط LED بمصدر طاقة 5 فولت والسلك الأسود بالأرض. بعد ذلك، وصل خط البيانات (السلك الأصفر) من شريط WS2812 إلى الدبوس 14 على ESP32. تأكد من أن ESP32 متصل أيضًا بنفس الأرض مثل شريط LED للحفاظ على مرجع مشترك.

بعد إعداد توصيلات الطاقة والبيانات، قم بتوصيل ESP32 بجهاز الكمبيوتر الخاص بك باستخدام كابل USB صغير للبرمجة. ستحتاج إلى التأكد من تشغيل ESP32 أثناء البرمجة لإقامة اتصال. بمجرد توصيله، يمكنك المتابعة لتحميل الكود واختبار الإعداد.

esp32-47-cheer-light-wiring

أمثلة الشيفرة وتجوال

يبدأ الكود بتضمين المكتبات اللازمة لوظائف الواي فاي و MQTT. المعرفاتssidوpasswordتُستخدم لتخزين بيانات اعتماد الواي فاي الخاصة بك، بينماmqtt_serverيمتلك عنوان وسيط MQTT.

const char* ssid = "SSID";
const char* password = "PASSWORD";
const char* mqtt_server = "mqtt.cheerlights.com";

بعد ذلك، نقوم بتعريف ألوان CheerLights المدعومة وقيم RGB المقابلة لها باستخدام المصفوفات. وهذا يسمح للبرنامج بالوصول بسهولة إلى إعدادات الألوان بناءً على مدخلات المستخدم.

String colorName[] = {"red", "pink", "green", "blue", "cyan", "white", "warmwhite", "oldlace", "purple", "magenta", "yellow", "orange"};
int colorRGB[][3] = { 255, 0, 0,  // "red"
                      255, 192, 203,  // "pink" ...};

حبsetup()تقوم الدالة بتهيئة الاتصال التسلسلي، وإعداد اتصال الواي فاي، وتجهيز عميل MQTT. كما تبدأ أيضًا شريط LED.

void setup() {
  Serial.begin(115200);
  setup_wifi();
  client.setServer(mqtt_server, 1883);
  pixels.begin();
  pixels.show(); 
}

الحلقة الرئيسية تتحقق باستمرار من اتصال MQTT وتتعامل مع الرسائل الواردة التي تتحكم في ألوان LED.callback()تُفعل الدالة عند استلام رسالة على الموضوع المُشترك.

عرض / ماذا تتوقع

بمجرد إعداد كل شيء وتحميل الشيفرة، يجب أن تكون قادرًا على تغيير لون LEDs WS2812 عن طريق إرسال رسائل إلى موضوع MQTT. إذا قام مستخدم آخر بتغيير اللون، ستنعكس جميع الأجهزة المتصلة هذا التغيير في نفس الوقت. كن حذرًا من المشاكل المحتملة مثل القطبية المعكوسة أو الاتصالات غير الصحيحة، والتي قد تمنع LEDs من العمل بشكل صحيح (في الفيديو عند mm:ss).

طوائف الفيديو

  • 00:00 بدء
  • :00 مقدمة
  • صفحة الوثائق 3:48
  • 6:33 شرح الأسلاك
  • 7:35 شرح كود أردوينو
  • 15:03 اختيار لوحة ESP32 ومنفذ COMP في بيئة تطوير Arduino
  • :46 عرض CheerLighs

الصور

WS2812_strip.ON
WS2812_strip.ON
esp32-47-cheer-light-wiring
esp32-47-cheer-light-wiring
848-ESP32 Tutorial 47/55- Arduino code for cheer light
اللغة: C++
تم النسخ!

الموارد والمراجع

ملفات📁

لا توجد ملفات متاحة.