Sisällysluettelo:
- Vaihe 1: Materiaalit
- Vaihe 2: Palvelimen asennus
- Vaihe 3: Raspberry Pi -asennus
- Vaihe 4: Pistoolin kokoonpano
- Vaihe 5: Pelaaminen
- Vaihe 6: Tulevia parannuksia
Video: Infrapuna -lasertunniste Raspberry Pi Zero: 6 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tämä opastettava opastaa prosessin infrapunalaser -pelin luomiseen käyttämällä peruspalvelintietokonetta ja Raspberry Pi -nollaa jokaiselle pelaajalle. Projekti perustuu vahvasti Wifi -yhteyteen kommunikoidakseen palvelimen kanssa, mikä tekee Pi: stä erinomaisen ehdokkaan.
Tässä projektissa käytetty palvelin oli vanha pöytätietokone, jossa oli Linux. Tietokoneen ei tarvitse olla mikään erityinen, ja sitä voidaan käyttää jopa Raspberry Pi 3: sta. Palvelin ja jokainen pi nolla on liitettävä samaan verkkoon pelin aikana.
Vaihe 1: Materiaalit
Kuvaus ja joitakin linkkejä tarvittaviin materiaaleihin on esitetty alla. Alla oleva materiaaliluettelo koskee 3 pistoolia.
- Palvelintietokone (1)
- Raspberry Pi Zero W (3) Adafruit
- Vähintään 4 Gt: n SD -kortti (3) Amazon
- IR -LED -lähetin (3)
- IR -vastaanotin (6) Amazon
- Punainen LED (3)
- Sininen LED (3)
- Vihreä LED (3)
- Passiivinen summeri (3) Amazon
- Painike (6)
- 16x2 LCD -näyttö I2C -sovittimella (3) Amazon
- Kannettava akku (3) Amazon
- Mikro -tavallinen USB -kaapeli (3) Amazon
- PN2222 Transistori (3)
- 100Ω vastus (3)
- 1 kΩ vastus (9)
Valinnaiset kohteet:
- Liivi (3) Amazon
- Nauhakaapelin jatke (3) Amazon
Tässä projektissa päädyimme ottamaan IR -LED -lähettimen vanhasta lasertunnistinsarjasta, jonka lähettimen ympärillä oli musta kartio, joka auttaa kaventamaan jokaisen pistoolin laukausta. Kaikkien yleisten lähettimien pitäisi kuitenkin toimia.
Edellä lueteltujen esineiden lisäksi itse laserpistoolit tulostettiin 3D -painoksella. Tämä hanke edellyttäisi myös pääsyä 3D -tulostimeen ja filamenttiin. Kaiken kaikkiaan kolmen aseen kokonaissumma oli noin 350 dollaria.
Vaihe 2: Palvelimen asennus
Ensimmäinen asia, joka tarvitaan palvelimen asentamiseen, on asentaa Mosquitto MQTT Broker Service. Mosquitto on palvelu, joka tarjoaa puitteet kunkin pelin laitteen väliselle viestinnälle. Tämän avulla palvelin voi lähettää viestejä kullekin palveluun yhdistetylle Pis -palvelimelle. Suorita päätelaitteessa seuraavat komennot.
sudo apt-get päivitys
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Osa palvelimen graafisista käyttöliittymistä luotiin Pygubu -nimisellä graafisella suunnittelijalla. Tämä voidaan asentaa suorittamalla:
pip3 asenna pygubu
Lisätietoja pygubusta löytyy osoitteesta
Kun MQTT ja Pygubu on asennettu, luo uusi hakemisto ja kopioi liitetyt tiedostot. Hakemiston tulee sisältää:
- ltag.py
- pregame.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- home.png
- self.png
- viholliset.png
- laser.jpg
Huomaa: Tässä projektissa käytetyt liitetyt kuvat eivät ole kehitystiimin luomia, joten ne eivät vaadi tekijänoikeutta.
Vaihe 3: Raspberry Pi -asennus
Tämä vaihe on toistettava jokaisella vadelmalla.
1. Asenna käyttöjärjestelmä
Aloita ensin uudella Raspbian -asennuksella. Suosittelemme käyttämään Lite -versiota, koska Pi: n on vähemmän käsiteltävä, mutta kummankin version pitäisi toimia hyvin. Lataus löytyy osoitteesta
2. Asenna MQTT
Seuraavaksi meidän on asennettava MQTT -välityspalvelu. Käytämme tähän Mosquitoa. Suorita päätelaitteessa seuraavat komennot.
sudo apt-get päivitys
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Mosquitto on palvelu, joka tarjoaa puitteet kunkin pelin laitteen väliselle viestinnälle. Tämän avulla palvelin voi lähettää viestejä kullekin palveluun yhdistetylle Pis -palvelimelle.
3. Asenna I2C Tools
Seuraava komento asentaa nestekidenäytössä käytetyt kirjastot.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt -get install rpi.gpio -y
I2c -osoite on ehkä muutettava lcddriver.py -tiedostossa. Osoite löytyy kirjoittamalla seuraava komento.
i2cdetect -y 1
4. Asenna ja määritä LIRC
Luo uusi hakemisto ja lataa liitetyt tiedostot tähän sijaintiin.
Useimmat Internet -selaimet eivät lataa tiedostoja ilman laajennuksia. Tämän kiertämiseksi kaksi tiedostoa ladattiin väliaikaisilla laajennuksilla. Sekä "lircrc.deleteExtension" että "modules.deleteExtension" pitäisi itse asiassa olla ilman laajennuksia ja tiedostot pitäisi nimetä uudelleen "lircrc": ksi ja "moduuleiksi" sen jälkeen, kun ne on ladattu onnistuneesti.
Tämä vaihe asentaa ja määrittää riippuvuudet Linux -infrapunakaukosäätimelle (LIRC). Lisätietoja on LIRC: n määrittämisen opetusohjelmassa:
Asenna ensin kirjasto ja kopioi sitten mukana olevat tiedostot vastaaviin hakemistoihin alla olevien komentojen mukaisesti. Käynnistä lopuksi lircd -palvelu uudelleen.
sudo apt-get install python3-lirc -y
Suorita äskettäin luodusta hakemistosta seuraavat komennot siirtääksesi määritystiedostot oikeaan paikkaan.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/
sudo mv -moduulit /etc /
Käynnistä sitten lircd -palvelu uudelleen suorittamalla:
sudo /etc/init.d/lircd uudelleen
Muokkaa seuraavaksi /boot/config.txt -tiedostoa ja lisää seuraava rivi
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Käynnistä pi uudelleen, jotta muutokset tulevat voimaan.
sudo uudelleenkäynnistys
5. Ota I2C käyttöön ja muokkaa CLIENT jokaiselle pelaajalle
Seuraavaksi otamme I2C -käyttöliittymän käyttöön. Tämä voidaan tehdä käyttämällä
sudo raspi-config
ja I2C: n ottaminen käyttöön "käyttöliittymäasetukset" -valikossa.
6. Muokkaa Player CLIENT ja LTSERVER
Pelihakemiston pitäisi nyt sisältää neljä jäljellä olevaa tiedostoa.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- player.py
Viimeinen vaihe pi: n määrittämisessä on antaa jokaiselle pi: lle ASIAKASNUMERO ja lisätä palvelimen sijainti. Tämä tehdään muokkaamalla mukana toimitettua "player.py" -tiedostoa kullekin pi: lle niin, että niillä kaikilla on eri asiakastunnus. ASIAKASNUMERO annetaan player.py: n riville 3. Määritä ensimmäinen pi asiakkaaksi "1", toinen "2" ja kolmas "asiakas" 3.
LTSERVER -rivi on muutettava palvelimen IP -osoitteeksi. Tämä löytyy kirjoittamalla 'ifconfig | grep "inet addr" 'palvelintietokoneen päätelaitteessa.
Vaihe 4: Pistoolin kokoonpano
Jatka kunkin pistoolin johdotusta kytkentäkaavion ja yllä olevan kaavion mukaisesti.
Jokainen oheislaite on liitetty seuraaviin Pi Zero -laitteen GPIO -nastoihin:
- Summeri: GPIO5
- Liipaisin: GPIO26
- Lataa uudelleen: GPIO12
- IR -lähetin: GPIO25
- IR -vastaanottimet: GPIO18
- PUNAINEN LED: GPIO17
- VIHREÄ LED: GPIO27
- SININEN LED: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Katso lisätietoja kaaviosta.
Halutessasi voit tulostaa laserpistoolit 3D -painikkeella käyttämällä mukana toimitettuja askelmallitiedostoja. Muista, että kaksi "front1STL. STL" -tiedostoa on tulostettava.
Vaihe 5: Pelaaminen
Peli käynnistetään käynnistämällä "ltag.py" -tiedosto palvelimella. Kun tämä on tehty, jokainen pelaaja voi muodostaa yhteyden palvelimeen suorittamalla oman "player.py" -tiedostonsa.
Huomautus: Akun kytkemisen jälkeen voi kestää jopa minuutin, ennen kuin pi käynnistyy.
Voi myös olla hyödyllistä lisätä cron -työ, joka suorittaa automaattisesti player.py -tiedoston heti, kun pi alkaa. Meillä oli vaikeuksia saada tämä toimimaan ja lopulta lisäsimme rivin "/etc/rc.local" -tiedostoon jokaisessa Pis -ohjelmassa "player.py" -tiedoston suorittamiseksi. Tämä mahdollistaa pelin käynnistämisen tarvitsematta SSH: ta Pi: hen pelataksesi komentosarjaa.
Kun peli on aloitettu pelaajien ollessa valmiina, näyttöön tulee graafinen käyttöliittymä, jonka avulla muutamia peliasetuksia voidaan määrittää. Peli alkaa Käynnistä -painikkeen painamisen jälkeen.
Jokaisen pelin jälkeen näkyviin tulee päättyvä graafinen käyttöliittymä, jossa on tilastoja edellisestä pelistä, mukaan lukien tunnisteet, yleiset prosenttiosuudet ja pelin kesto.
Huomautus: Ohjelmistokirjastojen rajoitusten vuoksi tarkkuusraporttien tunnisteiden sijainnit eivät edusta todellisia lasertunnisteita. Nykyisessä versiossa pelaajan tarkkuusraportin kuva on puhtaasti esteettinen ja toivoo tulevaa versiota, jossa on todellinen tunnisteen sijainti.
Vaihe 6: Tulevia parannuksia
Kaiken kaikkiaan projekti oli suuri menestys. Matkan varrella ajattelimme muutamia lisäominaisuuksia, jotka voidaan lisätä tulevaan painokseen.
- Tukevampi laukaisumalli 3D -tulostetuille aseille
- Avattava GUI-pudotusvalikko näyttää tilastoja aiemmista peleistä
- Lisää infrapunavastaanottimia, jotka voidaan kiinnittää pelaajien liiveihin
- Muita pelitiloja, jotka voidaan valita Pregame GUI: ssa
- Tarkempi tunnisteiden sijaintialgoritmi pelaajien tilasivulla
Suositeltava:
Raspberry Pi - TMD26721 Infrapuna digitaalinen läheisyysilmaisin Java -opetusohjelma: 4 vaihetta
Raspberry Pi-TMD26721 Digitaalinen infrapuna-läheisyysilmaisin Java-opetusohjelma: TMD26721 on digitaalinen infrapuna-läheisyysilmaisin, joka tarjoaa täydellisen läheisyyden havaitsemisjärjestelmän ja digitaalisen käyttöliittymän logiikan yhdessä 8-nastaisessa pinta-asennusmoduulissa. tarkkuus. Ammattilainen
Arduino -infrapuna -lämpömittaripistooli MDF -kotelo: 4 vaihetta (kuvilla)
Arduino-infrapunalämpömittaripistoolin MDF-kotelo: Tämä projekti on tarkoitettu infrapunalämpömittarin valmistamiseen Arduinolla, piiri sijoitetaan MDF-koteloon näyttämään lääketieteelliseltä infrapunalämpömittarilta markkinoilla. se voi tarkoittaa
Raspberry Pi -infrapuna -näppäimistö: 8 vaihetta
Raspberry Pi -infrapuna -näppäimistö: Olen aina rakastanut musiikkia, joten kun ajattelin, mitä tekisin ensimmäiseksi Raspberry Pi -projektikseni, mieleni meni luonnollisesti siihen. Mutta tietysti halusin antaa sille ylimääräisen kosketuksen, tai parempi, ei kosketusta! Nykyisen Covid-19-kriisin ja kaiken hyge-tilanteen myötä
Paahdetun infrapuna -analysaattorin aste kahvipaahtimille: 13 vaihetta (kuvilla)
Paahdetun infrapuna -analysaattorin aste kahvipaahtimille: Johdanto Kahvi on juoma, jota kulutetaan ympäri maailmaa sekä sen aistinvaraisten että toiminnallisten ominaisuuksiensa vuoksi. Kahvin maku, aromi, kofeiini ja antioksidanttipitoisuus ovat vain muutamia ominaisuuksia, jotka ovat tehneet kahviteollisuudesta niin menestyvän. Vaikka g
Infrapuna -yönäkymän digitaalikamera/videokamera: 17 vaihetta (kuvilla)
Digitaalinen infrapunakamera/videokamera: Tässä ohjeessa selitetään, miten Discovery Kids Night Vision -kamera (joka on väärin mainostettu "todellista infrapuna -yönäkötekniikkaa" käyttäväksi) muutetaan TODELLISEKSI infrapuna -yönäkymäläksi. Tämä on samanlainen kuin IR -verkko