- المواد المطلوبة:
- وحدة استشعار الأشعة تحت الحمراء:
- مخطط الدائرة وشرحها:
- برمجة Raspberry Pi الخاص بك:
- العمل:
كما نعلم جميعًا ، فإن Raspberry Pi عبارة عن منصة تطوير رائعة تعتمد على معالج ARM. بفضل قوتها الحسابية العالية ، يمكنها أن تصنع العجائب في أيدي هواة الإلكترونيات أو الطلاب. كل هذا لا يمكن أن يكون ممكنًا إلا إذا عرفنا كيف نجعله يتفاعل مع العالم الحقيقي. هناك العديد من المستشعرات التي يمكنها اكتشاف معلمات معينة من عالم الوقت الفعلي ونقلها إلى عالم رقمي. لقد قمنا بتغطية الكثير من مشاريع Raspberry Pi مع العديد من أجهزة الاستشعار. يعد Raspberry Pi أيضًا نعمة لمشاريع إنترنت الأشياء ، حيث إنه كمبيوتر بحجم الجيب مزود بشبكة Wi-Fi مدمجة ، وله إمكانات متحكم دقيق.
في هذا البرنامج التعليمي سوف نتعلم كيف يمكننا توصيل مستشعر الأشعة تحت الحمراء مع Raspberry pi. يتم استخدام هذه المستشعرات بشكل شائع في الروبوتات الصغيرة مثل روبوت تتبع الخطوط ، روبوت تجنب الحافة وما إلى ذلك. ببساطة ، يمكنه اكتشاف وجود الأشياء قبله وأيضًا التمييز بين اللون الأبيض والأسود. يبدو رائعًا ، أليس كذلك؟
لذلك دعونا نتعلم كيفية ربط هذا المستشعر مع Raspberry Pi. في هذا المشروع ، عندما لا يكون هناك كائن أمام مستشعر الأشعة تحت الحمراء ، يظل مؤشر LED الأحمر قيد التشغيل وبمجرد أن نضع شيئًا أمام مستشعر الأشعة تحت الحمراء ، ينطفئ مؤشر LED الأحمر ويضيء مؤشر LED الأخضر. يمكن أن تعمل هذه الدائرة أيضًا كدائرة إنذار أمان.
المواد المطلوبة:
- Raspberry Pi 3 (أي طراز)
- وحدة استشعار الأشعة تحت الحمراء
- مصابيح LED خضراء وحمراء
- اللوح
- توصيل الأسلاك
وحدة استشعار الأشعة تحت الحمراء:
مستشعرات الأشعة تحت الحمراء (مستشعر الأشعة تحت الحمراء) هي وحدات تكتشف وجود الأشياء أمامها. إذا كان الكائن موجودًا ، فإنه يعطي 3.3 فولت كإخراج ، وإذا لم يكن موجودًا ، فإنه يعطي 0 فولت. أصبح هذا ممكنًا باستخدام زوج من الأشعة تحت الحمراء (جهاز إرسال ومستقبل) ، سيصدر جهاز الإرسال (IR LED) شعاع IR الذي سينعكس إذا كان هناك كائن موجود قبله. سيتم استقبال شعاع الأشعة تحت الحمراء هذا مرة أخرى بواسطة جهاز الاستقبال (Photodiode) وسيصبح الناتج مرتفعًا بعد تضخيمه باستخدام رابط op-amp LM358. يمكنك معرفة المزيد عن دائرة وحدة استشعار الأشعة تحت الحمراء هنا.
يظهر مستشعر الأشعة تحت الحمراء المستخدم في هذا المشروع أعلاه. مثل كل مستشعرات الأشعة تحت الحمراء ، فإنه يحتوي على ثلاثة دبابيس وهي 5 فولت و Gnd و Out على التوالي. يتم تشغيل الوحدة بواسطة دبوس 5 فولت من Raspberry Pi ويتم توصيل دبوس الإخراج بـ GPIO14 الخاص بـ Raspberry Pi. يمكن استخدام مقياس الجهد الموجود أعلى الوحدة لضبط نطاق مستشعر الأشعة تحت الحمراء.
مخطط الدائرة وشرحها:
يظهر أدناه مخطط الدائرة لتوصيل Raspberry Pi بمستشعر الأشعة تحت الحمراء. كما ترى فإن مخطط الدائرة بسيط للغاية. لقد قمنا بتشغيل وحدة IR مباشرة من 5V و Ground Pin لـ Raspberry Pi. يتم توصيل دبوس الإخراج الخاص بوحدة IR بـ GPIO14. استخدمنا أيضًا اثنين من مؤشرات LED (الأخضر والأحمر) للإشارة إلى حالة الكائن. هذان المؤشران متصلان بـ GPIO3 و GPIO2 على التوالي.
نظرًا لأن دبابيس GPIO في Raspberry Pi تبلغ 3.3 فولت ، فإن المقاوم المحدد الحالي ليس إلزاميًا. ومع ذلك ، إذا رغبت في ذلك ، يمكن إضافة المقاوم بقيمة 470 أوم بين الدبوس الأرضي لمصابيح LED و Raspberry Pi. يتم تشغيل الدائرة بالكامل بواسطة شاحن محمول 5 فولت من خلال منفذ micro USB الخاص بـ Raspberry pi.
ملاحظة: عند توصيل أي مستشعر ، تأكد من توصيل أرض المستشعر بأرضي MCU أو MPU (هنا Raspberry Pi). عندها فقط سيكونون قادرين على التواصل.
برمجة Raspberry Pi الخاص بك:
نحن هنا نستخدم لغة برمجة بايثون لبرمجة RPi. هناك عدة طرق لبرمجة Raspberry Pi الخاص بك. في هذا البرنامج التعليمي ، نستخدم Python 3 IDE ، لأنه الأكثر استخدامًا. يتم تقديم برنامج Python الكامل في نهاية هذا البرنامج التعليمي. تعرف على المزيد حول البرنامج وتشغيل الكود في Raspberry Pi هنا.
سنتحدث عن بعض الأوامر التي سنستخدمها في برنامج PYHTON ،
سنقوم باستيراد ملف GPIO من المكتبة ، وتمكننا الوظيفة أدناه من برمجة دبابيس GPIO في PI. نقوم أيضًا بإعادة تسمية "GPIO" إلى "IO" ، لذلك في البرنامج عندما نريد الإشارة إلى دبابيس GPIO ، سنستخدم كلمة "IO".
استيراد RPi.GPIO كـ IO
في بعض الأحيان ، عندما تقوم دبابيس GPIO ، التي نحاول استخدامها ، ببعض الوظائف الأخرى. في هذه الحالة ، سوف نتلقى تحذيرات أثناء تنفيذ البرنامج. يخبر الأمر أدناه PI بتجاهل التحذيرات ومتابعة البرنامج.
تحذيرات IO.set (خطأ)
يمكننا إحالة دبابيس GPIO الخاصة بـ PI ، إما عن طريق رقم التعريف الشخصي على اللوحة أو عن طريق رقم وظيفتها. مثل "PIN 29" على السبورة هو "GPIO5". لذلك نقول هنا إما أننا سنمثل الدبوس هنا بـ "29" أو "5".
IO.setmode (IO.BCM)
نحن نضع 3 دبابيس كدبابيس إدخال / إخراج. سيتحكم دبابيس الإخراج في مؤشر LED وسيقوم دبوس الإدخال بقراءة الإشارة من مستشعر الأشعة تحت الحمراء.
IO.setup (2، IO.OUT) #GPIO 2 -> مؤشر LED أحمر كإخراج IO.setup (3، IO.OUT) #GPIO 3 -> LED أخضر كإخراج IO.setup (14، IO.IN) #GPIO 14-> مستشعر IR كمدخل
الآن علينا إيقاف تشغيل مؤشر LED الأخضر وتشغيل المصباح الأحمر عندما يكون الكائن بعيدًا. يمكن القيام بذلك عن طريق فحص دبوس GPIO14.
إذا (IO.input (14) == صحيح): # الكائن بعيدًا IO.output (2، True) #Red led ON IO.output (3، False) # Green led OFF
وبالمثل ، يتعين علينا تشغيل مؤشر LED الأخضر وإيقاف تشغيل مؤشر LED الأحمر عندما يكون الكائن قريبًا.
إذا (IO.input (14) == خطأ): # الكائن بالقرب من الإدخال / الإخراج (3 ، صحيح) #Green led ON IO.output (2 ، False) # Red led OFF
يتم استخدام الأمر أدناه كحلقة إلى الأبد ، باستخدام هذا الأمر ، سيتم تنفيذ التعليمات الموجودة داخل هذه الحلقة بشكل مستمر.
بينما 1:
العمل:
بمجرد إنشاء كود Python الخاص بك ، قم بتنفيذه باستخدام الأمر run. إذا تم تنفيذ البرنامج بدون أي أخطاء يجب أن تحصل على الشاشة التالية.
يجب أن ترى أيضًا مؤشر LED باللون الأحمر يرتفع عندما لا يكون هناك كائن أمام المستشعر كما هو موضح أدناه.
الآن ، أحضر شيئًا قريبًا من مصباح IR وستلاحظ إيقاف تشغيل مؤشر LED الأحمر وتشغيل الأخضر. يمكن العثور على العمل الكامل على الفيديو الوارد أدناه.
آمل أن تكون قد فهمت المشروع وتمكنت من بناء شيء مفيد به. إذا كانت هناك أي استفسارات تنشر تلك في قسم التعليقات أدناه أو في المنتدى.