- المكونات المطلوبة:
- وحدة RF:
- شرح العمل:
- شرح الدائرة:
- تثبيت مكتبة wiringPi في Raspberry Pi:
- شرح البرمجة:
سنقوم في هذه الجلسة بتطوير جهاز تحكم عن بعد RF باستخدام Raspberry Pi ، والذي يمكن استخدامه للتحكم في الأجهزة لاسلكيًا. يمكننا تشغيل وإيقاف الأجهزة باستخدام جهاز التحكم عن بعد RF. لقد قمنا سابقًا بتطوير العديد من المشاريع باستخدام وحدة RF مثل الروبوت الذي يتم التحكم فيه عن طريق الترددات اللاسلكية ، والروبوت الذي يتم التحكم فيه بإيماءات اليد وما إلى ذلك ، تحقق منها لفهم عمل وحدة RF.
المكونات المطلوبة:
جانب المرسل:
- مرسل الترددات اللاسلكية (ASK Hybrid Transmitter)
- HT12E إيك
- 4 أزرار انضغاطية
- 750 كيلو المقاوم
- بطارية 9 فولت
جانب المستقبل:
- فطيرة التوت
- 16x2 LCD
- 10 كيلو وعاء
- لوح الخبز
- 1 كيلو المقاوم (خمسة)
- 33 كيلو المقاوم
- HT12D إيك
- مستقبل الترددات اللاسلكية (ASK Hybrid Receiver)
- المصابيح (خمسة)
- 10 كيلو المقاوم (أربعة)
- توصيل الأسلاك
- مزود الطاقة
وحدة RF:
هذه وحدة ASK Hybrid Transmitter and Receiver تعمل بتردد 433Mhz. تحتوي هذه الوحدة على مذبذب بلوري مستقر للحفاظ على التحكم الدقيق في التردد للحصول على أفضل مدى. هناك نحتاج فقط إلى هوائي واحد خارجيًا لهذه الوحدة.
هذه الوحدة فعالة من حيث التكلفة للغاية حيث يلزم اتصال RF بعيد المدى. لا ترسل هذه الوحدة البيانات باستخدام اتصال UART للكمبيوتر الشخصي أو المتحكم الدقيق مباشرة لأن هناك الكثير من الضوضاء في هذا التردد وتقنية التناظرية الخاصة به. يمكننا استخدام هذه الوحدة بمساعدة الدوائر المتكاملة للتشفير وفك التشفير التي تستخرج البيانات من الضوضاء.
يبلغ مدى جهاز الإرسال حوالي 100 متر بأقصى جهد إمداد ، ويبلغ مدى جهاز الإرسال عند 5 فولت حوالي 50-60 مترًا باستخدام سلك بسيط بهوائي بطول 17 سم.
ميزات جهاز الإرسال RF:
- مدى التردد: 433 ميجا هرتز
- انتاج الطاقة: 4-16dBm
- إمداد الدخل: 3 إلى 12 فولت تيار مستمر
وصف دبوس RF TX:
- GND - الإمداد الأرضي
- Data In - يقبل هذا الدبوس البيانات التسلسلية من جهاز التشفير
- يجب توصيل Vcc - +5 Volt بهذا الدبوس
- الهوائي - توصيل ملفوف بهذا الدبوس لنقل البيانات بشكل صحيح
ميزات جهاز استقبال الترددات اللاسلكية:
- الحساسية: -105 ديسيبل
- إذا كان التردد: 1 ميجا هرتز
- استهلاك منخفض للطاقة
- 3.5 مللي أمبير الحالي
- امدادات التيار الكهربائي: 5 فولت
وصف دبوس RF Rx:
- GND - الأرض
- Data In - يعطي هذا الدبوس بيانات الإخراج التسلسلية إلى وحدة فك التشفير
- Data In - يعطي هذا الدبوس بيانات الإخراج التسلسلية إلى وحدة فك التشفير
- يجب توصيل Vcc - +5 Volt بهذا الدبوس
- يجب توصيل Vcc - +5 Volt بهذا الدبوس
- GND - الأرض
- GND - الأرض
- الهوائي - توصيل ملفوف بهذا الدبوس من أجل استقبال البيانات بشكل صحيح
شرح العمل:
العمل في هذا المشروع سهل للغاية. في هذا المشروع ، استخدمنا أربعة أزرار في جانب جهاز الإرسال (تعمل كجهاز تحكم عن بعد) للتحكم في أربعة مصابيح LED في نهاية جهاز الاستقبال. عندما نضغط على أي من الأزرار الأربعة ، يقوم Encoder IC بتشفير الإشارة وإرسالها إلى جهاز الإرسال RF ويقوم جهاز الإرسال RF بإرسالها في البيئة. الآن يستقبل مستقبل الترددات اللاسلكية الإشارة المرسلة ويفك تشفيرها باستخدام جهاز فك التشفير IC HT12D ويرسل خرجه المكون من 4 بتات إلى Raspberry Pi. ثم يقوم Raspberry Pi بقراءة هذه البتات وتنفيذ المهام ذات الصلة وتوهج مؤشر LED الخاص بها. يصدر صوت صفير لمدة ثانية عند الضغط على أي مفتاح. تُستخدم شاشة LCD مقاس 16 × 2 أيضًا لعرض حالة "تشغيل أو إيقاف" لجميع مصابيح LED.
في هذا المشروع ، استخدمنا أربعة مصابيح LED لغرض العرض فقط ، ويمكننا تشغيل أي مهمة بالضغط على الزر المعني في "جهاز التحكم عن بعد بالتردد اللاسلكي" كما يمكننا أيضًا توصيل أجهزة منزلية تعمل بالتيار المتردد بدلاً من مصابيح LED ، باستخدام Relay ويمكن التحكم في تلك الأجهزة باستخدام نفس "جهاز التحكم عن بعد RF" لاسلكيًا. لذلك يمكن أن تعمل هذه الدائرة نفسها كمشروع أتمتة منزلية قائم على التردد اللاسلكي باستخدام Raspberry Pi. لقد قمنا سابقًا بتطوير العديد من مشاريع أتمتة المنزل التي يتم التحكم فيها باستخدام Bluetooth و DTMF و GSM وما إلى ذلك ، يمكنك التحقق من جميع مشاريع أتمتة المنزل هنا.
شرح الدائرة:
دائرة التحكم عن بعد Raspberry Pi RF بسيطة وتحتوي على لوحة Raspberry Pi وزر ضغط وشاشة LCD وزوج RF وجهاز تشفير / وحدة فك ترميز IC. يتحكم Raspberry Pi في شاشة LCD ويقرأ الإدخال ويرسل المخرجات وفقًا للإدخال. لقد استخدمنا Raspberry Pi 3 هنا ، ولكن يجب أن يعمل أي نموذج Raspberry. تنقسم الدائرة إلى جزأين ، أحدهما عبارة عن دائرة استقبال RF والآخر هو دائرة إرسال RF. يتم عرض كلتا الدائرتين في الرسم البياني أدناه.
في جزء جهاز الاستقبال ، يتم توصيل دبوس LCD rs و en و d4 و d5 و d6 و d7 في الأسلاك Pi GPIO Pin 11 و 10 و 6 و 5 و 4 و 1 في وضع 4 بت. يستقبل جهاز استقبال الترددات اللاسلكية الإشارة من مرسل الترددات الراديوية ويقوم HT12D IC بفك تشفيرها. يتم توصيل D8 و D9 و D10 و D11 من وحدة فك التشفير HT12D IC مباشرة في الأسلاك PI GPIO pin 25 و 24 و 23 و 22. يتم توصيل مصابيح LED الخاصة بالإخراج في الأسلاك Pi GPIO pin 26 و 27 و 28 و 29. ضغط المفتاح في الأسلاك pi GPIO 0.
تحتوي دائرة الإرسال RF على HT12E Encoder IC و 4 أزرار ضغط للتحكم في 4 مصابيح LED. في Encoder و Decoder IC ، يتم توصيل جميع خطوط العنوان بالأرض.
تثبيت مكتبة wiringPi في Raspberry Pi:
كما هو الحال في Python ، نقوم باستيراد RPi.GPIO كملف رأس IO لاستخدام دبابيس GPIO في Raspberry Pi ، وهنا في لغة C نحتاج إلى استخدام مكتبة wiringPi لاستخدام دبابيس GPIO في برنامج C الخاص بنا. يمكننا تثبيته باستخدام الأوامر أدناه واحدًا تلو الآخر ، يمكنك تشغيل هذا الأمر من Terminal أو من بعض عملاء SSH مثل Putty (إذا كنت تستخدم Windows). انتقل إلى برنامج Getting Started with Raspberry Pi التعليمي لمعرفة المزيد حول التعامل مع Raspberry Pi وتكوينه.
sudo apt-get install git-core sudo apt-get update sudo apt-get Upgrade git clone git: //git.drogon.net/wiringPi cd wiringPi git pull origin cd wiringPi./build
اختبر تثبيت مكتبة wiringPi ، استخدم الأوامر التالية:
gpio -v gpio readall
شرح البرمجة:
بادئ ذي بدء ، نقوم بتضمين ملفات الرأس وتحديد دبابيس لشاشات الكريستال السائل ، ثم تهيئة بعض المتغيرات والدبابيس لأخذ مؤشرات الإدخال ومؤشرات LED.
#تضمن
بعد ذلك نعطي التوجيه لجميع دبابيس GPIO المستخدمة في وظائف الإعداد الباطلة () .
إعداد باطل () {if (wiringPiSetup () == -1) {clear () ؛ طباعة ("غير قادر على البدء") ؛ setCursor (0،1) ؛ طباعة ("wiringPi") ؛ } pinMode (led1 ، الإخراج) ؛ pinMode (led2 ، الإخراج) ؛ pinMode (led3 ، الإخراج) ؛ pinMode (led4 ، الإخراج) ؛………………
في الكود ، استخدمنا وظيفة digitalRead لقراءة إخراج Decoder و digitalWrite لإرسال الإخراج إلى LED أو الجهاز.
…………….. بينما (1) {setCursor (0،0) ؛ طباعة ("D1 D2 D3 D4") ؛ إذا (digitalRead (d1) == 0) {flag1 ++ ؛ setCursor (0،1) ؛ إذا (flag1٪ 2 == 1) {print ("ON") ؛ الكتابة الرقمية (led1 ، عالية) ؛ }……………..
فيما يلي بعض الوظائف التي تم استخدامها في هذا المشروع.
يتم استخدام وظيفة LCDcmd الباطلة لإرسال الأمر إلى شاشة LCD ويتم استخدام وظيفة الكتابة الباطلة لإرسال البيانات إلى شاشة LCD.
وظيفة الفراغ واضحة () يستخدم لمسح LCD، setCursor باطل ويستخدم لتحديد موقف المؤشر و الطباعة باطلة لإرسال السلسلة لLCD.
يتم استخدام وظيفة البداية الفارغة لتهيئة شاشة LCD في وضع 4 بت وجرس باطل () لإصدار صوت صفير.
تحقق من الكود الكامل لجهاز التحكم عن بعد Raspberry RF هذا أدناه.