فهرست مطالب:

برچسب لیزری مادون قرمز با تمشک پای صفر: 6 مرحله (همراه با تصاویر)
برچسب لیزری مادون قرمز با تمشک پای صفر: 6 مرحله (همراه با تصاویر)

تصویری: برچسب لیزری مادون قرمز با تمشک پای صفر: 6 مرحله (همراه با تصاویر)

تصویری: برچسب لیزری مادون قرمز با تمشک پای صفر: 6 مرحله (همراه با تصاویر)
تصویری: نه کاری که نمیدونستی گوشیت انجام میده | 9 کاربرد مخفی گوشی 2024, جولای
Anonim
برچسب لیزری مادون قرمز با رزبری پای صفر
برچسب لیزری مادون قرمز با رزبری پای صفر

این دستورالعمل مراحل ایجاد یک بازی لیزری مادون قرمز با استفاده از رایانه سرور پایه و رزبری پای صفر برای هر بازیکن را طی می کند. این پروژه به شدت به اتصال Wifi برای ارتباط با سرور متکی است که Pi را به یک نامزد عالی تبدیل می کند.

سرور مورد استفاده در این پروژه یک کامپیوتر رومیزی قدیمی با لینوکس بود. کامپیوتر نیازی به چیز خاصی ندارد و احتمالاً حتی می تواند از Raspberry Pi 3 اجرا شود. سرور و هر یک از صفرهای pi باید در طول بازی به یک شبکه متصل شوند.

مرحله 1: مواد

مواد
مواد
مواد
مواد

توضیحات و پیوندهایی برای مواد مورد نیاز در زیر نشان داده شده است. فهرست مواد زیر برای 3 اسلحه است.

  • کامپیوتر سرور (1)
  • Raspberry Pi Zero W (3) Adafruit
  • حداقل 4 گیگابایت کارت SD (3) آمازون
  • فرستنده IR IR (3)
  • گیرنده مادون قرمز (6) آمازون
  • LED قرمز (3)
  • LED آبی (3)
  • چراغ سبز (3)
  • زنگ منفعل (3) آمازون
  • دکمه فشار (6)
  • صفحه نمایش LCD 16x2 با آداپتور I2C (3) آمازون
  • بسته باتری قابل حمل (3) آمازون
  • میکرو به کابل USB معمولی (3) آمازون
  • ترانزیستور PN2222 (3)
  • مقاومت 100Ω (3)
  • مقاومت 1kΩ (9)

موارد اختیاری:

  • جلیقه (3) آمازون
  • فرمت کابل روبان (3) آمازون

در این پروژه ، ما IR IR فرستنده را از مجموعه ای قدیمی از اسلحه های لیزری که دارای یک مخروط سیاه در اطراف فرستنده بودند برای برداشتن ضربات هر تفنگ استفاده کردیم. با این حال ، هر فرستنده عمومی باید کار کند.

علاوه بر موارد ذکر شده در بالا ، اسلحه های لیزری خود چاپ سه بعدی داشتند. بنابراین این پروژه همچنین نیاز به دسترسی به چاپگر سه بعدی و فیلامنت دارد. به طور کلی ، برای سه اسلحه مجموع به 350 دلار رسید.

مرحله 2: راه اندازی سرور

راه اندازی سرور
راه اندازی سرور
راه اندازی سرور
راه اندازی سرور
راه اندازی سرور
راه اندازی سرور

اولین چیزی که برای راه اندازی سرور مورد نیاز است نصب سرویس کارگزار Mosquitto MQTT است. 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

برخی از GUI های سرور با استفاده از طراح GUI به نام Pygubu ایجاد شده است. این را می توان با اجرای زیر نصب کرد:

pip3 pygubu را نصب کنید

اطلاعات بیشتر در مورد pygubu را می توانید در https://github.com/alejandroautalan/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 Pis تکرار شود.

1. سیستم عامل را نصب کنید

ابتدا ، با نصب جدید Raspbian شروع کنید. ما توصیه می کنیم از نسخه Lite استفاده کنید زیرا کار با Pi کمتر است ، اما هر یک از نسخه ها باید خوب کار کند. دانلود را می توانید در https://www.raspberrypi.org/downloads/raspbian/ پیدا کنید

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 Tools را نصب کنید

دستور زیر کتابخانه هایی را که برای صفحه LCD استفاده می شود نصب می کند.

sudo apt-get install -y python3-smbus i2c-tools

sudo apt -get rpi.gpio -y را نصب کنید

آدرس i2c ممکن است نیاز به تغییر در فایل lcddriver.py داشته باشد. آدرس را با وارد کردن دستور زیر می توانید پیدا کنید.

i2cdetect -y 1

4. LIRC را نصب و پیکربندی کنید

یک فهرست جدید ایجاد کرده و فایلهای پیوست شده را در این مکان بارگیری کنید.

اکثر مرورگرهای اینترنتی فایل ها را بدون پسوند بارگیری نمی کنند. برای حل این مشکل ، دو فایل با پسوند موقت بارگذاری شد. هر دو "lircrc.deleteExtension" و "modules.deleteExtension" در واقع باید بدون پسوند باشند و پس از بارگیری موفقیت آمیز فایل ها باید به "lircrc" و "modules" تغییر نام دهند.

این مرحله وابستگی های بسته کنترل از راه دور مادون قرمز لینوکس (LIRC) را نصب و پیکربندی می کند. برای اطلاعات بیشتر به آموزش راه اندازی LIRC در آدرس زیر مراجعه کنید:

ابتدا کتابخانه را نصب کنید ، سپس فایلهای موجود را در دستورالعملهای زیر در فهرستهای مربوطه کپی کنید. در نهایت ، سرویس lircd را راه اندازی مجدد کنید.

sudo apt-get python3-lirc -y را نصب کنید

دستورات زیر را از فهرست جدید ایجاد شده اجرا کنید تا فایلهای پیکربندی به مکان صحیح آنها منتقل شوند.

sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/

ماژول sudo mv /etc /

سپس سرویس lircd را با اجرای مجدد راه اندازی کنید:

sudo /etc/init.d/lircd راه اندازی مجدد کنید

بعد ، فایل /boot/config.txt را ویرایش کرده و خط زیر را اضافه کنید

dtoverlay = lirc-rpi ، gpio_in_pin = 18 ، gpio_out_pin = 25

pi خود را مجدداً راه اندازی کنید تا تغییرات اعمال شوند.

راه اندازی مجدد sudo

5. I2C را فعال کرده و CLIENT را برای هر بازیکن ویرایش کنید

در مرحله بعد ، رابط I2C را فعال می کنیم. این را می توان با استفاده از

sudo raspi-config

و فعال کردن I2C در منوی "گزینه های رابط".

6. ویرایش پلیر CLIENT و LTSERVER

اکنون فهرست بازی باید شامل چهار فایل باقی مانده باشد.

  • i2c_lib.py
  • lcddriver.py
  • ltsounds.py
  • player.py

آخرین مرحله در پیکربندی pi این است که به هر pi یک شماره CLIENT اختصاص دهید و محل سرور را اضافه کنید. این کار با ویرایش فایل "player.py" موجود برای هر pi به گونه ای انجام می شود که همه آنها شماره مشتری متفاوت داشته باشند. شماره CLIENT در خط 3 از player.py اختصاص داده شده است. اولین pi را به مشتری "1" ، دومی را به "2" و سومی را به مشتری "3" اختصاص دهید.

خط LTSERVER باید به آدرس IP سرور تغییر کند. با تایپ کردن ifconfig | grep "inet addr" 'در ترمینال کامپیوتر سرور.

مرحله 4: مونتاژ تفنگ

مونتاژ اسلحه
مونتاژ اسلحه
مونتاژ اسلحه
مونتاژ اسلحه

مطابق نمودار سیم کشی و شماتیک بالا ، هر یک از اسلحه ها را سیم کشی کنید.

هر یک از لوازم جانبی به پایه های GPIO زیر در Pi Zero متصل هستند:

  • زنگ: GPIO5
  • محرک: GPIO26
  • بارگیری مجدد: GPIO12
  • فرستنده IR: GPIO25
  • گیرنده های IR: GPIO18
  • چراغ قرمز: GPIO17
  • چراغ سبز: GPIO27
  • LED آبی: GPIO22
  • I2C_SDA: GPIO2
  • I2C_SCL: GPIO3

برای جزئیات بیشتر به شماتیک مراجعه کنید.

در صورت تمایل ، اسلحه های لیزری را می توان با استفاده از فایل های مدل گام موجود ، به صورت سه بعدی چاپ کرد. به خاطر داشته باشید که دو فایل "front1STL. STL" باید چاپ شوند.

مرحله 5: بازی بازی

بازی بازی
بازی بازی
بازی بازی
بازی بازی
بازی بازی
بازی بازی

بازی با اجرای فایل "ltag.py" روی سرور شروع می شود. پس از انجام این کار ، هر یک از بازیکنان می توانند با اجرای فایل "player.py" مربوطه به سرور متصل شوند.

توجه: بعد از وصل کردن بسته باتری ، بوت شدن pi ممکن است یک دقیقه طول بکشد.

همچنین ممکن است افزودن یک cron job که به طور خودکار فایل player.py را اجرا می کند پس از شروع pi مفید باشد. کار کردن با این برنامه برای ما مشکل بود و در نهایت یک خط به فایل "/etc/rc.local" در هر یک از Pis اضافه کردیم تا فایل "player.py" اجرا شود. این اجازه می دهد تا بازی بدون نیاز به SSH به Pi برای اجرای اسکریپت پخش کننده شروع شود.

پس از شروع بازی با بازیکنان آماده ، GUI ظاهر می شود که اجازه می دهد تعدادی از تنظیمات بازی پیکربندی شوند. بازی پس از فشردن دکمه Start شروع می شود.

پس از هر بازی ، رابط کاربری گرافیکی پایانی با آمار مربوط به بازی قبلی از جمله برچسب ها ، درصد جهانی و مدت زمان بازی ظاهر می شود.

توجه: به دلیل محدودیت در کتابخانه های نرم افزاری ، مکان های برچسب گزارش صحت نشان دهنده برچسب های لیزری واقعی نیستند. در نسخه فعلی ، تصویر گزارش دقت پخش کننده صرفاً برای زیبایی شناسی است به امید نسخه آینده با اجرای مکان برچسب واقعی.

مرحله 6: پیشرفت های آینده

پیشرفت های آینده
پیشرفت های آینده
پیشرفت های آینده
پیشرفت های آینده

به طور کلی ، این پروژه یک موفقیت بزرگ بود. در طول راه ، ما به چند ویژگی اضافی فکر کردیم که ممکن است به نسخه بعدی اضافه شوند.

  • طراحی قوی تریگر برای اسلحه های چاپ سه بعدی
  • پایان دادن به منوی کشویی GUI برای نمایش آمار بازی های گذشته
  • گیرنده های مادون قرمز بیشتری که می توانند به جلیقه بازیکنان متصل شوند
  • حالت های بازی اضافی که می توانند در رابط کاربری Pregame انتخاب شوند
  • الگوریتم مکان دقیق برچسب در صفحه آمار بازیکنان

توصیه شده: