في البرنامج التعليمي الماضي، شرحنا السيطرة على الروبوت باستخدام خدمة الواي فاي واردوينو، وفي هذه المقالة نحن مع شركائنا المقبل IOT القائم على المشاريع RGB LED المتعري باستخدام خدمة الواي فاي. هنا استخدمنا Arduino و ESP8266 Wi-Fi Module للتحكم في ألوان RGB LED ، من خلال هاتف Android ، عبر شبكة Wi-Fi.
في RGB Flasher LED هذا ، استخدمنا تطبيق Android Mobile باسم " Blynk ". Blynk هو تطبيق متوافق للغاية مع Arduino ، لإنشاء مشروع قائم على إنترنت الأشياء. يمكن تنزيل هذا التطبيق من متجر Google Play ، ويمكن تهيئته بسهولة.
خطوة لتكوين تطبيق Blynk:
1. قم أولاً بتنزيله من متجر Google Play وتثبيته على هاتف Android المحمول.
2. بعد ذلك ، يجب إنشاء حساب. يمكنك استخدام حساب Gmail الحالي الخاص بك.
3. الآن حدد Arduino Board وقم بإعطاء اسم لمشروعك.
4. قم بتدوين رمز Auth Token أو ببساطة أرسله بالبريد إلى حساب بريدك الإلكتروني ثم انسخه والصقه في رسم Arduino (رمز البرنامج).
5. أدخل رمز رمز المصادقة هذا في رسم Arduino.
// يجب أن تحصل على Auth Token في تطبيق Blynk. // انتقل إلى إعدادات المشروع (رمز الجوز). char المصادقة = "a20b235cfa794f07981d050950fb4429" ؛
6. ثم انقر فوق الزر إنشاء في تطبيق Blynk.
7. الآن حدد شريط التمرير الكبير وزرين ، قم بتكوينهما (انظر الفيديو في النهاية) واضغط على زر الرجوع.
8. بعد ذلك اضغط على زر التشغيل في أعلى يمين الشاشة.
تم شرح كل هذه العملية ، من استخدام تطبيق Blynk ، بوضوح في الفيديو ، المقدم في النهاية.
المكونات المطلوبة:
- اردوينو UNO
- وحدة واي فاي ESP8266
- كابل USB
- توصيل الأسلاك
- RGB LED
- هاتف أندرويد
- تطبيق Blynk
شرح الدائرة والعمل:
الرسم التخطيطي لدائرة RGB LED Flasher موضح أدناه. نحتاج بشكل أساسي إلى وحدة Arduino و ESP8266 Wi-Fi و RGB LED. ترتبط دبابيس Vcc و GND الخاصة بـ ESP8266 مباشرةً بـ 3.3 فولت و GND من Arduino و CH_PD متصل أيضًا بـ 3.3 فولت. دبابيس Tx و Rx من ESP8266 متصلة مباشرة بالدبوس 2 و 3 من Arduino. تُستخدم مكتبة البرامج التسلسلية للسماح بالاتصال التسلسلي على الدبوس 2 و 3 من Arduino. لقد قمنا بالفعل بتغطية واجهة وحدة ESP8266 Wi-Fi إلى Arduino بالتفصيل.
هنا استخدمنا الأنود المشترك RGB LED. يتم توصيل دبابيس RGB LED وهي R و G و B والأنود في 11 و 10 و 9 و +5 فولت Vcc. يحتوي دبوس الأنود المشترك على مقاوم 1K مع +5 فولت لحماية LED للتلف.
يعد عمل RGB LED أمرًا بسيطًا ، فقد أنشأنا ثلاثة Sliders ، باستخدام تطبيق Blynk ، للتحكم في شدة الألوان الثلاثة لمصابيح RGB LED وهي الأحمر والأخضر والأزرق. وزر واحد لوميض RGB LED بنمط مختلف حسب كود البرنامج.
شرح البرمجة:
نحتاج أولاً إلى تنزيل مكتبة Blynk لـ Arduino وتثبيتها.
لقد قمنا بتضمين جميع المكتبات اللازمة لتشغيل هذا الرمز في Arduino IDE ، ثم أدخلنا Auth Token ، من تطبيق Blynk ، في سلسلة المصادقة . نحن هنا نقوم بتوصيل دبوس Wi-Fi التسلسلي مع Software Serial of Arduino. تم تحديد السن 2 كـ RX و 3 كـ TX.
#define BLYNK_PRINT Serial // التعليق على هذا لتعطيل الطباعة وتوفير مساحة #include
بعد ذلك حددنا دبابيس الإخراج لـ RGB LED
# تعريف الأحمر 11 # تعريف الأخضر 10 # تعريف الأزرق 9
بعد ذلك ، في وظيفة الإعداد ، نقوم بتهيئة جميع الأجهزة المطلوبة ، وبدء الاتصال التسلسلي ، وتوفير اسم مستخدم وكلمة مرور Wi-Fi.
إعداد باطل () {// تعيين معدل الباود لوحدة التحكم Serial.begin (9600) ؛ تأخير (10) ؛ // تعيين معدل البث بالباود ESP8266 // 9600 موصى به لبرنامج Software Serial EspSerial.begin (9600) ؛ تأخير (10) ؛ Blynk.begin (المصادقة ، wifi ، "اسم المستخدم" ، "كلمة المرور") ؛ // اسم مستخدم وكلمة مرور wifi}
ثم قمنا بفحص شرط الزر (Virtual Pin 1). هنا اخترنا الدبوس الظاهري 1 (V1) لأخذ المدخلات من تطبيق Blynk لفلاش RGB LED.
هنا يجب أن نلاحظ أننا قمنا بإرفاق رمزين في قسم الكود أدناه ، الأول مخصص فقط للتحكم في شدة الألوان الثلاثة في RGB LED دون وميضه والثاني لوميض LED وكذلك التحكم في الألوان الثلاثة لـ RGB LED. نحتاج فقط إلى تحديد دبابيس RGB LED في البرنامج الثاني ، أي برنامج Flashing LED ، لأن وميض LED يتم التحكم فيه بواسطة Arduino. من ناحية أخرى في البرنامج الأول ، يتم التحكم في ألوان LED بواسطة تطبيق Blynk في هاتف Android ، لذلك لا نحتاج إلى تحديد دبابيس RGB LED.
يمكننا القول أنه إذا أردنا فقط تغيير اللون بواسطة Sliders ولا نريد استخدام Button for flasher ، فلن نحتاج إلى تحديد دبابيس RGB.
الوظيفة المحددة هي وميض RGB LED عند الضغط على الزر من تطبيق Blynk.
BLYNK_WRITE (V1) {int x = param.asInt () ؛ بينما (x == 1) {x = param.asInt () ؛ int i = 0 ، j = 0 ، k = 0 ؛ analogWrite (أحمر ، 255) ؛ analogWrite (أخضر ، 255) ؛………………..
أخيرًا ، نحتاج إلى تشغيل وظيفة blynk في حلقة ، لتشغيل النظام.
حلقة باطلة () {Blynk.run () ، }
ملاحظة: تم إعطاء رمزين أدناه. الأول هو فقط تغيير ألوان RGB LED بدون وميض والثاني لتغيير الألوان باستخدام Flasher. تحقق من الفيديو لمزيد من الوضوح.