Cov txheej txheem:

Infrared Laser Tag Nrog Raspberry Pi Xoom: 6 Cov Kauj Ruam (nrog Duab)
Infrared Laser Tag Nrog Raspberry Pi Xoom: 6 Cov Kauj Ruam (nrog Duab)

Video: Infrared Laser Tag Nrog Raspberry Pi Xoom: 6 Cov Kauj Ruam (nrog Duab)

Video: Infrared Laser Tag Nrog Raspberry Pi Xoom: 6 Cov Kauj Ruam (nrog Duab)
Video: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Hlis ntuj nqeg
Anonim
Infrared Laser Tag Nrog Raspberry Pi Zero
Infrared Laser Tag Nrog Raspberry Pi Zero

Cov Lus Qhia no yuav taug kev los ntawm cov txheej txheem rau tsim Infrared Laser Tag game siv lub hauv paus server hauv computer thiab Raspberry Pi xoom rau txhua tus neeg ua si. Txoj haujlwm vam khom ntau ntawm Wifi txuas rau sib tham nrog tus neeg rau zaub mov uas ua rau Pi yog tus neeg sib tw zoo.

Tus neeg rau zaub mov siv hauv txoj haujlwm no yog lub khoos phis tawj qub nrog Linux. Lub khoos phis tawj tsis tas yuav muaj dab tsi tshwj xeeb, thiab tej zaum tseem tuaj yeem ua haujlwm los ntawm Raspberry Pi 3. Tus neeg rau zaub mov thiab txhua tus pi xoom yuav tsum txuas nrog tib lub network thaum ua si.

Kauj ruam 1: Cov ntaub ntawv

Khoom siv
Khoom siv
Khoom siv
Khoom siv

Cov lus piav qhia thiab qee qhov txuas rau cov ntaub ntawv xav tau muaj nyob hauv qab no. Cov npe khoom hauv qab no yog rau 3 phom.

  • Neeg rau zaub mov Computer (1)
  • Raspberry Pi Zero W (3) Adafruit
  • Tsawg kawg 4GB SD Card (3) Amazon
  • IR LED Transmitter (3)
  • IR Txais (6) Amazon
  • Liab LED (3)
  • Xiav LED (3)
  • Ntsuab LED (3)
  • Passive Buzzer (3) Amazon
  • Khawm Khawm (6)
  • LCD 16x2 Screen nrog I2C Adapter (3) Amazon
  • Cov Roj Teeb Portable (3) Amazon
  • Micro rau li niaj zaus USB Cable (3) Amazon
  • PN2222 Transistor (3)
  • 100Ω Resistor (3)
  • 1kΩ Resistor (9)

Cov khoom yeem:

  • Tsho khuam (3) Amazon
  • Ribbon Cable txuas ntxiv (3) Amazon

Hauv txoj haujlwm no, peb tau ua tiav qhov IR LED Transmitter los ntawm cov txheej txheej qub ntawm cov phom phom laser uas muaj lub khob dub nyob ib puag ncig lub tshuab xa xov kom pab txo qhov txhaj tshuaj ntawm txhua rab phom. Txawm li cas los xij, ib qho kev xa xov dav dav yuav tsum ua haujlwm.

Ntxiv rau cov khoom teev tseg saum toj no, cov phom laser lawv tus kheej tau luam tawm 3D. Yog li no txoj haujlwm no tseem yuav xav tau nkag mus rau lub tshuab luam ntawv 3D thiab cov ntsiab lus. Zuag qhia tag nrho, rau peb rab phom tag nrho tuaj txog li $ 350.

Kauj ruam 2: Teeb Server

Teeb Server
Teeb Server
Teeb Server
Teeb Server
Teeb Server
Teeb Server

Thawj qhov xav tau los teeb tsa lub server yog teeb tsa Mosquitto MQTT Broker Service. Mosquitto yog qhov kev pabcuam uas muab lub hauv paus rau kev sib txuas lus ntawm txhua lub cuab yeej hauv qhov kev ua si. Qhov no tso cai rau tus neeg rau zaub mov xa xov mus rau txhua tus Pis txuas nrog rau qhov kev pabcuam. Hauv lub davhlau ya nyob twg, khiav cov lus txib hauv qab no.

sudo apt-tau hloov tshiab

sudo apt-tau hloov tshiab sudo apt-tau nruab mosquitto -y sudo apt-tau nruab python3-pip -y sudo pip3 nruab paho-mqtt

Qee qhov GUI rau cov neeg rau zaub mov tau tsim los siv GUI tus tsim qauv hu ua Pygubu. Qhov no tuaj yeem ntsia tau los ntawm kev khiav:

pip3 nruab pygubu

Xav paub ntau ntxiv txog pygubu tuaj yeem nrhiav tau ntawm

Thaum MQTT thiab Pygubu raug teeb tsa, tsim cov npe tshiab thiab luam cov ntawv txuas nrog. Cov npe yuav tsum suav nrog:

  • ltag.py
  • pregame.py
  • game_statistics.py
  • gvars.py
  • pygubu.ui
  • pygubu_limited.ui
  • tsev.png
  • tus kheej.png
  • cov yeeb ncuab.png
  • laser-j.webp" />

Nco tseg: Cov duab txuas uas siv hauv txoj haujlwm no tsis tau tsim los ntawm pab pawg txhim kho thiab yog li ntawd tsis lees paub kev sau ntawv.

Kauj Ruam 3: Teeb Raspberry Pi

Raspberry Pi Teeb
Raspberry Pi Teeb

Cov kauj ruam no yuav tsum tau rov ua dua ntawm txhua tus Raspberry Pis.

1. Nruab Operating System

Ua ntej, pib nrog kev teeb tsa tshiab ntawm Raspbian. Peb yuav pom zoo siv Lite version raws li nws tsawg dua rau Pi tuav, tab sis ob qho tib si yuav tsum ua haujlwm zoo. Kev rub tawm tuaj yeem pom ntawm

2. Nruab MQTT

Tom ntej no peb yuav tsum Nruab MQTT tus pabcuam kev pabcuam. Peb yuav siv Mosquitto rau qhov no. Hauv lub davhlau ya nyob twg, khiav cov lus txib hauv qab no.

sudo apt-tau hloov tshiab

sudo apt-tau hloov tshiab sudo apt-tau nruab mosquitto -y sudo apt-tau nruab python3-pip -y sudo pip3 nruab paho-mqtt

Mosquitto yog qhov kev pabcuam uas muab lub hauv paus rau kev sib txuas lus ntawm txhua lub cuab yeej hauv qhov kev ua si. Qhov no tso cai rau tus neeg rau zaub mov xa xov mus rau txhua tus Pis txuas nrog rau qhov kev pabcuam.

3. Nruab I2C Cov Cuab Yeej

Cov lus txib hauv qab no yuav teeb tsa cov tsev qiv ntawv uas siv rau lub vijtsam LCD.

sudo apt-tau nruab -y python3-smbus i2c-tools

sudo apt -tau nruab rpi.gpio -y

Qhov chaw nyob i2c yuav tsum tau hloov pauv hauv lcddriver.py cov ntaub ntawv. Qhov chaw nyob tuaj yeem pom los ntawm kev nkag mus rau cov lus txib hauv qab no.

i2cdetect -y 1

4. Nruab thiab teeb tsa LIRC

Tsim cov npe tshiab thiab rub cov ntawv txuas nrog rau qhov chaw no.

Feem ntau Internet browser yuav tsis rub cov ntawv yam tsis muaj txuas ntxiv. Txhawm rau kom nyob ib puag ncig qhov no, ob ntawm cov ntaub ntawv tau rub nrog txuas ntxiv mus ib ntus. Ob qho "lircrc.deleteExtension" thiab "modules.deleteExtension" yuav tsum yog qhov txuas ntxiv-tsawg dua thiab cov ntaub ntawv yuav tsum tau hloov pauv mus rau "lircrc" thiab "modules" tom qab lawv tau ua tiav rub tawm.

Cov kauj ruam no teeb tsa thiab teeb tsa kev vam khom rau Linux Infrared Remote Control (LIRC) pob. Yog xav paub ntxiv saib cov lus qhia rau teeb tsa LIRC ntawm:

Ua ntej teeb tsa lub tsev qiv ntawv, tom qab ntawd luam cov ntawv suav nrog rau lawv cov npe raws li qhia hauv cov lus txib hauv qab no. Thaum kawg, rov pib dua qhov kev pabcuam lircd.

sudo apt-tau nruab python3-lirc -y

Los ntawm cov npe tsim tshiab ua raws cov lus txib hauv qab no kom txav cov ntawv teeb tsa mus rau lawv qhov chaw raug.

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

sudo mv modules /thiab /

Tom qab ntawd rov pib dua qhov kev pabcuam lircd los ntawm kev khiav:

sudo /etc/init.d/lircd rov pib dua

Tom ntej no, kho cov ntaub ntawv /boot/config.txt thiab ntxiv kab hauv qab no

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

Rov pib dua koj tus pi kom tso cai rau cov kev hloov pauv mus.

sudo rov pib dua

5. Pab kom I2C thiab hloov kho CLIENT rau txhua tus neeg ua si

Tom ntej no, peb yuav pab kom I2C interface. Qhov no tuaj yeem ua tiav siv

sudo raspi-teeb tsa

thiab ua kom lub I2C nyob rau hauv "interface xaiv" ntawv qhia zaub mov.

6. Hloov Player CLIENT thiab LTSERVER

Cov npe game yuav tsum tam sim no suav nrog plaub daim ntawv ntxiv.

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

Kauj ruam kawg hauv kev teeb tsa pi yog muab txhua tus pi tus lej CLIENT thiab ntxiv qhov chaw ntawm tus neeg rau zaub mov. Qhov no ua tiav los ntawm kev kho cov ntawv "player.py" nrog rau txhua tus pi kom lawv txhua tus muaj tus lej sib txawv. Tus lej CLIENT tau muab rau kab 3 ntawm player.py. Muab tus thawj pi los ua tus neeg siv khoom "1", tus thib ob yog "2", thiab tus thib peb yog tus neeg siv khoom "3".

LTSERVER kab yuav tsum raug hloov mus rau tus IP chaw nyob ntawm tus neeg rau zaub mov. Qhov no pom los ntawm kev ntaus 'ifconfig | grep "inet addr" 'hauv lub davhlau ya nyob twg ntawm lub computer server.

Kauj Ruam 4: Phom Sib Ntsib

Phom Los Ua Ke
Phom Los Ua Ke
Phom Los Ua Ke
Phom Los Ua Ke

Txuas mus rau xaim txhua rab phom raws li daim duab kab hluav taws xob thiab cov phiaj xwm saum toj no.

Txhua ntawm cov khoom siv txuas nrog txuas rau GPIO pins hauv qab ntawm Pi Zero:

  • Buzzer: GPIO5
  • Tus lej: GPIO26
  • Rov qab qhib dua: GPIO12
  • IR Transmitter: GPIO25
  • IR Tau Txais: GPIO18
  • Liab LED: GPIO17
  • GREEN LED: GPIO27
  • Xiav LED: GPIO22
  • I2C_SDA: GPIO2
  • I2C_SCL: GPIO3

Saib cov schematic kom paub meej ntxiv.

Yog tias xav tau, cov phom laser tuaj yeem luam tawm 3D siv cov qauv ua piv txwv cov ntawv. Nco ntsoov tias ob ntawm "front1STL. STL" cov ntaub ntawv yuav tsum luam tawm.

Kauj Ruam 5: Game Game

Kev Ua Si
Kev Ua Si
Kev Ua Si
Kev Ua Si
Kev Ua Si
Kev Ua Si

Qhov kev ua si tau pib los ntawm kev khiav "ltag.py" cov ntaub ntawv ntawm tus neeg rau zaub mov. Thaum qhov no ua tiav, txhua tus neeg ua si tuaj yeem txuas rau lub server los ntawm kev ua lawv cov ntawv "player.py".

Nco tseg: Tom qab ntsaws rau hauv lub roj teeb pob, nws tuaj yeem siv sijhawm li ib feeb rau tus pi kom khau raj.

Nws kuj tseem yuav muaj txiaj ntsig ntxiv rau txoj haujlwm cron uas tau sau cov ntaub ntawv player.py ib zaug thaum pib pi. Peb muaj lub sijhawm nyuaj ua qhov no los ua haujlwm thiab xaus nrog kev ntxiv kab rau "/etc/rc.local" cov ntaub ntawv ntawm txhua tus Pis kom khiav "player.py" cov ntawv. Qhov no tso cai rau qhov kev ua si pib yam tsis tas yuav muaj SSH rau hauv Pi's los sau cov ntawv ua si.

Thaum qhov kev ua si tau pib nrog cov neeg ua si npaj, GUI yuav tshwm sim uas tso cai rau qee qhov kev teeb tsa game los teeb tsa. Qhov kev ua si pib tom qab khawm pib raug nias.

Tom qab txhua qhov kev ua si, qhov xaus GUI yuav tshwm nrog cov txheeb cais txog kev ua si yav dhau los suav nrog cov cim npe, ntiaj teb feem pua thiab lub sijhawm ua si.

Nco tseg: Vim tias muaj kev txwv hauv cov tsev qiv ntawv software, qhov raug tshaj tawm cov ntawv qhia chaw tsis yog tus sawv cev ntawm cov cim laser tiag. Hauv qhov hloov tshiab tam sim no, Cov Neeg Ua Haujlwm Tshaj Tawm Tshaj Tawm cov duab tsuas yog siv rau kev zoo nkauj hauv kev cia siab ntawm kev hloov pauv yav tom ntej nrog kev siv qhov chaw nyob tiag.

Kauj Ruam 6: Kev txhim kho yav tom ntej

Kev txhim kho yav tom ntej
Kev txhim kho yav tom ntej
Kev txhim kho yav tom ntej
Kev txhim kho yav tom ntej

Zuag qhia tag nrho, txoj haujlwm yog qhov ua tiav loj. Nrog txoj kev, peb xav txog ob peb yam ntxiv uas yuav ntxiv rau tsab ntawv yav tom ntej.

  • Sturdier txhais tsim rau 3D luam phom
  • Xaus GUI cov ntawv qhia zaub mov kom tso tawm txheeb cais los ntawm kev ua si yav dhau los
  • Ntau tus Infrared txais uas tuaj yeem txuas rau cov neeg ncaws pob lub tsho
  • Hom kev ua si ntxiv uas tuaj yeem xaiv hauv Pregame GUI
  • Ntau qhov chaw cim npe raug qhov tseeb ntawm cov players stats nplooj ntawv

Pom zoo: