
Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:13

Magagagawa ang Instructable na ito sa proseso para sa paglikha ng isang larong Infrared Laser Tag gamit ang isang base server computer at isang Raspberry Pi zero para sa bawat manlalaro. Ang proyekto ay umaasa nang husto sa isang koneksyon sa Wifi upang makipag-usap sa server na ginagawang mahusay na kandidato ang Pi.
Ang server na ginamit sa proyektong ito ay isang lumang desktop computer na may Linux. Ang computer ay hindi kailangang maging anumang espesyal, at maaaring kahit na patakbuhin mula sa isang Raspberry Pi 3. Ang server at bawat isa sa mga pi zero ay dapat na konektado sa parehong network sa panahon ng paglalaro.
Hakbang 1: Mga Kagamitan


Ang paglalarawan at ilang mga link para sa mga kinakailangang materyal ay ipinapakita sa ibaba. Ang listahan ng materyal sa ibaba ay para sa 3 baril.
- Server Computer (1)
- Raspberry Pi Zero W (3) Adafruit
- Hindi bababa sa 4GB SD Card (3) Amazon
- IR LED Transmitter (3)
- IR Receiver (6) Amazon
- Pulang LED (3)
- Blue LED (3)
- Green LED (3)
- Passive Buzzer (3) Amazon
- Pindutan ng Push (6)
- LCD 16x2 Screen na may I2C Adapter (3) Amazon
- Portable Battery Pack (3) Amazon
- Micro to Regular USB Cable (3) Amazon
- PN2222 Transistor (3)
- 100Ω Resistor (3)
- 1kΩ Resistor (9)
Mga opsyonal na item:
- Vest (3) Amazon
- Ribbon Cable extension (3) Amazon
Sa proyektong ito, natapos namin ang pagkuha ng IR LED Transmitter mula sa isang lumang hanay ng mga laser tag na baril na may isang itim na kono sa paligid ng transmiter upang matulungan ang paghikayat ng pagbaril ng bawat baril. Gayunpaman, ang anumang pangkalahatang transmiter ay dapat na gumana.
Bilang karagdagan sa mga item na nakalista sa itaas, ang mga laser gun mismo ay naka-print na 3D. Samakatuwid ang proyektong ito ay mangangailangan din ng pag-access sa isang 3D printer at filament. Sa pangkalahatan, para sa tatlong baril ang kabuuan ay umabot sa $ 350.
Hakbang 2: Pag-setup ng Server



Ang unang bagay na kinakailangan upang mai-set up ang server ay ang i-install ang Mosquitto MQTT Broker Service. Ang Mosquitto ay ang serbisyo na nagbibigay ng isang balangkas para sa komunikasyon sa pagitan ng bawat isa sa mga aparato sa laro. Pinapayagan nito ang server na magpadala ng mga mensahe sa bawat Pis na konektado sa serbisyo. Sa terminal, patakbuhin ang mga sumusunod na utos.
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
Ang ilan sa mga GUI para sa server ay nilikha gamit ang isang taga-disenyo ng GUI na tinatawag na Pygubu. Maaari itong mai-install sa pamamagitan ng pagpapatakbo:
pip3 i-install ang pygubu
Ang karagdagang impormasyon sa pygubu ay matatagpuan sa
Kapag na-install na ang MQTT at Pygubu, lumikha ng isang bagong direktoryo at kopyahin ang mga nakalakip na file. Dapat isama sa direktoryo ang:
- ltag.py
- pregame.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_ Unlimited.ui
- bahay.png
- sarili.png
- mga kalaban.png
- laser.jpg
Tandaan: Ang mga nakakabit na imaheng ginamit sa proyektong ito ay hindi nilikha ng koponan ng pag-unlad at samakatuwid ay hindi inaangkin na may akda.
Hakbang 3: Pag-setup ng Raspberry Pi

Ang hakbang na ito ay kailangang ulitin sa bawat isa sa Raspberry Pis.
1. I-install ang Operating System
Una, magsimula sa isang sariwang pag-install ng Raspbian. Inirerekumenda namin ang paggamit ng bersyon ng Lite dahil mas mababa para sa Pi na hawakan, ngunit ang alinmang bersyon ay dapat na gumana nang maayos. Ang pag-download ay matatagpuan sa
2. I-install ang MQTT
Susunod na kailangan naming i-install ang serbisyo ng MQTT broker. Gagamitin namin ang Mosquitto para dito. Sa terminal, patakbuhin ang mga sumusunod na utos.
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
Ang Mosquitto ay ang serbisyo na nagbibigay ng isang balangkas para sa komunikasyon sa pagitan ng bawat isa sa mga aparato sa laro. Pinapayagan nito ang server na magpadala ng mga mensahe sa bawat Pis na konektado sa serbisyo.
3. I-install ang I2C Tools
Ang sumusunod na utos ay mag-i-install ng mga aklatan na ginagamit para sa LCD screen.
sudo apt-get install -y python3-smbus i2c-tool
sudo apt-get install rpi.gpio -y
Ang i2c address ay maaaring kailanganing mabago sa lcddriver.py file. Ang address ay matatagpuan sa pamamagitan ng pagpasok ng sumusunod na utos.
i2cdetect -y 1
4. I-install at i-configure ang LIRC
Lumikha ng isang bagong direktoryo at i-download ang mga nakalakip na mga file sa lokasyon na ito.
Karamihan sa mga Internet browser ay hindi magda-download ng mga file nang walang mga extension. Upang maiikot ito, dalawa sa mga file ang na-upload na may pansamantalang mga extension. Parehong "lircrc.deleteExtension" at "modules.deleteExtension" sa katunayan ay dapat na walang extension at ang mga file ay dapat palitan ng pangalan sa "lircrc" at "modules" matapos silang matagumpay na na-download.
Ang hakbang na ito ay nag-install at nag-configure ng mga dependency para sa paketeng Linux Infrared Remote Control (LIRC). Para sa karagdagang impormasyon tingnan ang tutorial para sa pag-set up ng LIRC sa:
I-install muna ang silid-aklatan, pagkatapos kopyahin ang mga isinamang file sa kani-kanilang mga direktoryo tulad ng ipinakita sa mga utos sa ibaba. Sa wakas, muling simulan ang serbisyo ng lircd.
sudo apt-get install python3-lirc -y
Mula sa bagong nilikha na direktoryo ay isagawa ang mga sumusunod na utos upang ilipat ang mga file ng pagsasaayos sa kanilang mga tamang lokasyon.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf / etc / lirc /
sudo mv modules / etc /
Pagkatapos ay i-restart ang serbisyo ng lircd sa pamamagitan ng pagpapatakbo:
sudo /etc/init.d/lircd restart
Susunod, i-edit ang /boot/config.txt file at idagdag ang sumusunod na linya
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
I-reboot ang iyong pi upang payagan ang mga pagbabago na magkabisa.
sudo reboot
5. Paganahin ang I2C at i-edit ang CLIENT para sa bawat manlalaro
Susunod, paganahin namin ang interface ng I2C. Maaari itong magawa gamit
sudo raspi-config
at pagpapagana ng I2C sa menu na "mga pagpipilian sa interface".
6. I-edit ang Player CLIENT at LTSERVER
Dapat isama na ngayon ng direktoryo ng laro ang apat na natitirang mga file.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- player.py
Ang huling hakbang sa pag-configure ng pi ay pagtatalaga sa bawat pi ng isang numero ng CLIENT at pagdaragdag ng lokasyon ng server. Ginagawa ito sa pamamagitan ng pag-edit ng kasama na file na "player.py" para sa bawat pi upang lahat sila ay may magkakaibang numero ng CLIENT. Ang numero ng CLIENT ay itinalaga sa linya 3 ng player.py. Italaga ang unang pi na maging client na "1", ang pangalawa ay "2", at ang pangatlo ay client na "3".
Ang linya ng LTSERVER ay dapat mapalitan sa IP address ng server. Natagpuan ito sa pamamagitan ng pag-type ng 'ifconfig | grep "inet addr" 'sa terminal ng server computer.
Hakbang 4: Assembly ng Gun


Magpatuloy sa pag-wire sa bawat isa sa mga baril ayon sa diagram ng mga kable at eskematiko sa itaas.
Ang bawat isa sa mga peripheral ay konektado sa mga sumusunod na GPIO pin sa Pi Zero:
- Buzzer: GPIO5
- Trigger: GPIO26
- I-reload: GPIO12
- Transmitter ng IR: GPIO25
- Mga Tagatanggap ng IR: GPIO18
- PULANG LED: GPIO17
- GREEN LED: GPIO27
- BLUE LED: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Tingnan ang eskematiko para sa higit pang mga detalye.
Kung ninanais, ang mga laser gun ay maaaring naka-print sa 3D gamit ang kasama na mga file ng modelo ng hakbang. Tandaan na ang dalawa sa mga "front1STL. STL" na mga file ay dapat na mai-print.
Hakbang 5: Paglaro ng Laro



