درس ESP32 29/55 - قراءة ضغط مفتاح التحكم عن بعد بالأشعة تحت الحمراء باستخدام ESP32 | مجموعة تعلم إنترنت الأشياء ESP32 من SunFounder

درس ESP32 29/55 - قراءة ضغط مفتاح التحكم عن بعد بالأشعة تحت الحمراء باستخدام ESP32 | مجموعة تعلم إنترنت الأشياء ESP32 من SunFounder

في هذا البرنامج التعليمي، سنتعلم كيفية اكتشاف إشارات الأشعة تحت الحمراء (IR) باستخدام وحدة ESP32 ومستقبل IR متوافق. عندما نضغط على زر في وحدة التحكم عن بُعد، سيقوم ESP32 بالتعرف على الإشارة وتنفيذ إجراءات محددة، مثل إصدار صوت جرس عند الضغط على مفاتيح معينة. هذا المشروع مثالي لأولئك الذين يتطلعون إلى دمج قدرات التحكم عن بُعد في تطبيقاتهم على ESP32 (في الفيديو عند :15).

بعيد

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

شرح الأجهزة

تشمل المكونات الرئيسية لهذا المشروع متحكم ESP32 الدقيق، ووحدة استقبال الأشعة تحت الحمراء، وجهاز تنبيه. يعمل ESP32 كعقل العملية، حيث يُعالج الإشارات التي يتلقاها من وحدة الاستقبال. تكشف وحدة الاستقبال الأشعة تحت الحمراء القادمة من جهاز التحكم عن بُعد وتحوِّلها إلى إشارات كهربائية يمكن لمتحكم ESP32 فهمها.

ir_receiver_sl838

عادةً ما يحتوي مستقبل الأشعة تحت الحمراء على ثلاثة دبابيس: VCC (الطاقة)، GND (الأرض)، و OUT (الإشارة). يتم توصيل دبوس VCC بمصدر طاقة (3.3 فولت أو 5 فولت)، بينما يتصل GND بالأرض. يرسل دبوس OUT الإشارة المفككة إلى ESP32، والتي يمكن استخدامها بعد ذلك لتنشيط إجراءات مختلفة، مثل تفعيل جرس إنذار عند الضغط على مفتاح محدد.

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

الصانع حادّ
رقم الجزء GP1UXC41
جهد المنطق / الإدخال والإخراج ٣.٣ - ٥.٠ ف
جهد الإمداد ٣.٣ فولت (متوسط)
تيار الإخراج (لكل قناة) 20 مللي أمبير (حد أقصى)
تيار الذروة (لكل قناة) 50 مللي أمبير (أقصى)
إرشادات تردد PWM ٣٨ كيلو هرتز
عتبات المنطق المدخلة 0.3 فولت م (عالي)، 0.2 فولت م (منخفض)
انخفاض الجهد / RDS(on)/ تشبع 0.5 فولت (كحد أقصى)
الحدود الحرارية 85 درجة مئوية (الحد الأقصى)
حزمة TO-92
ملاحظات / variantes متوفر بتكوينات متعددة

  • تأكد من تزويد الطاقة بشكل صحيح لتجنب التلف.
  • استخدم أسلاكًا قصيرة لتقليل تداخل الإشارة.
  • تحقق من اتجاه مستقبل الأشعة تحت الحمراء قبل التوصيل.
  • تأكد من أن بطارية جهاز التحكم عن بُعد تعمل.
  • استخدم مقاومات سحب لأعلى إذا لزم الأمر لتحقيق الاستقرار.

تعليمات التوصيل

ESP32-29-IR-remote-wiring

لتوصيل جهاز استقبال الأشعة تحت الحمراء (IR) بـ ESP32، ابدأ بتحديد الثلاثة دبابيس على جهاز الاستقبال: VCC و GND و OUT. قم بتوصيل دبوس VCC بمصدر طاقة 3.3 فولت على ESP32. بعد ذلك، قم بتوصيل دبوس GND بأحد دبابيس الأرض (GND) على ESP32. أخيراً، قم بتوصيل دبوس OUT بدبوس GPIO رقم 14 على ESP32، الذي تم تخصيصه لجهاز الاستقبال في الكود.

مخطط التحكم عن بعد ESP32-29-IR

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

أمثلة تعليمية وجولة توضيحية

مكتبة استقبال الأشعة تحت الحمراء

قم بتثبيت الIRremoteESP8266مكتبة دايفيد كونران، سيباستيان.

في الكود، نقوم بتعريف دبوس مستقبل الأشعة تحت الحمراء باستخدام الثابتIR_RECEIVE_PIN, الذي من المقرر أن يكون 14. نحن أيضًا نقوم بإنشاء مثيل منIRrecvللتعامل مع إشارات الأشعة تحت الحمراء.

const uint16_t IR_RECEIVE_PIN = 14;
IRrecv irrecv(IR_RECEIVE_PIN);
decode_results results;

تتيح لنا هذه الإعدادات تلقي إشارات من جهاز التحكم عن بُعد IR. في الـsetup()نقوم بتهيئة الاتصال التسلسلي وتمكين جهاز استقبال الأشعة تحت الحمراء.

void setup() {
  Serial.begin(115200);
  irrecv.enableIRIn();
}

داخل الـloop()نقوم بالتحقق مما إذا تم استقبال إشارة الأشعة تحت الحمراء. إذا كان الأمر كذلك، نقوم بفك تشفير قيمة المفتاح وطباعتها على شاشة السيريال.

if (irrecv.decode(&results)) {
    String key = decodeKeyValue(results.value);
    Serial.println(key);
    irrecv.resume(); 
}

هذه القطعة من الكود توضح كيف نقوم بفك تشفير الإشارة المستقبلة وطباعة قيمة المفتاح المقابلة على شاشة السيريال.decodeKeyValue()تقوم الدالة بربط الإشارة المستقبلة بقيم أزرار محددة، مثل "0"، "1"، "EQ" وغيرها. يمكنك العثور على الكود الكامل محملاً أسفل المقال.

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

بمجرد الانتهاء من الأسلاك وتحميل الشيفرة، يجب أن يؤدي الضغط على زر في جهاز التحكم عن بعد إلى عرض قيمة المفتاح المقابلة على شاشة التسلسل. على سبيل المثال، سيؤدي الضغط على زر "2" إلى طباعة "2" على الشاشة. إذا لم يتم التعرف على المفتاح، سيظهر "خطأ". سيصدر صفارة عندما يتم الضغط على المفتاح المحدد (مثل "EQ")، مما يوفر استجابة فورية.

كن حذرًا من الأخطاء الشائعة، مثل وجود عكس في القطبية في اتصالاتك أو استخدام مستويات جهد غير صحيحة. تأكد من أن جهاز التحكم عن بُعد يعمل بشكل صحيح ولديه بطارية تعمل قبل اختبار إعدادك (في الفيديو عند 15:30).

طوابع الفيديو الزمنية

  • 00:00 ابدأ
  • :05 مقدمة عن مستقبل الأشعة تحت الحمراء
  • شرح الأسلاك :24
  • شيفرة Arduino 6:08 لمستقبل الأشعة تحت الحمراء موضحة
  • 10:06 اختيار لوحة ESP32 ومنفذ COM في Arduino IDE
  • عرض المشروع 11:48
  • 13:09 جرس نشط متصل مباشرة بـ ESP32
  • 14:40 اتخاذ إجراء عند الضغط على مفتاح
  • 15:30 الكود البرمجي لـ Arduino لاتخاذ إجراء
  • عرض الضغط على المفتاح والتنبيه في 16:54

الصور

IR_receiver_lib
IR_receiver_lib
ir_receiver_sl838
ir_receiver_sl838
remote
remote
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-wiring
ESP32-29-IR-remote-wiring
830-ESP32 Tutorial 29/55- Arduino code for fading Infrared remote
اللغة: C++
تم النسخ!

ملفات📁

ورقة البيانات (pdf)