Cov txheej txheem:
- Kauj ruam 1: Cov ntaub ntawv
- Kauj ruam 2: Teeb Server
- Kauj Ruam 3: Teeb Raspberry Pi
- Kauj Ruam 4: Phom Sib Ntsib
- Kauj Ruam 5: Game Game
- Kauj Ruam 6: Kev txhim kho yav tom ntej
Video: Infrared Laser Tag Nrog Raspberry Pi Xoom: 6 Cov Kauj Ruam (nrog Duab)
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-31 10:20
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
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
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
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
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
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
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:
Cov Duab Duab Duab thiab Cov Duab 1: 4 Cov Kauj Ruam (nrog Duab)
Cov Duab Duab Cubes thiab Cov Duab 1: Thaum sim nrog qee cov ntoo ntoo thiab cov duab los qhia, kuv pom ob peb txoj hauv kev los ua cov voos thiab lwm yam duab los ntawm cov khoom siv yooj yim. Los ntawm kev muab cov no los ua Cov Ntawv Qhia, Kuv vam tias yuav txhawb nqa kev ua si thiab kev kawm. Kev hloov pauv ntawm qhov kev qhia no
DIY Ntse Teeb Nrog Raspberry Pi Xoom: 4 Cov Kauj Ruam (nrog Duab)
DIY Ntse Teeb Nrog Raspberry Pi Zero: Ntse teeb tau dhau los ua neeg nyiam dua. Cov teeb zoo li no feem ntau yog teeb LED uas tuaj yeem tswj hwm WiFi lossis Bluetooth. Cov xim, saturation thiab ci ci tuaj yeem hloov pauv siv lub xov tooj smartphone. Ib yam uas kuv paub yog, uas feem ntau ntse li
Cov Duab Duab Duab Duab, WiFi Txuas - Raspberry Pi: 4 Cov Kauj Ruam (nrog Duab)
Cov Duab Duab Duab Duab, WiFi Txuas - Raspberry Pi: Nov yog txoj hauv kev yooj yim heev thiab tus nqi qis mus rau cov duab thav duab digital - nrog qhov zoo ntawm kev ntxiv /tshem cov duab hla WiFi ntawm 'nyem thiab luag' siv (pub dawb) xa cov ntaub ntawv . Nws tuaj yeem siv tau los ntawm qhov me me £ 4.50 Pi Zero. Koj tseem tuaj yeem hloov pauv
Cov Roj Teeb Lemon Me, thiab Lwm Cov Qauv rau Xoom Tus Nqi Hluav Taws Xob thiab Coj Lub Teeb Tsis Muaj Roj Teeb: 18 Kauj Ruam (nrog Duab)
Cov Roj Teeb Lemon Me, thiab Lwm Cov Qauv rau Xoom Tus Nqi Hluav Taws Xob thiab Coj Lub Teeb Tsis Muaj Roj Teeb: Nyob zoo, tej zaum koj twb paub txog txiv qaub roj teeb lossis roj teeb roj teeb. Lawv tau siv ib txwm siv rau lub hom phiaj kev kawm thiab lawv siv cov tshuaj tiv thaiv hluav taws xob uas tsim hluav taws xob qis, feem ntau pom nyob rau hauv daim ntawv ntawm cov coj lossis lub teeb ci ci. Cov no
Tus Xib Hwb Zoo/Qhib Lub Hwj Huam Sawb rau Koj Lub PC [mod] (Shutdown Tab sis Xoom Standby): 6 Cov Kauj Ruam (nrog Duab)
Smart Master/Slave Power Sawb rau Koj Lub PC [mod] (kaw nws tus kheej Tab sis Xoom Standby): Tawm yuav tsum tawm. Thiab kev siv tau yuav tsum yog qhov zoo. Ua kom luv: Peb tsis pom cov khoom raug nyob ntawd, yog li peb tau xaus qhov hloov pauv ib qho. Peb yuav qee qhov "Zog Txuag" fais fab tuag los ntawm Zweibrueder. Cov cuab yeej siv tau ruaj khov thiab tsis heev e