Sadržaj:
- Korak 1: Materijali
- Korak 2: Postavljanje poslužitelja
- Korak 3: Postavljanje Raspberry Pi
- Korak 4: Sklapanje pištolja
- Korak 5: Igranje igara
- Korak 6: Buduća poboljšanja
Video: Infracrvena laserska oznaka s Raspberry Pi Zero: 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Ovaj Instructable proći će kroz proces stvaranja igre s infracrvenim laserskim oznakama pomoću osnovnog poslužiteljskog računala i Raspberry Pi nule za svakog igrača. Projekt se u velikoj mjeri oslanja na Wifi vezu za komunikaciju sa poslužiteljem što Pi čini odličnim kandidatom.
Poslužitelj koji se koristio u ovom projektu bilo je staro stolno računalo s Linuxom. Računalo ne mora biti ništa posebno, a vjerojatno bi se čak moglo pokrenuti i s Raspberry Pi 3. Poslužitelj i svaki od pi nula moraju biti povezani na istu mrežu tijekom igranja igre.
Korak 1: Materijali
Opis i neke poveznice za potrebne materijale prikazani su u nastavku. Popis materijala u nastavku je za 3 pištolja.
- Poslužiteljsko računalo (1)
- Malina Pi Zero W (3) Adafruit
- SD kartica s najmanje 4 GB (3) Amazon
- IC LED odašiljač (3)
- IC prijemnik (6) Amazon
- Crvena LED dioda (3)
- Plava LED dioda (3)
- Zelena LED dioda (3)
- Pasivni zujalica (3) Amazon
- Pritisni gumb (6)
- LCD ekran 16x2 s I2C adapterom (3) Amazon
- Prijenosna baterija (3) Amazon
- Mikro do obični USB kabel (3) Amazon
- PN2222 Tranzistor (3)
- 100Ω otpornik (3)
- 1kΩ otpornik (9)
Opcijske stavke:
- Prsluk (3) Amazon
- Produžetak vrpčnog kabela (3) Amazon
U ovom smo projektu na kraju uzeli IR LED odašiljač iz starog niza laserskih pištolja koji su imali crni stožac oko odašiljača kako bi se suzio hitac svakog pištolja. Međutim, svaki opći odašiljač trebao bi raditi.
Osim gore navedenih stavki, laserski pištolji su 3D tiskani. Stoga bi ovaj projekt također zahtijevao pristup 3D pisaču i filamentu. Sveukupno, za tri pištolja ukupno je došlo oko 350 dolara.
Korak 2: Postavljanje poslužitelja
Prvo što je potrebno za postavljanje poslužitelja je instaliranje Mosquitto MQTT Broker Service. Mosquitto je usluga koja pruža okvir za komunikaciju između svakog od uređaja u igri. To omogućuje poslužitelju da šalje poruke svakom od Pis povezanih s uslugom. Na terminalu pokrenite sljedeće naredbe.
sudo apt-get ažuriranje
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Neki od grafičkih sučelja za poslužitelj stvoreni su pomoću dizajnera grafičkog sučelja koji se zove Pygubu. To se može instalirati pokretanjem:
pip3 instalirajte pygubu
Više informacija o pygubu možete pronaći na
Nakon što su MQTT i Pygubu instalirani, stvorite novi direktorij i kopirajte priložene datoteke. Imenik bi trebao sadržavati:
- ltag.py
- pregame.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- home.png
- self.png
- neprijatelji.png
- laser.jpg
Napomena: Priložene slike korištene u ovom projektu nije izradio razvojni tim i stoga ne zahtijevaju autorstvo.
Korak 3: Postavljanje Raspberry Pi
Ovaj korak će se morati ponoviti na svakoj od malina Pis.
1. Instalirajte operacijski sustav
Prvo počnite sa novom instalacijom Raspbiana. Preporučili bismo upotrebu Lite verzije jer Pi manje rješava rukovanje, no obje bi verzije trebale dobro funkcionirati. Preuzimanje možete pronaći na
2. Instalirajte MQTT
Zatim moramo instalirati uslugu brokera MQTT. Za to ćemo koristiti Mosquitto. Na terminalu pokrenite sljedeće naredbe.
sudo apt-get ažuriranje
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Mosquitto je usluga koja pruža okvir za komunikaciju između svakog od uređaja u igri. To omogućuje poslužitelju da šalje poruke svakom od Pis povezanih s uslugom.
3. Instalirajte I2C alate
Sljedeća naredba instalirat će biblioteke koje se koriste za LCD zaslon.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt -get install rpi.gpio -y
Možda će se i2c adresa morati promijeniti u datoteci lcddriver.py. Adresu možete pronaći unošenjem sljedeće naredbe.
i2cdetect -y 1
4. Instalirajte i konfigurirajte LIRC
Napravite novi direktorij i preuzmite priložene datoteke na ovo mjesto.
Većina internetskih preglednika neće preuzimati datoteke bez proširenja. Kako bi to zaobišli, dvije su datoteke učitane s privremenim proširenjima. I "lircrc.deleteExtension" i "modules.deleteExtension" zapravo bi trebali biti bez proširenja, a datoteke bi se trebale preimenovati u "lircrc" i "module" nakon što su uspješno preuzete.
Ovaj korak instalira i konfigurira ovisnosti za paket LIRC daljinskog upravljača za Linux. Za više informacija pogledajte vodič za postavljanje LIRC-a na:
Najprije instalirajte knjižnicu, a zatim kopirajte uključene datoteke u odgovarajuće direktorije kao što je prikazano u naredbama u nastavku. Na kraju, ponovno pokrenite uslugu lircd.
sudo apt-get install python3-lirc -y
Iz novostvorenog direktorija izvršite sljedeće naredbe za premještanje konfiguracijskih datoteka na njihova ispravna mjesta.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/
sudo mv moduli /etc /
Zatim ponovno pokrenite uslugu lircd pokretanjem:
sudo /etc/init.d/lircd ponovno pokretanje
Zatim uredite datoteku /boot/config.txt i dodajte sljedeći redak
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Ponovno pokrenite svoj pi da biste omogućili da promjene stupe na snagu.
sudo ponovno podizanje sustava
5. Omogućite I2C i uredite CLIENT za svakog igrača
Zatim ćemo omogućiti sučelje I2C. To se može učiniti pomoću
sudo raspi-config
i omogućavanje I2C u izborniku "opcije sučelja".
6. Uređivanje Player CLIENT i LTSERVER
Direktorij igara sada bi trebao sadržavati četiri preostale datoteke.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- player.py
Posljednji korak u konfiguriranju pi je dodjeljivanje svakom pi KLIJENTSKOG broja i dodavanje lokacije poslužitelja. To se postiže uređivanjem uključene datoteke "player.py" za svako pi tako da svi imaju različit broj KLIJENTA. Broj KLIJENTA dodijeljen je u 3. retku play.py. Dodijelite prvom pi klijentu "1", drugom "2", a trećem klijentu "3".
LTSERVER redak treba promijeniti u IP adresu poslužitelja. To možete saznati upisivanjem 'ifconfig | grep "inet addr" 'u terminalu poslužiteljskog računala.
Korak 4: Sklapanje pištolja
Ožičite svaki pištolj prema shemi ožičenja i gornjoj shemi.
Svaki od perifernih uređaja spojen je na sljedeće GPIO pinove na Pi Zero:
- Zvučni signal: GPIO5
- Okidač: GPIO26
- Ponovno učitavanje: GPIO12
- IC odašiljač: GPIO25
- IC prijemnici: GPIO18
- CRVENA LED: GPIO17
- ZELENA LED: GPIO27
- PLAVA LED: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Za više pojedinosti pogledajte shemu.
Po želji, laserski pištolji mogu se 3D ispisati pomoću priloženih datoteka modela koraka. Imajte na umu da se dvije datoteke "front1STL. STL" moraju ispisati.
Korak 5: Igranje igara
Igra se pokreće pokretanjem datoteke "ltag.py" na poslužitelju. Nakon što se to učini, svaki se igrač može spojiti na poslužitelj pokretanjem svoje datoteke "player.py".
Napomena: Nakon uključivanja baterije, može proći i do minute dok se pi ne podigne.
Također bi moglo biti korisno dodati cron posao koji automatski pokreće player.py datoteku kad pi započne. Ovo nam je teško palo na posao i na kraju smo dodali redak u datoteku "/etc/rc.local" na svakom Pisu za pokretanje datoteke "player.py". To omogućuje pokretanje igre bez potrebe za SSH -om u Pi za pokretanje skripte igrača.
Nakon što je igra započeta s spremnim igračima, pojavit će se GUI koji omogućuje konfiguriranje nekoliko postavki igre. Igra počinje nakon što pritisnete gumb Start.
Nakon svake igre pojavit će se završni GUI sa statistikom o prethodnoj igri, uključujući oznake, globalne postotke i trajanje igre.
Napomena: Zbog ograničenja u softverskim knjižnicama, lokacije oznaka izvješća o točnosti nisu reprezentativne za stvarne laserske oznake. U trenutnoj verziji slika Izvješća o točnosti playera služi isključivo za estetiku u nadi da će doći do buduće verzije sa stvarnom implementacijom lokacije oznake.
Korak 6: Buduća poboljšanja
Općenito, projekt je postigao veliki uspjeh. Usput smo razmišljali o nekoliko dodatnih značajki koje bi se mogle dodati budućem izdanju.
- Čvršći dizajn okidača za 3D tiskane pištolje
- Završavanje padajućeg izbornika GUI za prikaz statistike iz prošlih igara
- Više infracrvenih prijemnika koji se mogu pričvrstiti na prsluke igrača
- Dodatni načini igre koji se mogu odabrati u Pregame GUI
- Točniji algoritam za postavljanje oznaka na stranici sa statistikom igrača
Preporučeni:
Infracrvena kamera za igre Raspberry Pi: 6 koraka
Infracrvena kamera za igre Raspberry Pi: Tek sam počeo istraživati Raspberry Pi i zaintrigirao me modul Pi infracrvene kamere. Živim u pomalo udaljenom području i vidio sam znakove raznih divljih životinja koje noću istražuju po kući. Imao sam ideju o stvaranju crnca
Vivre Avec Nabaztag: Oznaka: Oznaka: 14 koraka
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
Automatska infracrvena slavina za vodu po 5 USD: 12 koraka (sa slikama)
Automatska infracrvena slavina za vodu po cijeni od 5 USD: U ovom projektu napravit ćemo automatsku slavinu za uključivanje i isključivanje vode samo ispod 5 USD. Za izradu ove automatske infracrvene slavine za vodu koristit ćemo IC senzor i prekidač za vodu. Za izradu ove automatske infracrvene slavine za vodu ne koristi se mikrokontroler. Jednostavno postavite svoj
Infracrvena kamera s termalnom slikom: 3 koraka (sa slikama)
DIY termalna kamera infracrvena kamera: Pozdrav! Uvijek sam u potrazi za novim projektima za sate fizike. Prije dvije godine naišao sam na izvještaj o toplinskom senzoru MLX90614 tvrtke Melexis. Najbolji sa samo 5 ° FOV (vidno polje) bio bi prikladan za samostalno izrađenu termalnu kameru. Za čitanje
Arduino laserska oznaka - Duino oznaka: 11 koraka (sa slikama)
Arduino laserska oznaka - Duino oznaka: Duino oznaka - opći uvod Duino oznaka je sustav laserskih oznaka koji se temelji na arduinu. Konačno, sustav laserskih oznaka koji se može doraditi, modificirati i hakirati dok ne dobijete savršen sustav laserskih oznaka za uredska sredstva, šumske ratove i predgrađa