Ang laro ay sinimulan sa pamamagitan ng pagpapatakbo ng "ltag.py" file sa server. Kapag tapos na ito, ang bawat isa sa mga manlalaro ay maaaring kumonekta sa server sa pamamagitan ng pagpapatakbo ng kani-kanilang "player.py" file.
Tandaan: Matapos ang pag-plug sa pack ng baterya, maaaring tumagal ng hanggang isang minuto bago mag-boot ang pi.
Maaari din itong maging kapaki-pakinabang upang magdagdag ng isang trabaho sa cron na awtomatikong nagpapatakbo ng file ng player.py sa sandaling magsimula ang pi. Nahirapan kaming gawin ito at nagtapos sa pagdaragdag ng isang linya sa "/etc/rc.local" na file sa bawat Pis upang patakbuhin ang file na "player.py". Pinapayagan nitong masimulan ang laro nang hindi kinakailangang SSH sa Pi's upang mapatakbo ang script ng manlalaro.
Kapag nasimulan na ang laro na handa na ang mga manlalaro, lilitaw ang isang GUI na nagpapahintulot sa ilang mga setting ng laro na mai-configure. Nagsisimula ang laro pagkatapos pindutin ang pindutan ng Start.
Matapos ang bawat laro, lilitaw ang isang nagtatapos na GUI na may mga istatistika tungkol sa naunang laro kabilang ang mga tag, pandaigdigang porsyento at tagal ng laro.
Tandaan: Dahil sa mga limitasyon sa mga library ng software, ang mga lokasyon ng tag na ulat ng kawastuhan ay hindi kinatawan ng aktwal na mga laser tag. Sa kasalukuyang bersyon, ang imahe ng Ulat sa Katumpakan ng Player ay pulos para sa mga estetika sa pag-asa ng isang hinaharap na bersyon na may aktwal na pagpapatupad ng lokasyon ng tag.
Hakbang 6: Mga Pagpapabuti sa Hinaharap


Sa pangkalahatan, ang proyekto ay isang pangunahing tagumpay. Sa daan, naisip namin ang ilang mga karagdagang tampok na maaaring idagdag sa isang hinaharap na edisyon.
- Mas matatag na disenyo ng pag-trigger para sa naka-print na baril ng 3D
- Pagtatapos ng drop-down na menu ng GUI upang ipakita ang mga istatistika mula sa mga nakaraang laro
- Mas maraming mga infrared na tatanggap na maaaring mai-attach sa mga vests ng mga manlalaro
- Karagdagang mga mode ng laro na maaaring mapili sa Pregame GUI
- Mas tumpak na algorithm ng lokasyon ng tag sa pahina ng mga istatistika ng mga manlalaro
Inirerekumendang:
Pagpapanatiling Cool ng Iyong Baby Ngayong Tag-araw - Pagkontrol sa Mga Bobo na Tagahanga Sa Mga Smart bagay!: 6 na Hakbang (na may Mga Larawan)

Pagpapanatiling Cool ng Iyong Sanggol Ngayong Tag-init - Pagkontrol sa Mga Bobo na Tagahanga Sa Mga Matalinong Bagay !: Tulad ng dalawang linggo na ang nakalilipas sa pagsulat nito, ako ay naging isang ama sa isang hindi kapani-paniwalang sanggol na lalaki! Sa pagbabago ng panahon, ang mga araw na nagiging mas mahaba at ang mga temperatura ay nagiging mas mainit, naisip kong makabubuting magkaroon ng ilang uri ng monitor tungkol sa
Boe-Bot Na May Mga Infrared Detector: 12 Hakbang (na may Mga Larawan)

Boe-Bot Sa Mga Infrared Detector: Ang itinuturo na ito ay magpapakita kung paano bumuo at mag-code ng isang Boe-Bot na maaaring mag-navigate sa isang maze gamit ang mga infrared detector upang maiwasan ang mga hadlang. Ito ay isang madaling sundin ang gabay na nagbibigay-daan sa madaling pagbabago upang umangkop sa iyong mga pangangailangan. Nangangailangan ito ng pangunahing und
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Mga Kapansanan sa Locomotor: 9 Mga Hakbang (na may Mga Larawan)

Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Kapansanan sa Locomotor: Ang mga taong may malubhang mga kapansanan sa lokomotor tulad ng mga sanhi ng cerebral palsy ay madalas na may mga kumplikadong pangangailangan sa komunikasyon. Maaaring kailanganin silang gumamit ng mga board na may alpabeto o karaniwang ginagamit na mga salitang nakalimbag sa kanila upang makatulong sa komunikasyon. Gayunpaman, marami
Light Up Flower Crown Headband para sa Mga Pista ng Musika sa Tag-init, Mga Kasalan, Mga Espesyal na okasyon: 8 Hakbang (na may Mga Larawan)

Light Up Flower Crown Headband para sa Mga Pista ng Musika sa Tag-init, Mga Kasalan, Mga Espesyal na okasyon: Liwanagin ang gabi sa isang magandang floral LED headband! Perpekto para sa anumang kasal, festival ng musika, prom, costume at espesyal na okasyon! Mga kit na may lahat ng kailangan mo upang makagawa ng iyong sariling ang light up headband ay magagamit na ngayon sa Wearables Workshop sto
Arduino Laser Tag - Duino Tag: 11 Hakbang (na may Mga Larawan)

Arduino Laser Tag - Duino Tag: Duino tagger- Pangkalahatang pagpapakilala Ang tag ng Duino ay isang laser tag system na nakabatay sa paligid ng arduino. Sa wakas isang system ng laser tag na maaaring mai-tweak na naka-modded at na-hack hanggang sa magkaroon ka ng perpektong system ng laser tag para sa office ordnance, mga gubat sa kakahuyan at suburb