Kazalo:
- 1. korak: Materiali
- 2. korak: Namestitev strežnika
- 3. korak: Nastavitev Raspberry Pi
- 4. korak: Sestavljanje pištole
- 5. korak: Igranje iger
- 6. korak: Prihodnje izboljšave
Video: Infrardeča laserska oznaka z Raspberry Pi Zero: 6 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Ta Instructable bo predstavil postopek ustvarjanja igre z infrardečo lasersko oznako z uporabo osnovnega strežniškega računalnika in ničle Raspberry Pi za vsakega igralca. Pri komunikaciji s strežnikom se projekt močno opira na povezavo Wifi, zaradi česar je Pi odličen kandidat.
Strežnik, uporabljen v tem projektu, je bil stari namizni računalnik z Linuxom. Računalnik ne potrebuje nič posebnega in verjetno bi ga bilo mogoče zagnati tudi z Raspberry Pi 3. Strežnik in vsaka pi ničla morata biti med igranjem igre povezana z istim omrežjem.
1. korak: Materiali
Opis in nekaj povezav do potrebnih materialov so prikazani spodaj. Spodnji seznam materiala je za 3 puške.
- Strežniški računalnik (1)
- Raspberry Pi Zero W (3) Adafruit
- Najmanj 4 GB SD kartice (3) Amazon
- IR LED oddajnik (3)
- IR sprejemnik (6) Amazon
- Rdeča LED (3)
- Modra LED (3)
- Zelena LED (3)
- Pasivni zvočni signal (3) Amazon
- Potisni gumb (6)
- LCD zaslon 16x2 z vmesnikom I2C (3) Amazon
- Prenosni baterijski paket (3) Amazon
- Mikro na običajen USB kabel (3) Amazon
- PN2222 Tranzistor (3)
- 100Ω upor (3)
- 1kΩ upor (9)
Izbirni predmeti:
- Telovnik (3) Amazon
- Podaljšek trakovnega kabla (3) Amazon
V tem projektu smo na koncu vzeli IR LED oddajnik iz starega kompleta pištol za lasersko označevanje, ki so imeli okoli oddajnika črni stožec, da bi olajšali strel vsake pištole. Vendar bi moral delovati vsak splošni oddajnik.
Poleg zgoraj naštetih predmetov so bile laserske pištole 3D natisnjene. Ta projekt bi torej zahteval tudi dostop do 3D tiskalnika in žarilne nitke. Na splošno je za tri pištole skupaj prišlo približno 350 dolarjev.
2. korak: Namestitev strežnika
Prva stvar, ki je potrebna za nastavitev strežnika, je namestitev storitve posrednika Mosquitto MQTT. Mosquitto je storitev, ki ponuja okvir za komunikacijo med vsako od naprav v igri. To strežniku omogoča pošiljanje sporočil vsakemu Pisu, ki je povezan s storitvijo. V terminalu zaženite naslednje ukaze.
sudo apt-get posodobitev
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 namestite paho-mqtt
Nekateri grafični vmesniki za strežnik so bili ustvarjeni z oblikovalcem grafičnega vmesnika, imenovanim Pygubu. To lahko namestite tako, da zaženete:
pip3 namestite pygubu
Več informacij o pygubu najdete na
Ko sta MQTT in Pygubu nameščena, ustvarite nov imenik in kopirajte priložene datoteke. Imenik mora vsebovati:
- ltag.py
- pregame.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- home.png
- self.png
- sovražniki.png
- laser.jpg
Opomba: Priloženih slik, uporabljenih v tem projektu, ni ustvarila razvojna ekipa in zato ne zahtevajo avtorstva.
3. korak: Nastavitev Raspberry Pi
Ta korak bo treba ponoviti na vsakem malinovem psu.
1. Namestite operacijski sistem
Najprej začnite z novo namestitvijo Raspbiana. Priporočamo uporabo različice Lite, saj Pi manj upravlja, vendar bi morala obe različici delovati v redu. Prenos najdete na
2. Namestite MQTT
Nato moramo namestiti storitev posrednika MQTT. Za to bomo uporabili Mosquitto. V terminalu zaženite naslednje ukaze.
sudo apt-get posodobitev
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 namestite paho-mqtt
Mosquitto je storitev, ki zagotavlja okvir za komunikacijo med vsako od naprav v igri. To strežniku omogoča pošiljanje sporočil vsakemu Pisu, ki je povezan s storitvijo.
3. Namestite Orodja I2C
Naslednji ukaz bo namestil knjižnice, ki se uporabljajo za zaslon LCD.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt -get install rpi.gpio -y
Naslov i2c bo morda treba spremeniti v datoteki lcddriver.py. Naslov lahko poiščete tako, da vnesete naslednji ukaz.
i2cdetect -y 1
4. Namestite in konfigurirajte LIRC
Ustvarite nov imenik in naložite priložene datoteke na to mesto.
Večina internetnih brskalnikov ne prenese datotek brez razširitev. Če želite to odpraviti, sta bili dve datoteki naloženi z začasnimi razširitvami. Tako "lircrc.deleteExtension" kot "modules.deleteExtension" bi morala biti dejansko brez razširitev, datoteke pa bi morali po uspešnem prenosu preimenovati v "lircrc" in "module".
Ta korak namesti in konfigurira odvisnosti za paket infrardečega daljinskega upravljalnika Linux (LIRC). Za več informacij glejte vadnico za nastavitev LIRC na:
Najprej namestite knjižnico, nato kopirajte vključene datoteke v ustrezne imenike, kot je prikazano v spodnjih ukazih. Na koncu znova zaženite storitev lircd.
sudo apt-get install python3-lirc -y
Iz novo ustvarjenega imenika izvedite naslednje ukaze, da premaknete konfiguracijske datoteke na njihova prava mesta.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/
moduli sudo mv /etc /
Nato znova zaženite storitev lircd tako, da zaženete:
sudo /etc/init.d/lircd ponovni zagon
Nato uredite datoteko /boot/config.txt in dodajte naslednjo vrstico
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Znova zaženite pi, da bodo spremembe začele veljati.
sudo ponovni zagon
5. Omogočite I2C in uredite CLIENT za vsakega igralca
Nato bomo omogočili vmesnik I2C. To je mogoče storiti z uporabo
sudo raspi-config
in omogočanje I2C v meniju "možnosti vmesnika".
6. Urejanje predvajalnika CLIENT in LTSERVER
Imenik iger mora zdaj vsebovati štiri preostale datoteke.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- player.py
Zadnji korak pri konfiguraciji pi je, da vsakemu pi dodelite številko KLIJENTE in dodate lokacijo strežnika. To naredite tako, da za vsako pi uredite priloženo datoteko "player.py", tako da imajo vsi različno številko KLIJENTA. Številka KLIJENTA je dodeljena v 3. vrstici player.py. Prvemu pi dodelite stranko "1", drugo "2" in tretjo stranko "3".
Vrstico LTSERVER je treba spremeniti v naslov IP strežnika. To ugotovite tako, da vnesete 'ifconfig | grep "inet addr" 'v terminalu strežniškega računalnika.
4. korak: Sestavljanje pištole
Priključite vsako pištolo v skladu s shemo ožičenja in zgornjo shemo.
Vsaka zunanja naprava je povezana z naslednjimi zatiči GPIO na Pi Zero:
- Zvočni signal: GPIO5
- Sprožilec: GPIO26
- Ponovno naloži: GPIO12
- IR oddajnik: GPIO25
- IR sprejemniki: GPIO18
- RDEČA LED: GPIO17
- ZELENA LED: GPIO27
- MODRA LED: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Za več podrobnosti si oglejte shemo.
Po želji lahko laserske pištole 3D natisnemo z uporabo priloženih datotek s koračnimi modeli. Upoštevajte, da morata biti natisnjeni dve datoteki "front1STL. STL".
5. korak: Igranje iger
Igra se zažene z zagonom datoteke "ltag.py" na strežniku. Ko je to storjeno, se lahko vsak od igralcev poveže s strežnikom tako, da zažene svojo datoteko "player.py".
Opomba: Po priključitvi akumulatorja lahko traja do ene minute, da se pi zažene.
Morda bi bilo koristno dodati tudi opravilo cron, ki samodejno zažene datoteko player.py, ko se pi zažene. To smo težko uresničili in na koncu smo dodali vrstico v datoteko "/etc/rc.local" na vsakem pisu za zagon datoteke "player.py". To omogoča, da se igra zažene, ne da bi morali vnesti SSH v Pi za zagon predvajalnikove skripte.
Ko se igra začne, ko so igralci pripravljeni, se prikaže grafični vmesnik, ki omogoča konfiguriranje nekaterih nastavitev igre. Igra se začne po pritisku gumba Start.
Po vsaki igri se prikaže končni grafični vmesnik s statistiko o predhodni igri, vključno z oznakami, globalnimi odstotki in trajanjem igre.
Opomba: Zaradi omejitev v knjižnicah programske opreme lokacije oznak poročila o točnosti niso reprezentativne za dejanske laserske oznake. V trenutni različici je slika poročila o natančnosti predvajalnika zgolj estetska v upanju na prihodnjo različico z dejansko izvedbo lokacije oznake.
6. korak: Prihodnje izboljšave
Na splošno je bil projekt velik uspeh. Ob tem smo razmišljali o nekaj dodatnih funkcijah, ki bi jih lahko dodali prihodnji izdaji.
- Čvrstejša oblika sprožilca za 3D tiskane pištole
- Končni spustni meni GUI za prikaz statistike preteklih iger
- Več infrardečih sprejemnikov, ki bi jih lahko pritrdili na telovnike igralcev
- Dodatni načini igre, ki jih lahko izberete v grafičnem vmesniku Pregame
- Natančnejši algoritem lokacije oznake na strani s statistiko igralcev
Priporočena:
Infrardeča kamera za igre Raspberry Pi: 6 korakov
Infrardeča igralna kamera Raspberry Pi: Pravkar sem začel raziskovati Raspberry Pi in me je navdušil modul infrardeče kamere Pi. Živim na nekoliko oddaljenem območju in sem videl znake različnih divjih živali, ki ponoči raziskujejo okoli hiše. Imel sem idejo o ustvarjanju črnuha
Vivre Avec Nabaztag: Oznaka: Oznaka: 14 korakov
Vivre Avec Nabaztag: Tag: Tag: Voilà! Vous avez démonté votre Nabaztag (ou Nabaztag: Tag), débranché, rebranché, vissé, copié le logiciel, paramétré le wifi? Nabaztag est branché. C'est parti
Samodejna infrardeča pipa za vodo pri 5 USD: 12 korakov (s slikami)
Samodejna infrardeča pipa za vodo pri 5 USD: V tem projektu bomo naredili samodejno pipo za vklop in izklop vode pod 5 USD. Za izdelavo te samodejne infrardeče pipe za vodo bomo uporabili IR senzor in stikalo za vodo. Za izdelavo te samodejne infrardeče pipe za vodo ne uporabljate nobenega mikrokrmilnika
Infrardeča tipkovnica Raspberry Pi: 8 korakov
Infrardeča tipkovnica Raspberry Pi: Vedno sem imel rad glasbo, zato sem razmišljal o tem, kaj bi naredil kot svoj prvi projekt Raspberry Pi. Seveda sem mu želel dati dodaten dotik ali bolje, brez dotika! S trenutno krizo Covid-19 in vso krizo
Arduino laserska oznaka - oznaka Duino: 11 korakov (s slikami)
Arduino Laser Tag - Duino Tag: Duino tagger - Splošni uvod Duino tag je sistem laserskih oznak, ki temelji na arduinu. Končno sistem laserskih oznak, ki ga je mogoče spremeniti in vdreti, dokler ne dobite popolnega sistema laserskih oznak za pisarniške bojne predmete, gozdne vojne in predmestja