Talaan ng mga Nilalaman:

Infrared Laser Tag Sa Raspberry Pi Zero: 6 na Hakbang (na may Mga Larawan)
Infrared Laser Tag Sa Raspberry Pi Zero: 6 na Hakbang (na may Mga Larawan)

Video: Infrared Laser Tag Sa Raspberry Pi Zero: 6 na Hakbang (na may Mga Larawan)

Video: Infrared Laser Tag Sa Raspberry Pi Zero: 6 na Hakbang (na may Mga Larawan)
Video: DR. VICKI BELO's TRANSFORMATION💖🤩#vickibelo #doctor #transformation #viral #trending 2024, Hulyo
Anonim
Infrared Laser Tag Sa Raspberry Pi Zero
Infrared Laser Tag Sa Raspberry Pi Zero

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

Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
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

Pag-setup ng Server
Pag-setup ng Server
Pag-setup ng Server
Pag-setup ng Server
Pag-setup ng Server
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

Pag-setup ng Raspberry Pi
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

Assembly ng Gun
Assembly ng Gun
Assembly ng Gun
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

Paglalaro
Paglalaro
Paglalaro
Paglalaro
Paglalaro
Paglalaro

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

Mga Pagpapabuti sa Hinaharap
Mga Pagpapabuti sa Hinaharap
Mga Pagpapabuti sa Hinaharap
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: