جدول المحتويات:
- الخطوة 1: المواد
- الخطوة 2: إعداد الخادم
- الخطوة 3: إعداد Raspberry Pi
- الخطوة 4: تجميع البندقية
- الخطوة 5: تشغيل اللعبة
- الخطوة 6: التحسينات المستقبلية
فيديو: بطاقة الليزر بالأشعة تحت الحمراء مع Raspberry Pi Zero: 6 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
سوف يسير هذا Instructable خلال عملية إنشاء لعبة Infrared Laser Tag باستخدام كمبيوتر خادم أساسي و Raspberry Pi صفر لكل لاعب. يعتمد المشروع بشكل كبير على اتصال Wifi للتواصل مع الخادم مما يجعل Pi مرشحًا رائعًا.
كان الخادم المستخدم في هذا المشروع عبارة عن كمبيوتر مكتبي قديم يعمل بنظام Linux. لا يحتاج الكمبيوتر إلى أي شيء خاص ، ويمكن تشغيله على الأرجح من Raspberry Pi 3. يجب توصيل الخادم وكل من pi zero's بنفس الشبكة أثناء اللعب.
الخطوة 1: المواد
يتم عرض الوصف وبعض الروابط للمواد المطلوبة أدناه. قائمة المواد أدناه لثلاث بنادق.
- كمبيوتر الخادم (1)
- Raspberry Pi Zero W (3) Adafruit
- بطاقة SD سعة 4 جيجابايت على الأقل (3) أمازون
- مرسل IR LED (3)
- مستقبل الأشعة تحت الحمراء (6) أمازون
- أحمر ليد (3)
- الأزرق ليد (3)
- أخضر ليد (3)
- الجرس السلبي (3) أمازون
- زر ضغط (6)
- شاشة LCD 16x2 مع محول I2C (3) Amazon
- حزمة بطارية محمولة (3) أمازون
- كابل Micro إلى USB عادي (3) Amazon
- الترانزستور PN2222 (3)
- 100Ω المقاوم (3)
- 1kΩ المقاوم (9)
العناصر الاختيارية:
- فيست (3) أمازون
- تمديد كابل الشريط (3) أمازون
في هذا المشروع ، انتهى بنا الأمر بأخذ IR LED Transmitter من مجموعة قديمة من مسدسات الليزر التي تحتوي على مخروط أسود حول جهاز الإرسال للمساعدة في تضييق لقطة كل بندقية. ومع ذلك ، يجب أن يعمل أي جهاز إرسال عام.
بالإضافة إلى العناصر المذكورة أعلاه ، كانت مسدسات الليزر نفسها مطبوعة ثلاثية الأبعاد. لذلك سيتطلب هذا المشروع أيضًا الوصول إلى طابعة ثلاثية الأبعاد وخيوط. بشكل عام ، وصل الإجمالي لثلاث بنادق إلى حوالي 350 دولارًا.
الخطوة 2: إعداد الخادم
أول شيء مطلوب لإعداد الخادم هو تثبيت Mosquitto MQTT Broker Service. Mosquitto هي الخدمة التي توفر إطار عمل للاتصال بين كل جهاز من الأجهزة في اللعبة. هذا يسمح للخادم بإرسال رسائل إلى كل Pis متصل بالخدمة. في المحطة ، قم بتشغيل الأوامر التالية.
sudo apt-get update
sudo apt-get Upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
تم إنشاء بعض واجهات المستخدم الرسومية للخادم باستخدام مصمم واجهة المستخدم الرسومية يسمى Pygubu. يمكن تثبيت هذا عن طريق تشغيل:
pip3 تثبيت pygubu
يمكن العثور على مزيد من المعلومات حول pygubu على
بمجرد تثبيت MQTT و Pygubu ، قم بإنشاء دليل جديد وانسخ الملفات المرفقة. يجب أن يتضمن الدليل:
- ltag.py
- pregame.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- home.png
- self.png
- أعداء. png
- laser.jpg
ملاحظة: الصور المرفقة المستخدمة في هذا المشروع لم يتم إنشاؤها من قبل فريق التطوير وبالتالي لا تدعي حقوق التأليف.
الخطوة 3: إعداد Raspberry Pi
يجب تكرار هذه الخطوة على كل من Raspberry Pis.
1. تثبيت نظام التشغيل
أولاً ، ابدأ بتثبيت جديد لـ Raspbian. نوصي باستخدام الإصدار Lite نظرًا لأنه لا يمكن لـ Pi التعامل معه ، ولكن يجب أن يعمل أي من الإصدارين بشكل جيد. يمكن العثور على التنزيل على
2. تثبيت MQTT
بعد ذلك نحتاج إلى تثبيت خدمة وسيط MQTT. سنستخدم Mosquitto لهذا الغرض. في المحطة ، قم بتشغيل الأوامر التالية.
sudo apt-get update
sudo apt-get Upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Mosquitto هي الخدمة التي توفر إطار عمل للاتصال بين كل جهاز من الأجهزة في اللعبة. هذا يسمح للخادم بإرسال رسائل إلى كل Pis متصل بالخدمة.
3. تثبيت أدوات I2C
سيقوم الأمر التالي بتثبيت المكتبات المستخدمة لشاشة LCD.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt-get install rpi.gpio -y
قد يلزم تغيير عنوان i2c في ملف lcddriver.py. يمكن العثور على العنوان عن طريق إدخال الأمر التالي.
i2cdetect -y 1
4. تثبيت وتكوين LIRC
قم بإنشاء دليل جديد وقم بتنزيل الملفات المرفقة بهذا الموقع.
لن تقوم معظم متصفحات الإنترنت بتنزيل الملفات بدون ملحقات. للتغلب على هذا ، تم تحميل ملفين بامتدادات مؤقتة. في الواقع ، يجب أن يكون كل من "lircrc.deleteExtension" و "modules.deleteExtension" أقل امتدادًا ويجب إعادة تسمية الملفات إلى "lircrc" و "modules" بعد أن يتم تنزيلها بنجاح.
تقوم هذه الخطوة بتثبيت وتكوين التبعيات لحزمة Linux Infrared Remote Control (LIRC). لمزيد من المعلومات ، راجع البرنامج التعليمي لإعداد LIRC على:
قم أولاً بتثبيت المكتبة ، ثم انسخ الملفات المضمنة إلى الدلائل الخاصة بها كما هو موضح في الأوامر أدناه. أخيرًا ، أعد تشغيل خدمة lircd.
sudo apt-get install python3-lirc -y
من الدليل الذي تم إنشاؤه حديثًا ، قم بتنفيذ الأوامر التالية لنقل ملفات التكوين إلى مواقعها الصحيحة.
sudo mv lircd.conf Hardware.conf lircrc lirc_options.conf / etc / lirc /
وحدات sudo mv / إلخ /
ثم أعد تشغيل خدمة lircd عن طريق تشغيل:
إعادة تشغيل sudo /etc/init.d/lircd
بعد ذلك ، قم بتحرير ملف /boot/config.txt وأضف السطر التالي
dtoverlay = lirc-rpi ، gpio_in_pin = 18 ، gpio_out_pin = 25
أعد تشغيل pi للسماح بتنفيذ التغييرات.
sudo إعادة التشغيل
5. قم بتمكين I2C وتحرير العميل لكل لاعب
بعد ذلك ، سنقوم بتمكين واجهة I2C. يمكن القيام بذلك باستخدام
sudo raspi-config
وتمكين I2C في قائمة "خيارات الواجهة".
6. تحرير Player CLIENT و LTSERVER
يجب أن يتضمن دليل اللعبة الآن الملفات الأربعة المتبقية.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- player.py
تتمثل الخطوة الأخيرة في تكوين pi في تخصيص رقم عميل لكل pi وإضافة موقع الخادم. يتم ذلك عن طريق تحرير ملف "player.py" المضمن لكل pi بحيث يكون لكل منهم رقم عميل مختلف. يتم تعيين رقم العميل في السطر 3 من player.py. تعيين pi الأول ليكون العميل "1" ، والثاني ليكون "2" ، والثالث ليكون العميل "3".
يجب تغيير خط LTSERVER إلى عنوان IP الخاص بالخادم. تم العثور على هذا عن طريق كتابة 'ifconfig | grep "inet addr" "في محطة كمبيوتر الخادم.
الخطوة 4: تجميع البندقية
تابع توصيل كل من البنادق وفقًا لمخطط الأسلاك والتخطيطي أعلاه.
يتم توصيل كل من الأجهزة الطرفية بدبابيس GPIO التالية على Pi Zero:
- الجرس: GPIO5.0
- الزناد: GPIO26
- إعادة التحميل: GPIO12
- مرسل الأشعة تحت الحمراء: GPIO25
- مستقبلات الأشعة تحت الحمراء: GPIO18
- الصمام الأحمر: GPIO17
- الصمام الأخضر: GPIO27
- الصمام الأزرق: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
انظر التخطيطي لمزيد من التفاصيل.
إذا رغبت في ذلك ، يمكن طباعة مسدسات الليزر ثلاثية الأبعاد باستخدام ملفات نموذج الخطوة المضمنة. ضع في اعتبارك أنه يجب طباعة اثنين من ملفات "front1STL. STL".
الخطوة 5: تشغيل اللعبة
تبدأ اللعبة بتشغيل ملف "ltag.py" على الخادم. بمجرد القيام بذلك ، يمكن لكل لاعب الاتصال بالخادم عن طريق تشغيل ملف "player.py" الخاص به.
ملاحظة: بعد توصيل حزمة البطارية ، قد يستغرق تشغيل pi ما يصل إلى دقيقة.
قد يكون من المفيد أيضًا إضافة وظيفة cron تعمل تلقائيًا على تشغيل ملف player.py بمجرد بدء pi. لقد واجهنا صعوبة في تشغيل هذا الأمر وانتهى بنا الأمر بإضافة سطر إلى ملف "/etc/rc.local" على كل ملف من ملفات Pis لتشغيل ملف "player.py". يسمح هذا ببدء اللعبة دون الحاجة إلى SSH في Pi لتشغيل البرنامج النصي للاعب.
بمجرد بدء اللعبة مع استعداد اللاعبين ، ستظهر واجهة المستخدم الرسومية التي تسمح بتهيئة عدد قليل من إعدادات اللعبة. تبدأ اللعبة بعد الضغط على زر البدء.
بعد كل لعبة ، ستظهر واجهة المستخدم الرسومية النهائية مع إحصاءات حول اللعبة السابقة بما في ذلك العلامات والنسب المئوية العالمية ومدة اللعبة.
ملاحظة: نظرًا للقيود في مكتبات البرامج ، فإن مواقع علامات تقرير الدقة لا تمثل علامات الليزر الفعلية. في الإصدار الحالي ، صورة تقرير دقة المشغل مخصصة فقط للجمال على أمل إصدار مستقبلي مع تطبيق موقع العلامة الفعلي.
الخطوة 6: التحسينات المستقبلية
بشكل عام ، حقق المشروع نجاحًا كبيرًا. على طول الطريق ، فكرنا في بعض الميزات الإضافية التي يمكن إضافتها إلى إصدار مستقبلي.
- تصميم زناد أكثر ثباتًا للمسدسات المطبوعة ثلاثية الأبعاد
- القائمة المنسدلة لإنهاء واجهة المستخدم الرسومية لعرض الإحصائيات من الألعاب السابقة
- المزيد من مستقبلات الأشعة تحت الحمراء التي يمكن تركيبها على سترات اللاعبين
- أوضاع اللعبة الإضافية التي يمكن اختيارها في واجهة المستخدم الرسومية Pregame
- خوارزمية موقع العلامة أكثر دقة على صفحة إحصائيات اللاعبين
موصى به:
مصباح الأشعة تحت الحمراء (الأشعة تحت الحمراء) الجزء 2: 3 خطوات
مصباح الأشعة تحت الحمراء (الأشعة تحت الحمراء) الجزء -2: مرحبًا يا شباب ، لقد عدت مع الجزء 2 من مصباح الأشعة تحت الحمراء (الأشعة تحت الحمراء) القابل للتوجيه. إذا لم تكن قد رأيت الجزء الأول ، فانقر هنا ، فلنبدأ … دائرة إضاءة بسيطة بالأشعة تحت الحمراء للمساعدة في الرؤية الليلية لكاميرات الدوائر التلفزيونية المغلقة. رؤية ليلية بإضاءة الأشعة تحت الحمراء ، باسم
مصباح الأشعة تحت الحمراء (الأشعة تحت الحمراء) الجزء 1: 5 خطوات
مصباح الأشعة تحت الحمراء (الأشعة تحت الحمراء) الجزء -1: مرحبًا … في هذا الدليل ، سوف نتعلم قليلاً عن الرؤية الليلية ، وطرق مختلفة لتحقيق الرؤية الليلية ودائرة إضاءة بالأشعة تحت الحمراء بسيطة للمساعدة في الرؤية الليلية لكاميرات CCTV. يوضح الشكل الرسم التخطيطي لدائرة IR Illumina
ميزان حرارة يعمل بالأشعة تحت الحمراء لا يلامس من أردوينو - ميزان حرارة قائم على الأشعة تحت الحمراء باستخدام Arduino: 4 خطوات
ميزان حرارة يعمل بالأشعة تحت الحمراء لا يلامس من أردوينو | ميزان حرارة قائم على الأشعة تحت الحمراء باستخدام Arduino: مرحبًا يا رفاق في هذه التعليمات ، سنقوم بعمل مقياس حرارة بدون تلامس باستخدام اردوينو. نظرًا لأن درجة حرارة السائل / الصلب في بعض الأحيان تكون مرتفعة جدًا أو منخفضة ومن ثم يصعب الاتصال بها وقراءتها درجة الحرارة ثم في هذا المشهد
جهاز تحكم عن بعد بالأشعة تحت الحمراء وجهاز استقبال الأشعة تحت الحمراء (TSOP1738) مع Arduino: 10 خطوات
جهاز التحكم عن بعد بالأشعة تحت الحمراء وجهاز استقبال الأشعة تحت الحمراء (TSOP1738) مع Arduino: هذا التوجيه مخصص للمبتدئين في Arduino. هذا أحد مشاريعي السابقة مع Arduino. لقد استمتعت كثيرًا عندما صنعتها وأتمنى أن تنال إعجابك أيضًا. الميزة الأكثر جاذبية لهذا المشروع هي "التحكم اللاسلكي". وهذا هو
كيف تصنع كاميرا تعمل بالأشعة تحت الحمراء بإضاءة LED بالأشعة تحت الحمراء: 5 خطوات (بالصور)
كيفية صنع كاميرا تعمل بالأشعة تحت الحمراء بإضاءة LED تعمل بالأشعة تحت الحمراء: لقد أدركت وجود كاميرا تعمل بالأشعة تحت الحمراء من أجل استخدامها في نظام التقاط الحركة. باستخدامه يمكنك أيضًا الحصول على هذا النوع من الصور الرائعة: أشياء لامعة في رؤية الكاميرا طبيعية في الواقع. يمكنك الحصول على نتائج جيدة بسعر رخيص