Sadržaj:

Infracrvena laserska oznaka s Raspberry Pi Zero: 6 koraka (sa slikama)
Infracrvena laserska oznaka s Raspberry Pi Zero: 6 koraka (sa slikama)

Video: Infracrvena laserska oznaka s Raspberry Pi Zero: 6 koraka (sa slikama)

Video: Infracrvena laserska oznaka s Raspberry Pi Zero: 6 koraka (sa slikama)
Video: ComfyUI Tutorial - How to Install ComfyUI on Windows, RunPod & Google Colab | Stable Diffusion SDXL 2024, Srpanj
Anonim
Infracrvena laserska oznaka s Raspberry Pi Zero
Infracrvena laserska oznaka s Raspberry Pi Zero

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

Materijali
Materijali
Materijali
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

Postavljanje poslužitelja
Postavljanje poslužitelja
Postavljanje poslužitelja
Postavljanje poslužitelja
Postavljanje poslužitelja
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

Raspberry Pi postavljanje
Raspberry Pi postavljanje

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

Sklop pištolja
Sklop pištolja
Sklop pištolja
Sklop 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

Igranje igara
Igranje igara
Igranje igara
Igranje igara
Igranje igara
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

Buduća poboljšanja
Buduća poboljšanja
Buduća poboljšanja
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: