Mündəricat:
- Addım 1: Materiallar
- Addım 2: Server Quraşdırması
- Addım 3: Raspberry Pi Quraşdırması
- Addım 4: Silah yığılması
- Addım 5: Oyun oynayın
- Addım 6: Gələcək Təkmilləşdirmələr
Video: Raspberry Pi Zero ilə İnfraqırmızı Lazer Etiketi: 6 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu Təlimat, hər bir oyunçu üçün bir baza server kompüteri və bir Raspberry Pi sıfırdan istifadə edərək İnfraqırmızı Lazer Etiket oyunu yaratmaq prosesini keçəcək. Layihə, Pi -ni əla bir namizəd halına gətirən serverlə ünsiyyət qurmaq üçün çox Wifi bağlantısına əsaslanır.
Bu layihədə istifadə olunan server Linux ilə köhnə bir masa üstü kompüter idi. Kompüterin xüsusi bir şeyə ehtiyacı yoxdur və yəqin ki, hətta Raspberry Pi 3 -dən də işləyə bilər. Oyun zamanı server və pi sıfırlarının hər biri eyni şəbəkəyə qoşulmalıdır.
Addım 1: Materiallar
Lazımi materialların təsviri və bəzi bağlantılar aşağıda göstərilmişdir. Aşağıdakı material siyahısı 3 silah üçündür.
- Server Kompüteri (1)
- Raspberry Pi Zero W (3) Adafruit
- Ən az 4 GB SD Kart (3) Amazon
- IR LED Vericisi (3)
- IR qəbuledicisi (6) Amazon
- Qırmızı LED (3)
- Mavi LED (3)
- Yaşıl LED (3)
- Passiv Buzzer (3) Amazon
- Düymə (6)
- I2C Adaptorlu LCD 16x2 Ekran (3) Amazon
- Portativ Batareya Paketi (3) Amazon
- Mikrodan Normal USB Kabelinə (3) Amazon
- PN2222 Transistor (3)
- 100Ω Rezistor (3)
- 1kΩ Rezistor (9)
İsteğe bağlı maddələr:
- Yelek (3) Amazon
- Şerit Kabel uzantısı (3) Amazon
Bu layihədə, hər bir silahın atışını daraltmaq üçün vericinin ətrafında qara bir konus olan köhnə bir lazer etiketli silah dəstindən IR LED Vericisini aldıq. Ancaq hər hansı bir ümumi ötürücü işləməlidir.
Yuxarıda sadalanan maddələrə əlavə olaraq, lazer silahlarının özləri də 3D çap edilmişdir. Buna görə də bu layihə 3D printerə və filamentə giriş tələb edəcək. Ümumiyyətlə, üç silah üçün cəmi 350 dollara çatdı.
Addım 2: Server Quraşdırması
Serveri qurmaq üçün lazım olan ilk şey Mosquitto MQTT Broker Xidmətini qurmaqdır. Mosquitto, oyundakı hər bir cihaz arasında ünsiyyət üçün bir çərçivə təmin edən bir xidmətdir. Bu, serverə xidmətə qoşulmuş hər Pis -ə mesaj göndərməyə imkan verir. Terminalda aşağıdakı əmrləri yerinə yetirin.
sudo apt-get yeniləməsi
sudo apt-get upgrade sudo apt-get mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Server üçün bəzi GUI -lər Pygubu adlı bir GUI dizayneri ilə yaradılmışdır. Bu işə salınaraq quraşdırıla bilər:
pip3 pygubu quraşdırın
Pygubu haqqında daha çox məlumatı https://github.com/alejandroautalan/pygubu ünvanında tapa bilərsiniz.
MQTT və Pygubu quraşdırıldıqdan sonra yeni bir kataloq yaradın və əlavə edilmiş faylları kopyalayın. Kataloqda aşağıdakılar olmalıdır:
- ltag.py
- əvvəlcədən oyun
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- ev.png
- özünü.png
- düşmən.png
- lazer.jpg
Qeyd: Bu layihədə istifadə olunan əlavə şəkillər inkişaf qrupu tərəfindən yaradılmadı və buna görə də müəlliflik iddiası daşımır.
Addım 3: Raspberry Pi Quraşdırması
Bu addım hər bir Moruq Balığında təkrarlanmalıdır.
1. Əməliyyat Sistemini Qurun
Birincisi, yeni bir Raspbian quraşdırılması ilə başlayın. Pi'nin idarə etməsi daha az olduğu üçün Lite versiyasını istifadə etməyi məsləhət görürük, amma hər iki versiya da yaxşı işləməlidir. Yükləməni https://www.raspberrypi.org/downloads/raspbian/ ünvanında tapa bilərsiniz.
2. MQTT quraşdırın
Sonra MQTT broker xidmətini quraşdırmalıyıq. Bunun üçün Mosquittodan istifadə edəcəyik. Terminalda aşağıdakı əmrləri yerinə yetirin.
sudo apt-get yeniləməsi
sudo apt-get upgrade sudo apt-get mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Mosquitto, oyundakı hər bir cihaz arasında ünsiyyət üçün bir çərçivə təmin edən bir xidmətdir. Bu, serverə xidmətə qoşulmuş hər Pisə mesaj göndərməyə imkan verir.
3. I2C Tools qurun
Aşağıdakı əmr, LCD ekran üçün istifadə olunan kitabxanaları quraşdıracaq.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt -get rpi.gpio -y quraşdırın
İ2c ünvanının lcddriver.py faylında dəyişdirilməsi lazım ola bilər. Aşağıdakı əmri daxil edərək ünvanı tapa bilərsiniz.
i2cdetect -y 1
4. LIRC qurun və konfiqurasiya edin
Yeni bir kataloq yaradın və əlavə edilmiş faylları bu yerə yükləyin.
Əksər İnternet brauzerləri uzantıları olmayan faylları yükləməyəcək. Bunun qarşısını almaq üçün, fayllardan ikisi müvəqqəti uzantılar ilə yükləndi. Həm "lircrc.deleteExtension", həm də "modules.deleteExtension" əslində uzantısız olmalı və fayllar uğurla endirildikdən sonra "lircrc" və "modules" olaraq adlandırılmalıdır.
Bu addım Linux Infrared Remote Control (LIRC) paketi üçün asılılıqları qurur və konfiqurasiya edir. Ətraflı məlumat üçün https://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/ ünvanında LIRC qurma təlimatına baxın.
Əvvəlcə kitabxananı quraşdırın, sonra daxil olan faylları aşağıdakı əmrlərdə göstərildiyi kimi müvafiq qovluqlara kopyalayın. Nəhayət, lircd xidmətini yenidən başladın.
sudo apt-get python3-lirc -y quraşdırın
Yeni yaradılan qovluqdan konfiqurasiya fayllarını düzgün yerlərə köçürmək üçün aşağıdakı əmrləri yerinə yetirin.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/
sudo mv modulları /etc /
Sonra çalıştırarak lircd xidmətini yenidən başladın:
sudo /etc/init.d/lircd yenidən başladın
Sonra, /boot/config.txt faylını redaktə edin və aşağıdakı sətri əlavə edin
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Dəyişikliklərin qüvvəyə minməsi üçün pi -ni yenidən başladın.
sudo yenidən başladın
5. I2C -ni aktivləşdirin və hər bir oyunçu üçün MÜŞTƏRİ redaktə edin
Sonra, I2C interfeysini aktivləşdirəcəyik. Bu istifadə etməklə edilə bilər
sudo raspi-config
və "interfeys seçimləri" menyusunda I2C -nin aktivləşdirilməsi.
6. Player MÜŞTERİ və LTSERVER -i redaktə edin
Oyun qovluğunda artıq qalan dörd fayl olmalıdır.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- oyunçu.py
Pi -ni konfiqurasiya etməkdə son addım hər pi -yə MÜŞTƏRİ nömrə vermək və serverin yerini əlavə etməkdir. Bu, hər bir pi üçün daxil olan "player.py" faylını düzəltməklə edilir ki, hamısı fərqli bir MÜŞTERİ nömrəsinə sahib olsun. MÜŞTƏRİ nömrəsi player.py saytının 3 -cü sətrində verilir. Müştəri olmaq üçün birinci pi "1", ikincisi "2" və üçüncüsü müştəri "3" olaraq təyin edin.
LTSERVER xətti serverin IP ünvanına dəyişdirilməlidir. Bu 'ifconfig | yazaraq tapılır grep "inet addr" 'server kompüterinin terminalında.
Addım 4: Silah yığılması
Silahların hər birini yuxarıdakı sxemə və sxemə görə tel etməyə davam edin.
Ətraf qurğuların hər biri Pi Zero -dakı aşağıdakı GPIO pinlərinə bağlıdır:
- Səs siqnalı: GPIO5
- Tetikleyici: GPIO26
- Yenidən yüklə: GPIO12
- IR ötürücü: GPIO25
- IR qəbulediciləri: GPIO18
- QIRMIZI LED: GPIO17
- YAŞIL LED: GPIO27
- MAVİ LED: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Daha ətraflı məlumat üçün sxemə baxın.
İstəyirsinizsə, lazer silahları, daxil edilmiş addım model faylları istifadə edərək 3D çap edilə bilər. Unutmayın ki, "front1STL. STL" fayllarından ikisi çap olunmalıdır.
Addım 5: Oyun oynayın
Oyun serverdə "ltag.py" faylını işə salmaqla başlayır. Bunu etdikdən sonra, oyunçuların hər biri öz "player.py" faylını işlədərək serverə qoşula bilər.
Qeyd: Batareya paketini bağladıqdan sonra pi -nin açılması bir dəqiqə çəkə bilər.
Pi başladıqdan sonra player.py faylını avtomatik işlədən bir cron işi əlavə etmək də faydalı ola bilər. Bunu işə salmaqda çətinlik çəkdik və "player.py" faylını işə salmaq üçün hər Pisdəki "/etc/rc.local" faylına bir sətir əlavə etdik. Bu, oyunun skriptini işə salmaq üçün Pi -yə SSH qoymadan oyunun başlamasına imkan verir.
Oyunçular hazır olduqda oyuna başladıqdan sonra bir neçə oyun parametrinin konfiqurasiya olunmasına imkan verən bir GUI görünəcək. Başlat düyməsinə basıldıqdan sonra oyun başlayır.
Hər oyundan sonra etiketlər, qlobal faizlər və oyun müddəti də daxil olmaqla əvvəlki oyunla bağlı statistika ilə bitən bir GUI görünəcək.
Qeyd: Proqram kitabxanalarındakı məhdudiyyətlər səbəbindən dəqiqlik hesabatı etiket yerləri faktiki lazer etiketlərini təmsil etmir. Mövcud versiyada, Oyunçunun Dəqiqlik Hesabatı görüntüsü, əsl etiket yeri tətbiqi ilə gələcək bir versiya ümidi ilə yalnız estetika üçündür.
Addım 6: Gələcək Təkmilləşdirmələr
Ümumiyyətlə, layihə böyük uğur qazandı. Yolda, gələcək nəşrə əlavə edilə biləcək bir neçə əlavə xüsusiyyət düşündük.
- 3D çaplı silahlar üçün daha güclü tətik dizaynı
- Keçmiş oyunların statistikasını göstərmək üçün GUI açılan menyusu bitir
- Oyunçuların yeleklərinə əlavə edilə bilən daha çox infraqırmızı alıcılar
- Pregame GUI -də seçilə bilən əlavə oyun rejimi
- Oyunçuların statistikası səhifəsində daha dəqiq etiket yeri alqoritmi
Tövsiyə:
Arduino ilə İnfraqırmızı Sensorun İstifadəsi: 8 Addım (Şəkillərlə birlikdə)
İnfraqırmızı Sensorun Arduino ilə İstifadəsi: İnfraqırmızı (aka IR) sensoru nədir? İQ sensoru, standartlarla müəyyən edilmiş müəyyən tezlik aralığında İQ siqnallarını tarayan və çıxış pinindəki elektrik siqnallarına çevirən elektron cihazdır (adətən siqnal pimi adlanır). . IR siqnalı
Arduino lazer infraqırmızı termometr: 7 addım (şəkillərlə birlikdə)
Arduino Lazer İnfraqırmızı Termometr: Bu layihədə sizə xüsusi 3D çaplı bir korpusla rəqəmsal lazer infraqırmızı termometr qurmağı göstərəcəyəm
Canne Blanche Lazer / Arduino ilə Ağ Lazer: 6 addım
Canne Blanche Laser / Arduino ilə Lazer Ağ Baston: Télémètre lazer canlı və uzun məsafədə təfərrüatlı bir məsafədə. Yardım aux deficiences vizuelles. Lazer diapazonu sivri məsafəyə tərs mütənasib bir tezlikdə titrəyir. Vizual çatışmazlığa kömək
Əl istehsalı Lazer ilə Moire LAZER Efekti: 4 addım
Əl istehsalı Lazer ilə Moire LAZER Efekti: Aşağıda bu effektin bir fotoşəkil çəkilişi var, bəzən bu effekt ekrandan 90 dərəcə divara çıxır. Çox təsir edicidir !. İzləyərkən mənə geri dönmədi və gələ də bilməz, bunu etməyimi məsləhət görürəm, amma təhlükəsizdir
Arduino Lazer Etiketi - Duino Etiketi: 11 Addım (Şəkillərlə birlikdə)
Arduino Laser Tag - Duino Tag: Duino tagger - Ümumi giriş Duino etiketi arduino ətrafında qurulmuş bir lazer etiket sistemidir. Nəhayət, ofis ləvazimatları, meşəlik müharibələr və şəhərətrafı ərazilər üçün mükəmməl bir lazer etiket sisteminə sahib olana qədər dəyişdirilə və dəyişdirilə bilən bir lazer etiket sistemi