INHOUDSOPGAWE:
- Stap 1: materiaal
- Stap 2: bedieneropstelling
- Stap 3: Opstelling van Framboos Pi
- Stap 4: geweerversameling
- Stap 5: Game Play
- Stap 6: Toekomstige verbeterings
Video: Infrarooi lasermerk met Raspberry Pi Zero: 6 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Hierdie instruksie sal die proses deurloop om 'n infrarooi laser tag -speletjie te skep met 'n basiese bedienerrekenaar en 'n Raspberry Pi -nul vir elke speler. Die projek maak sterk staat op 'n Wifi -verbinding om met die bediener te kommunikeer, wat die Pi 'n uitstekende kandidaat maak.
Die bediener wat in hierdie projek gebruik is, was 'n ou tafelrekenaar met Linux. Die rekenaar hoef niks spesiaals te wees nie, en kan waarskynlik selfs vanaf 'n Raspberry Pi 3. Die bediener en elk van die pi zero's moet tydens die spel aan dieselfde netwerk gekoppel wees.
Stap 1: materiaal
Die beskrywing en 'n paar skakels vir die benodigde materiaal word hieronder getoon. Die materiaallys hieronder is vir 3 gewere.
- Bedienerrekenaar (1)
- Framboos Pi Zero W (3) Adafruit
- Minstens 4 GB SD -kaart (3) Amazon
- IR LED -sender (3)
- IR -ontvanger (6) Amazon
- Rooi LED (3)
- Blou LED (3)
- Groen LED (3)
- Passiewe gonser (3) Amazon
- Drukknoppie (6)
- LCD 16x2 skerm met I2C -adapter (3) Amazon
- Draagbare battery (3) Amazon
- Mikro na gewone USB -kabel (3) Amazon
- PN2222 Transistor (3)
- 100Ω Weerstand (3)
- 1kΩ Weerstand (9)
Opsionele items:
- Vest (3) Amazon
- Lintkabelverlenging (3) Amazon
In hierdie projek het ons uiteindelik die IR LED -sender geneem uit 'n ou stel laser -etiketgewere met 'n swart kegel om die sender om die skoot van elke geweer te help vernou. Enige algemene sender moet egter werk.
Benewens die bogenoemde items, is die laserpistole self 3D gedruk. Hierdie projek vereis dus ook toegang tot 'n 3D -drukker en filament. In totaal het die totaal vir drie gewere ongeveer $ 350 beloop.
Stap 2: bedieneropstelling
Die eerste ding wat nodig is om die bediener op te stel, is om die Mosquitto MQTT Broker Service te installeer. Mosquitto is die diens wat 'n raamwerk bied vir kommunikasie tussen elk van die toestelle in die spel. Dit stel die bediener in staat om boodskappe te stuur na elk van die PIS's wat aan die diens gekoppel is. Voer die volgende opdragte in die terminale uit.
sudo apt-get update
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 installeer paho-mqtt
Sommige van die GUI's vir die bediener is geskep met 'n GUI -ontwerper genaamd Pygubu. Dit kan geïnstalleer word deur:
pip3 installeer pygubu
Meer inligting oor pygubu kan gevind word op
Sodra MQTT en Pygubu geïnstalleer is, skep 'n nuwe gids en kopieer die aangehegte lêers. Die gids moet die volgende bevat:
- ltag.py
- voorspel.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- home.png
- self.png
- vyande.png
- laser.jpg
Opmerking: die aangehegte beelde wat in hierdie projek gebruik is, is nie deur die ontwikkelingspan geskep nie en maak dus nie aanspraak op outeurskap nie.
Stap 3: Opstelling van Framboos Pi
Hierdie stap moet herhaal word op elk van die Framboospis.
1. Installeer bedryfstelsel
Begin eers met 'n nuwe installering van Raspbian. Ons beveel aan dat u die Lite -weergawe gebruik, aangesien dit minder is vir die Pi om te hanteer, maar beide weergawes behoort goed te werk. Die aflaai kan gevind word op
2. Installeer MQTT
Vervolgens moet ons die MQTT -makelaarsdiens installeer. Ons sal Mosquitto hiervoor gebruik. Voer die volgende opdragte in die terminale uit.
sudo apt-get update
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 installeer paho-mqtt
Mosquitto is die diens wat 'n raamwerk bied vir kommunikasie tussen elk van die toestelle in die spel. Dit stel die bediener in staat om boodskappe te stuur na elk van die Pis wat aan die diens gekoppel is.
3. Installeer I2C Tools
Die volgende opdrag sal biblioteke installeer wat vir die LCD -skerm gebruik word.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt -get install rpi.gpio -y
Die i2c -adres moet moontlik in die lcddriver.py -lêer verander word. U kan die adres vind deur die volgende opdrag in te voer.
i2cdetect -y 1
4. Installeer en konfigureer LIRC
Skep 'n nuwe gids en laai die aangehegte lêers af na hierdie plek.
Die meeste internetblaaiers sal nie lêers aflaai sonder uitbreidings nie. Om dit te vermy, is twee van die lêers opgelaai met tydelike uitbreidings. Beide die "lircrc.deleteExtension" en "modules.deleteExtension" behoort in werklikheid uitbreidingloos te wees en die lêers moet hernoem word na "lircrc" en "modules" nadat dit suksesvol afgelaai is.
Hierdie stap installeer en konfigureer die afhanklikhede van die Linux Infrared Remote Control (LIRC) pakket. Vir meer inligting, sien die handleiding vir die opstel van LIRC op:
Installeer eers die biblioteek en kopieer dan die meegeleverde lêers na hul onderskeie gidse soos in die onderstaande opdragte getoon. Laastens, herbegin die lircd -diens.
sudo apt-get install python3-lirc -y
Voer die volgende opdragte uit die nuutgeskepte gids uit om die konfigurasielêers na hul korrekte liggings te skuif.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/
sudo mv modules /etc /
Herbegin dan die lircd -diens deur te werk:
sudo /etc/init.d/lircd herbegin
Wysig dan die /boot/config.txt -lêer en voeg die volgende reël by
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Herlaai u pi sodat die veranderinge in werking kan tree.
sudo herlaai
5. Aktiveer I2C en wysig KLIËNT vir elke speler
Vervolgens maak ons die I2C -koppelvlak moontlik. Dit kan gedoen word met behulp van
sudo raspi-config
en maak die I2C moontlik in die menu "koppelvlakopsies".
6. Wysig Player CLIENT en LTSERVER
Die spelgids moet nou die vier oorblywende lêers bevat.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- speler.py
Die laaste stap in die opstel van die pi is om aan elke pi 'n KLIENT nommer toe te ken en die ligging van die bediener by te voeg. Dit word gedoen deur die ingesluit "player.py" -lêer vir elke pi te wysig sodat hulle almal 'n ander KLIENTENommer het. Die KLIENT nommer word toegeken op reël 3 van player.py. Wys die eerste pi aan as kliënt "1", die tweede as "2" en die derde as kliënt "3".
Die LTSERVER -reël moet verander word na die IP -adres van die bediener. Dit word gevind deur 'ifconfig | grep "inet addr" 'in die terminale van die bedienerrekenaar.
Stap 4: geweerversameling
Gaan voort om elk van die gewere te bedraad volgens die bedradingsdiagram en die skema hierbo.
Elke randapparatuur is gekoppel aan die volgende GPIO -penne op die Pi Zero:
- Gonser: GPIO5
- Sneller: GPIO26
- Herlaai: GPIO12
- IR -sender: GPIO25
- IR -ontvangers: GPIO18
- ROOI LED: GPIO17
- GROEN LED: GPIO27
- BLOU LED: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Sien die skema vir meer besonderhede.
As u wil, kan die laserpistole 3D -gedruk word met behulp van die ingesluit stap -model lêers. Hou in gedagte dat twee van die "front1STL. STL" lêers gedruk moet word.
Stap 5: Game Play
Die spel word begin deur die 'ltag.py' -lêer op die bediener uit te voer. Sodra dit gedoen is, kan elkeen van die spelers aan die bediener koppel deur hul onderskeie 'player.py' -lêer uit te voer.
Opmerking: nadat die battery ingeprop is, kan dit 'n minuut neem voordat die pi begin.
Dit kan ook handig wees om 'n cron -taak by te voeg wat die speler.py -lêer outomaties uitvoer sodra die pi begin. Ons het dit moeilik gehad om dit aan die gang te kry en het uiteindelik 'n reël bygevoeg by die '/etc/rc.local' lêer op elk van die Pis om die 'player.py' lêer uit te voer. Hierdeur kan die spel begin word sonder dat u in die Pi's moet inskakel om die spelerskrip te laat loop.
Sodra die spel begin is met die spelers gereed, sal 'n GUI verskyn waarmee 'n paar van die spelinstellings gekonfigureer kan word. Die spel begin nadat die Start -knoppie ingedruk is.
Na elke wedstryd verskyn 'n eindige GUI met statistieke oor die vorige wedstryd, insluitend etikette, globale persentasies en duur van die spel.
Let wel: As gevolg van die beperkinge in sagtewarebiblioteke, is die ligging van die akkuraatheidsverslag nie verteenwoordigend van die werklike lasermerk nie. In die huidige weergawe is die beeld van die speler -akkuraatheidsverslag uitsluitlik bedoel vir estetika in die hoop op 'n toekomstige weergawe met die werklike implementering van die tag -ligging.
Stap 6: Toekomstige verbeterings
Oor die algemeen was die projek 'n groot sukses. Onderweg het ons aan 'n paar ekstra funksies gedink wat moontlik by 'n toekomstige uitgawe gevoeg kan word.
- Sterker snellerontwerp vir die 3D -gedrukte gewere
- Beëindig die GUI-keuselys om statistieke van vorige speletjies te vertoon
- Meer infrarooi ontvangers wat aan die spelers se baadjies geheg kan word
- Bykomende spelmetodes wat gekies kan word in die PREGAME GUI
- Meer akkurate tag -ligging -algoritme op die spelersstatistiekbladsy
Aanbeveel:
Die gebruik van infrarooi sensor met Arduino: 8 stappe (met foto's)
Die gebruik van infrarooi sensor met Arduino: wat is 'n infrarooi (ook bekend as IR) sensor? 'N IR -sensor is 'n elektroniese instrument wat IR -seine in spesifieke frekwensiebepalings wat deur standaarde gedefinieer word, skandeer en dit omskakel in elektriese seine op sy uitsetpen (tipies seinpen genoem) . Die IR -sein
Boe-Bot met infrarooi detektore: 12 stappe (met foto's)
Boe-Bot met infrarooi detektore: hierdie instruksies sal demonstreer hoe u 'n Boe-Bot kan bou en kodeer wat deur 'n doolhof kan navigeer met infrarooi detektore om hindernisse te vermy. Dit is 'n maklik om te volg gids wat dit moontlik maak om maklik aan te pas by u behoeftes. Dit vereis 'n basiese en
Bou Kodi / OSMC Infrarooi Ontvanger en Herstel Hoed vir Raspberry Pi: 5 stappe (met foto's)
Bou Kodi / OSMC Infrarooi Ontvanger en Herstel Hoed vir Raspberry Pi: Bou 'n Kodi / OSMC IR Ontvanger en Herstel hoed vir die Raspberry Pi 3 Vanuit 'n kamer wil ek: Beheer Kodi / OSMC wat op 'n Framboos Pi werk met 'n afstandsbediening Kyk of die Raspberry Pi ook aangeskakel is, ek wil graag hê dat my gesin
Hoe om 'n infrarooi kamera te maak met 'n IR -LED -lig: 5 stappe (met foto's)
Hoe om 'n infrarooi kamera te maak met 'n IR -LED -lig: ek het 'n infrarooi kamera besef om dit in 'n bewegingsopname -stelsel te gebruik. Hiermee kan u ook hierdie soort koel beelde kry: blink voorwerpe in die kameravis wat normaal is in werklikheid. U kan redelike goeie resultate kry teen 'n goedkoop prys. Hy
I2C infrarooi afstandsbediening met die Arduino: 8 stappe (met foto's)
I2C infrarooi afstandsbediening met die Arduino: aanhef Hierdie instruksies bevat besonderhede oor hoe om 'n universele afstandsbediening met I2C vir die koppelvlak te skep. Hoe vreemd sê jy met 'n I2C -slawe -toestel? Ja, 'n I2C -slawe -toestel. Dit is omdat die akkurate tydsberekening van IR -pakkies baie veeleisend is en