Sommario:
- Passaggio 1: materiali
- Passaggio 2: configurazione del server
- Passaggio 3: installazione di Raspberry Pi
- Passaggio 4: assemblaggio della pistola
- Passaggio 5: gioco
- Passaggio 6: miglioramenti futuri
Video: Tag laser a infrarossi con Raspberry Pi Zero: 6 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Questo Instructable illustrerà il processo per la creazione di un gioco di tag laser a infrarossi utilizzando un computer server di base e uno zero Raspberry Pi per ogni giocatore. Il progetto si basa molto su una connessione Wifi per comunicare con il server, il che rende il Pi un ottimo candidato.
Il server utilizzato in questo progetto era un vecchio computer desktop con Linux. Il computer non ha bisogno di essere niente di speciale e probabilmente potrebbe anche essere eseguito da un Raspberry Pi 3. Il server e ciascuno dei pi zero devono essere collegati alla stessa rete durante il gioco.
Passaggio 1: materiali
La descrizione e alcuni collegamenti per i materiali necessari sono mostrati di seguito. L'elenco dei materiali di seguito è per 3 pistole.
- Computer server (1)
- Raspberry Pi Zero W (3) Adafruit
- Scheda SD da almeno 4 GB (3) Amazon
- Trasmettitore LED IR (3)
- Ricevitore IR (6) Amazon
- LED rosso (3)
- LED blu (3)
- LED verde (3)
- Buzzer passivo (3) Amazon
- Pulsante (6)
- Schermo LCD 16x2 con adattatore I2C (3) Amazon
- Batteria portatile (3) Amazon
- Cavo USB da micro a normale (3) Amazon
- PN2222 Transistor (3)
- Resistenza da 100Ω (3)
- Resistenza da 1kΩ (9)
Articoli opzionali:
- Gilet (3) Amazon
- Prolunga cavo a nastro (3) Amazon
In questo progetto, abbiamo finito per prendere il trasmettitore LED IR da un vecchio set di pistole laser tag che avevano un cono nero attorno al trasmettitore per aiutare a restringere il tiro di ogni pistola. Tuttavia, qualsiasi trasmettitore generico dovrebbe funzionare.
Oltre agli articoli sopra elencati, le pistole laser stesse sono state stampate in 3D. Questo progetto richiederebbe quindi anche l'accesso a una stampante 3D e a un filamento. Complessivamente, per tre pistole il totale è stato di circa $ 350.
Passaggio 2: configurazione del server
La prima cosa necessaria per configurare il server è installare il Mosquitto MQTT Broker Service. Mosquitto è il servizio che fornisce un framework per la comunicazione tra ciascuno dei dispositivi del gioco. Ciò consente al server di inviare messaggi a ciascuno dei Pis collegati al servizio. Nel terminale, esegui i seguenti comandi.
sudo apt-get update
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Alcune delle GUI per il server sono state create utilizzando un designer di GUI chiamato Pygubu. Questo può essere installato eseguendo:
pip3 installa pygubu
Maggiori informazioni su pygubu possono essere trovate su
Una volta installati MQTT e Pygubu, crea una nuova directory e copia i file allegati. La directory dovrebbe includere:
- ltag.py
- prepartita.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- home.png
- self.png
- nemici.png
- laser.jpg
Nota: le immagini allegate utilizzate in questo progetto non sono state create dal team di sviluppo e pertanto non rivendicano la paternità.
Passaggio 3: installazione di Raspberry Pi
Questo passaggio dovrà essere ripetuto su ciascuno dei Raspberry Pi.
1. Installa il sistema operativo
Innanzitutto, inizia con una nuova installazione di Raspbian. Consigliamo di utilizzare la versione Lite in quanto è meno gestibile per il Pi, ma entrambe le versioni dovrebbero funzionare correttamente. Il download può essere trovato su
2. Installa MQTT
Successivamente è necessario installare il servizio broker MQTT. Useremo Mosquitto per questo. Nel terminale, esegui i seguenti comandi.
sudo apt-get update
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Mosquitto è il servizio che fornisce un framework per la comunicazione tra ciascuno dei dispositivi del gioco. Ciò consente al server di inviare messaggi a ciascuno dei Pis collegati al servizio.
3. Installa gli strumenti I2C
Il seguente comando installerà le librerie utilizzate per lo schermo LCD.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt-get install rpi.gpio -y
Potrebbe essere necessario modificare l'indirizzo i2c nel file lcddriver.py. L'indirizzo può essere trovato immettendo il seguente comando.
i2cdetect -y 1
4. Installa e configura LIRC
Crea una nuova directory e scarica i file allegati in questa posizione.
La maggior parte dei browser Internet non scarica file senza estensioni. Per aggirare questo problema, due dei file sono stati caricati con estensioni temporanee. Sia "lircrc.deleteExtension" che "modules.deleteExtension" dovrebbero infatti essere senza estensione e i file dovrebbero essere rinominati in "lircrc" e "modules" dopo che sono stati scaricati con successo.
Questo passaggio installa e configura le dipendenze per il pacchetto Linux Infrared Remote Control (LIRC). Per maggiori informazioni vedere il tutorial per configurare LIRC su:
Prima installa la libreria, quindi copia i file inclusi nelle rispettive directory come mostrato nei comandi seguenti. Infine, riavvia il servizio lircd.
sudo apt-get install python3-lirc -y
Dalla directory appena creata eseguire i seguenti comandi per spostare i file di configurazione nelle posizioni corrette.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf /etc/lirc/
sudo mv moduli /etc/
Quindi riavviare il servizio lircd eseguendo:
sudo /etc/init.d/lircd restart
Quindi, modifica il file /boot/config.txt e aggiungi la seguente riga
dtoverlay=lirc-rpi, gpio_in_pin=18, gpio_out_pin=25
Riavvia il tuo pi per consentire l'applicazione delle modifiche.
sudo reboot
5. Abilita I2C e modifica CLIENT per ogni giocatore
Successivamente, abiliteremo l'interfaccia I2C. Questo può essere fatto usando
sudo raspi-config
e abilitando l'I2C nel menu "opzioni interfaccia".
6. Modifica Player CLIENT e LTSERVER
La directory del gioco dovrebbe ora includere i quattro file rimanenti.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- player.py
L'ultimo passaggio nella configurazione del pi è assegnare a ciascun pi un numero CLIENT e aggiungere la posizione del server. Questo viene fatto modificando il file "player.py" incluso per ogni pi in modo che abbiano tutti un numero CLIENT diverso. Il numero CLIENTE viene assegnato sulla riga 3 di player.py. Assegna il primo pi greco come client "1", il secondo come "2" e il terzo come client "3".
La riga LTSERVER deve essere modificata con l'indirizzo IP del server. Questo si trova digitando 'ifconfig | grep "inet addr" ' nel terminale del computer server.
Passaggio 4: assemblaggio della pistola
Procedere al cablaggio di ciascuna delle pistole secondo lo schema elettrico e lo schema sopra.
Ciascuna delle periferiche è collegata ai seguenti pin GPIO sul Pi Zero:
- Cicalino: GPIO5
- Trigger: GPIO26
- Ricarica: GPIO12
- Trasmettitore IR: GPIO25
- Ricevitori IR: GPIO18
- LED ROSSO: GPIO17
- LED VERDE: GPIO27
- LED BLU: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Vedere lo schema per maggiori dettagli.
Se lo si desidera, le pistole laser possono essere stampate in 3D utilizzando i file del modello di passo inclusi. Tieni presente che devono essere stampati due dei file "front1STL. STL".
Passaggio 5: gioco
Il gioco viene avviato eseguendo il file "ltag.py" sul server. Fatto ciò, ciascuno dei giocatori può connettersi al server eseguendo il rispettivo file "player.py".
Nota: dopo aver collegato la batteria, l'avvio del pi potrebbe richiedere fino a un minuto.
Potrebbe anche essere utile aggiungere un cron job che esegua automaticamente il file player.py una volta avviato il pi. Abbiamo avuto difficoltà a farlo funzionare e abbiamo finito per aggiungere una riga al file "/etc/rc.local" su ciascuno dei Pis per eseguire il file "player.py". Ciò consente di avviare il gioco senza dover eseguire SSH nei Pi per eseguire lo script del giocatore.
Una volta che il gioco è stato avviato con i giocatori pronti, apparirà una GUI che consentirà di configurare alcune delle impostazioni di gioco. Il gioco inizia dopo aver premuto il pulsante Start.
Dopo ogni partita, apparirà una GUI finale con le statistiche sulla partita precedente, inclusi i tag, le percentuali globali e la durata del gioco.
Nota: a causa delle limitazioni nelle librerie software, le posizioni dei tag del rapporto di accuratezza non sono rappresentative dei tag laser effettivi. Nella versione attuale, l'immagine del Rapporto sulla precisione del giocatore è puramente estetica nella speranza di una versione futura con l'effettiva implementazione della posizione dei tag.
Passaggio 6: miglioramenti futuri
Nel complesso, il progetto è stato un grande successo. Lungo la strada, abbiamo pensato ad alcune funzionalità aggiuntive che potrebbero essere aggiunte a una futura edizione.
- Design del grilletto più robusto per le pistole stampate in 3D
- Fine del menu a discesa della GUI per visualizzare le statistiche dei giochi passati
- Più ricevitori a infrarossi che potrebbero essere attaccati ai giubbotti dei giocatori
- Modalità di gioco aggiuntive che possono essere scelte nella GUI Pregame
- Algoritmo di localizzazione dei tag più accurato nella pagina delle statistiche dei giocatori
Consigliato:
Utilizzo del sensore a infrarossi con Arduino: 8 passaggi (con immagini)
Utilizzo del sensore a infrarossi con Arduino: cos'è un sensore a infrarossi (noto anche come IR)? Un sensore IR è uno strumento elettronico che esegue la scansione dei segnali IR in intervalli di frequenza specifici definiti dagli standard e li converte in segnali elettrici sul suo pin di uscita (tipicamente chiamato pin di segnale) . Il segnale IR
Termometro a infrarossi laser Arduino: 7 passaggi (con immagini)
Termometro a infrarossi laser Arduino: in questo progetto ti mostrerò come costruire un termometro a infrarossi laser digitale con un involucro stampato in 3D personalizzato
Termometro a infrarossi senza contatto basato su Arduino - Termometro a infrarossi con Arduino: 4 passaggi
Termometro a infrarossi senza contatto basato su Arduino | Termometro a infrarossi con Arduino: Ciao ragazzi in questo tutorial faremo un termometro senza contatto usando arduino. Poiché a volte la temperatura del liquido/solido è troppo alta o troppo bassa e quindi è difficile entrare in contatto con esso e leggerlo temperatura poi in quella scena
Costruisci il ricevitore a infrarossi Kodi / OSMC e ripristina il cappello per Raspberry Pi: 5 passaggi (con immagini)
Costruisci un ricevitore a infrarossi Kodi / OSMC e ripristina il cappello per Raspberry Pi: costruisci un ricevitore IR Kodi / OSMC e ripristina il cappello per il Raspberry Pi 3 Dall'altra parte della stanza, vorrei: Controllare Kodi / OSMC in esecuzione su un Raspberry Pi con un telecomando Guarda se il Raspberry Pi è accesoInoltre, vorrei che la mia famiglia
Arduino Laser Tag - Duino Tag: 11 passaggi (con immagini)
Arduino Laser Tag - Duino Tag: Duino tagger- Introduzione generale Duino tag è un sistema di tag laser basato su arduino. Finalmente un sistema di tag laser che può essere modificato, modificato e hackerato fino a ottenere il sistema di tag laser perfetto per gli ordigni d'ufficio, le guerre nei boschi e i sobborghi