- المكونات مطلوبة
- كيف تعمل اتصالات IR؟
- مخطط الرسم البياني
- البرمجة لجهاز Arduino IR Remote Decoder
- حفظ بيانات وحدة فك الترميز عن بعد IR في ورقة Excel
تعد اتصالات الأشعة تحت الحمراء (IR) تقنية اتصالات لاسلكية بسيطة ومنخفضة التكلفة وشائعة الاستخدام. ضوء الأشعة تحت الحمراء مشابه إلى حد ما للضوء المرئي ، فيما عدا أن الطول الموجي أطول قليلاً. تجعل خاصية IR هذه غير قابلة للكشف للعين البشرية ومثالية للاتصال اللاسلكي.
هناك الكثير من التطبيقات التي تحتاج فيها إلى فك تشفير إشارات الأشعة تحت الحمراء لتشغيل بعض الأجهزة باستخدام جهاز التحكم عن بعد بالأشعة تحت الحمراء. لذلك في هذا البرنامج التعليمي ، سنستخدم مستقبل TSOP1838 IR لبناء وحدة فك ترميز IR عن بعد باستخدام Arduino. سيتم تسجيل الرمز السداسي العشري لكل زر في Microsoft Excel Sheet. يمكن استخدام وحدة فك ترميز التحكم عن بعد بالأشعة تحت الحمراء البسيطة في مشاريع مثل روبوت التحكم عن بعد بالأشعة تحت الحمراء وأتمتة المنزل ومشاريع أخرى يتم التحكم فيها بالأشعة تحت الحمراء.
استخدمنا سابقًا جهاز تحكم عن بعد IR وجهاز استقبال TSOP لبناء العديد من التطبيقات المفيدة مثل:
- دائرة باهتة TRIAC للتحكم عن بعد بالأشعة تحت الحمراء
- التحكم الآلي بالمنزل عن بعد بالأشعة تحت الحمراء باستخدام Arduino
- التحكم الآلي بالمنزل عن بعد بالأشعة تحت الحمراء باستخدام متحكم PIC
- التحكم في الهاتف الخلوي AC باستخدام Arduino و Bluetooth
المكونات مطلوبة
- اردوينو أونو / اردوينو نانو
- مستقبل الأشعة تحت الحمراء (TSOP1838)
- أسلاك توصيل
- اللوح
كيف تعمل اتصالات IR؟
مثل أنظمة الاتصالات الأخرى ، يحتوي اتصال الأشعة تحت الحمراء أيضًا على جهاز إرسال واستقبال. يبدو جهاز الإرسال تمامًا مثل LED ، ولكنه ينتج ضوءًا في طيف الأشعة تحت الحمراء بدلاً من الطيف المرئي. بينما مستقبل الأشعة تحت الحمراء عبارة عن ثنائي ضوئي مضمن مع مضخم مسبق يغير ضوء الأشعة تحت الحمراء إلى إشارة كهربائية. بالنسبة لاتصالات الأشعة تحت الحمراء ، يجب توجيه كل من المرسل والمستقبل إلى بعضهما البعض. لمعرفة المزيد حول دائرة الإرسال والاستقبال بالأشعة تحت الحمراء ، اتبع الرابط.
عند الضغط على زر التحكم عن بعد ، يصدر مصباح الأشعة تحت الحمراء (جهاز الإرسال) ضوء الأشعة تحت الحمراء. يتم استقبال هذا الضوء بواسطة جهاز الاستقبال الذي يكون عادةً ثنائيًا ضوئيًا أو ترانزستور ضوئي. لكن ضوء الأشعة تحت الحمراء ينبعث أيضًا من الشمس والمصابيح وأي شيء آخر ينتج حرارة. يمكن أن يتداخل هذا مع إشارة جهاز الإرسال ، لذلك لمنع ، يتم تشكيل إشارة جهاز الإرسال باستخدام تردد الموجة الحاملة بين 36 كيلو هرتز إلى 46 كيلو هرتز. عند استقبال الإشارة ، يقوم مستقبل الأشعة تحت الحمراء بإزالة تشكيل الإشارة وتحويلها إلى ثنائي قبل إرسالها إلى وحدة التحكم الدقيقة.
نحن هنا نستخدم جهاز التحكم عن بعد في التلفزيون لإرسال إشارة الأشعة تحت الحمراء و TSOP1838 مع Arduino لاستقبالها.
تحقق أيضًا من العديد من التطبيقات القائمة على الأشعة تحت الحمراء هنا بما في ذلك دائرة تشويش التحكم عن بعد في التلفزيون ودائرة اختبار الأشعة تحت الحمراء.
مخطط الرسم البياني
فيما يلي مخطط الدائرة لوحدة فك ترميز IR عن بعد باستخدام Arduino:
الاتصالات بسيطة للغاية لأن مستشعر مستقبل الأشعة تحت الحمراء يحتوي فقط على ثلاثة دبابيس ، Vs ، GND ، والبيانات. قم بتوصيل Vs و GND pin الخاص بجهاز استقبال الأشعة تحت الحمراء إلى 3.3V GND pin of Arduino و Data pin إلى Digital pin 2 من Arduino.
البرمجة لجهاز Arduino IR Remote Decoder
يتم تقديم الكود الكامل لوحدة فك ترميز Arduino IR في نهاية الصفحة.
لفك تشفير IR Remote ، أولاً ، نحتاج إلى تنزيل مكتبة IR وإضافتها إلى Arduino IDE. يمكنك تنزيل مكتبة IR Remote من هنا. بعد تنزيل الملف ، افتح Arduino IDE وانتقل إلى Sketch> Include library> Add.Zip library . حدد ملف المكتبة وانقر فوق "فتح".
ابدأ الكود الخاص بك عن طريق تضمين ملف مكتبة IR Remote.
#تضمن
بعد ذلك ، حدد دبوس Arduino حيث قمت بتوصيل دبوس البيانات الخاص بجهاز استقبال الأشعة تحت الحمراء. في حالتي ، يتم توصيله بدبوس D2 في Arduino.
int IRPIN = 2 ؛
بعد ذلك ، قم بإنشاء مثيل لـ IR Receiver pin.
IRrecv irrecv (IRPIN) ؛
في السطر التالي ، حدد كائنًا لفئة decode_results ، وسيتم استخدامه بواسطة مستقبل الأشعة تحت الحمراء لإرسال المعلومات التي تم فك تشفيرها.
نتيجة decode_results ؛
داخل الإعداد () وظيفة، والشروع في الاتصالات التسلسلية، وبدء استقبال الأشعة تحت الحمراء عن طريق استدعاء IRrecv وظيفة enableIRIn ().
إعداد باطل () {Serial.begin (9600) ؛ Serial.println ("تمكين إيرين") ؛ irrecv.enableIRIn () ، Serial.println ("تمكين إيرين") ؛ Initialize_streamer () ، }
في وظيفة loop () ، يفحص irrecv.decode باستمرار بحثًا عن إشارة جديدة وإذا تم استقبال إشارة جديدة ، فسيتم تخزين كود الإشارة المستقبلة في دالة result.value .
حلقة باطلة () {if (irrecv.decode (& result)) {Serial.print ("Value:")؛ Serial.println (result.value، HEX) ؛ Write_streamer () ، irrecv.resume () ؛ } تأخير (500)؛ }
لإرسال البيانات إلى ورقة Excel من Arduino ، نستخدم PLX-DAQ. باستخدام دالة Write_streamer () ، نرسل البيانات بشكل تسلسلي بنمط معين مثل عرض القيمة على الشاشة التسلسلية. الخطوط الرئيسية موضحة أدناه:
باطل Write_streamer () {Serial.print ("DATA") ؛ // اكتب دائمًا "DATA" للإشارة إلى ما يلي كـ Data Serial.print ("،") ؛ // الانتقال إلى العمود التالي باستخدام "،" Serial.print (result.value ، HEX) ؛ // تخزين التاريخ في Excel Serial.print ("،") ؛ // الانتقال إلى العمود التالي باستخدام "،" Serial.println () ؛ // نهاية الصف الانتقال إلى الصف التالي}
بمجرد أن تصبح الأجهزة والبرنامج جاهزين ، فقد حان الوقت لتحميل البرنامج على لوحة Arduino Nano. بعد تحميل الكود ، وجّه جهاز التحكم عن بُعد نحو مستقبل الأشعة تحت الحمراء واضغط على الأزرار البعيدة. ستتم طباعة الرمز السداسي لكل زر على الشاشة التسلسلية.
حفظ بيانات وحدة فك الترميز عن بعد IR في ورقة Excel
الآن لإرسال البيانات إلى ورقة Excel ، سنستخدم PLX-DAQ. إنه برنامج Excel Plug-in يساعدك على كتابة القيم من Arduino إلى ورقة Excel مباشرة على الكمبيوتر المحمول أو الكمبيوتر الشخصي. استخدم الرابط لتنزيل الملف. بعد التنزيل ، استخرج الملف وانقر على ملف exe. لتثبيته. سيقوم بإنشاء مجلد باسم PLX-DAQ على سطح المكتب الخاص بك.
افتح الآن ملف "جدول بيانات PLX-DAQ" من مجلد سطح المكتب. إذا تم تعطيل وحدات الماكرو في برنامج Excel ، فسترى كتلة أمان كما هو موضح في الصورة أدناه:
انقر فوق خيارات-> تمكين المحتوى -> إنهاء -> موافق لتمكين وحدات الماكرو. بعد ذلك ستظهر لك الشاشة التالية:
حدد الآن معدل الباود كـ "9600" والمنفذ الذي يتصل به Arduino الخاص بك ، ثم انقر فوق "اتصال" لبدء تدفق البيانات. يجب أن تبدأ قيمك في التسجيل كما هو موضح في الصورة أدناه.
هذه هي الطريقة التي يمكن بها بناء وحدة فك ترميز Arduino IR عن بُعد بسهولة لتحويل إشارات IR عن بُعد إلى كود HEX مكافئ.
أكمل كود Arduino مع فيديو توضيحي أدناه.