فك تشفير أجهزة التحكم عن بعد السوداء أو البيضاء باستخدام أردوينو
في هذا البرنامج التعليمي، سوف نتعلم كيفية فك تشفير المفاتيح من أجهزة التحكم عن بعد بالأشعة تحت الحمراء السوداء والبيضاء باستخدام Arduino ومتلقي الأشعة تحت الحمراء. في نهاية هذا المشروع، ستتمكن من تحديد المفتاح الذي تم الضغط عليه على جهاز التحكم وعرض هذه المعلومات على شاشة السيريال. يمكن أن يكون هذا مفيدًا للتحكم في الأجهزة باستخدام أي جهاز تحكم عن بعد قد تمتلكه، مثل أجهزة التلفاز أو الأجهزة الأخرى (في الفيديو عند 01:00).
سنستخدم إعدادًا بسيطًا يتضمن لوحة أردوينو، ووحدة استقبال الأشعة تحت الحمراء، والرمز اللازم لفك تشفير الإشارات. ستلتقط وحدة استقبال الأشعة تحت الحمراء الإشارات من جهاز التحكم عن بُعد، وسيفسر الأردوينو تلك الإشارات لتحديد الزر الذي تم ضغطه. هذا المشروع سهل ويمكن تكييفه مع أنواع مختلفة من أجهزة التحكم عن بُعد.
شرح الأجهزة
تشمل المكونات الأساسية لهذا المشروع لوحة Arduino ووحدة استقبال الأشعة تحت الحمراء، التي تُعرف عادةً باسم VS1838B. ستعمل لوحة Arduino كمتحكم رئيسي، تنفذ الشيفرة التي تعالج الإشارات المستلمة من جهاز التحكم عن بعد. يقوم جهاز الاستقبال بالأشعة تحت الحمراء بالتقاط الإشارات تحت الحمراء المنبعثة من جهاز التحكم عن بعد وتحويلها إلى صيغة يمكن أن تفهمها لوحة Arduino.
VS1838B يعمل بجهد يتراوح بين 2.7 فولت إلى 5.5 فولت، مما يجعله متوافقًا مع معظم لوحات Arduino. يمكنه اكتشاف الإشارات من مسافة تتراوح بين 10 إلى 15 مترًا، اعتمادًا على الظروف. يخرج جهاز الاستقبال بالأشعة تحت الحمراء إشارة رقمية تشير إلى أي زر على جهاز التحكم عن بُعد قد تم الضغط عليه، مما يسمح لـ Arduino بالاستجابة وفقًا لذلك.
تفاصيل ورقة البيانات
| الشركة المصنعة | VS1838B |
|---|---|
| رقم الجزء | VS1838B |
| جهد المنطق/الإدخال والإخراج | ٢.٧-٥.٥ فولت |
| جهد الإمداد | ٥ ف |
| تيار الخرج (لكل قناة) | 1.5 ميللي أمبير |
| مسافة الاستقبال | 10-15 م |
| تكرار الإدخال | ٣٨ كيلوهرتز |
| تيار السكون | 0.8 ميلي أمبير (تقريبا) |
| زاوية التشغيل | 70 درجة |
| باقة | تو-220 |
- تأكد من توفير الجهد الكهربائي المناسب لتجنب تلف جهاز استقبال الأشعة تحت الحمراء.
- ابتعد بوحدة الاستقبال عن أشعة الشمس المباشرة أو مصادر الأشعة تحت الحمراء القوية.
- استخدم مقاومات السحب لأعلى إذا لزم الأمر لاستقرار قراءات الإشارة.
- يجب أن تكون اتصالات الأسلاك آمنة لمنع الإشارات المتقطعة.
- اختبر أجهزة التحكم المختلفة لمعرفة مدى توافقها مع الإعداد.
-
Deconding-IR-remote-main-1
تعليمات التوصيل
لربط مستقبل الأشعة تحت الحمراء باللوحة Arduino، أولاً قم بتوصيل دبوس VCC لمستقبل الأشعة تحت الحمراء بدبوس 5 فولت على اللوحة Arduino. بعد ذلك، قم بتوصيل دبوس GND للمستقبل بأحد دبابيس GND على اللوحة Arduino. وأخيراً، قم بتوصيل دبوس الإشارة (الذي يُسمى غالبًا SIG أو OUT) لمستقبل الأشعة تحت الحمراء بالدبوس الرقمي 11 على اللوحة Arduino.
تأكد من أن التوصيلات آمنة، حيث أن التوصيلات غير المحكمة يمكن أن تؤدي إلى قراءات غير متسقة. إذا كنت تستخدم نسخة PCB من جهاز الاستقبال بالأشعة تحت الحمراء أو وحدة عارية، فإن الأسلاك تظل كما هي؛ فقط تأكد من أنك تحدد الدبابيس بشكل صحيح وفقًا لتعليمات الوحدة (في الفيديو في 03:15).
قم بتثبيت مكتبة IRremote
قم بتشغيل بيئة تطوير Arduino.اردوينو.كومانقر على أيقونة المكتبة على اليسار وابحث عنIRremoteوانقر على "تثبيت" لتثبيته.
#include <IRremote.h>أمثلة التعليمات البرمجية وجولة توضيحية
int RECV_PIN = 11;
const char type ='W'; // W for white, B for black
const boolean PCB = 0; // 1 for PCB, 0 for bare module
IRrecv irrecv(RECV_PIN);في هذا المقتطف، نحدد رقم الدبوس لاستقبال الأشعة تحت الحمراء معRECV_PINتم ضبطه على 11. نحن أيضًا نحدد نوع التحكم عن بُعد المستخدم مع الـtypeمتغير، حيث يشير 'W' إلى جهاز التحكم عن بُعد الأبيض و'B' إلى جهاز التحكم عن بُعد الأسود. الـPCBتُميز المتغير بين استخدام نسخة PCB من جهاز الاستقبال أو وحدة عارية.
void setup() {
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}في الsetup()نقوم بتهيئة الاتصال التسلسلي بسرعة 9600 بت ونبدأ مستقبل الأشعة تحت الحمراء. هذا أمر حاسم لمراقبة الإخراج على الشاشة التسلسلية، مما يتيح لنا رؤية المفتاح الذي تم الضغط عليه.
void loop() {
if (irrecv.decode(&results)) {
robojaxValidateCode(results.value); // Validate the received code
irrecv.resume(); // Receive the next value
}
delay(100);
}الرئيسيloop()يختبر ما إذا كان جهاز استقبال الأشعة تحت الحمراء قد فك شفرة إشارة. إذا كان قد فعل، فإنه يستدعي الـrobojaxValidateCodeوظيفة لمعالجة القيمة المستلمة ثم تستأنف الاستماع للإشارة التالية. الـdelay(100)يضمن أن الحلقة لا تعمل بسرعة كبيرة، مما يمكن أن يساعد في معالجة الإشارات.
عرض / ماذا تتوقع
بمجرد إعداد كل شيء وتحميل الكود، افتح شاشة السيريال لرؤية النتائج. عندما تضغط على زر في جهاز التحكم عن بعد، يجب أن ترى اسم الزر المقابل معروضًا على الشاشة. إذا كان الزر غير معترف به، سيظهر "زر غير معروف". تأكد من الضغط على الأزرار بقوة، حيث يمكن أن تؤدي الاتصالات الفضفاضة إلى قراءات خاطئة (في الفيديو عند 05:40).
إذا ضغطت على مفتاح باستمرار، قد تظهر الإخراج قيم متكررة أو رموز ست عشرية. هذا السلوك طبيعي، ويمكنك تعديل الكود لاستبعاد هذه الإشارات المستمرة إذا رغبت في ذلك. بالإضافة إلى ذلك، يمكنك ضبط الكود لتنفيذ إجراءات بناءً على ضغطات مفاتيح محددة، مثل تشغيل الأضواء أو التحكم في أجهزة أخرى.
طوابع زمنية للفيديو
- :00 بدء
- 00:56 يتم شرح الأجهزة
- 04:26 شرح الأسلاك
- 05:20 يتم شرح الكود
- 12:27 عرض توضيحي لفك شفرة الشيفرة
الأشياء التي قد تحتاجها
-
أمازون
-
إي باي
الموارد والمراجع
لا توجد موارد حتى الآن.
ملفات📁
لا توجد ملفات متاحة.