Taula de continguts:
- Pas 1: materials
- Pas 2: Configuració del servidor
- Pas 3: Configuració de Raspberry Pi
- Pas 4: Muntatge de la pistola
- Pas 5: joc
- Pas 6: Millores futures
Vídeo: Etiqueta làser d'infrarojos amb Raspberry Pi Zero: 6 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Aquest instructiu recorrerà el procés per crear un joc d’etiquetes làser d’infrarojos mitjançant un ordinador servidor base i un zero de Raspberry Pi per a cada jugador. El projecte depèn en gran mesura d’una connexió Wifi per comunicar-se amb el servidor, cosa que fa del Pi un gran candidat.
El servidor utilitzat en aquest projecte era un antic ordinador de sobretaula amb Linux. L’ordinador no necessita ser especial, i fins i tot es podria executar des d’un Raspberry Pi 3. El servidor i cadascun dels pi zero han d’estar connectats a la mateixa xarxa durant el joc.
Pas 1: materials
A continuació es mostren la descripció i alguns enllaços dels materials necessaris. La llista de materials següent és per a tres canons.
- Ordinador servidor (1)
- Raspberry Pi Zero W (3) Adafruit
- Targeta SD de 4 GB com a mínim (3) Amazon
- Transmissor LED IR (3)
- Receptor IR (6) Amazon
- LED vermell (3)
- LED blau (3)
- LED verd (3)
- Passive Buzzer (3) Amazon
- Polsador (6)
- Pantalla LCD 16x2 amb adaptador I2C (3) Amazon
- Bateria portàtil (3) Amazon
- Cable USB micro a normal (3) Amazon
- PN2222 Transistor (3)
- Resistència de 100Ω (3)
- Resistència d'1 kΩ (9)
Elements opcionals:
- Armilla (3) Amazon
- Extensió de cable de cinta (3) Amazon
En aquest projecte, vam acabar prenent el transmissor LED IR d’un antic joc de pistoles amb etiqueta làser que tenien un con negre al voltant del transmissor per ajudar a reduir el tret de cada arma. Tot i això, qualsevol transmissor general hauria de funcionar.
A més dels elements enumerats anteriorment, les pròpies pistoles làser es van imprimir en 3D. Per tant, aquest projecte també requeriria l'accés a una impressora 3D i un filament. En general, per a tres canons, el total va arribar als 350 dòlars.
Pas 2: Configuració del servidor
El primer que cal per configurar el servidor és instal·lar el servei de broker Mosquitto MQTT. Mosquitto és el servei que proporciona un marc per a la comunicació entre cadascun dels dispositius del joc. Això permet al servidor enviar missatges a cadascun dels Pis connectats al servei. Al terminal, executeu les ordres següents.
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
Algunes de les GUI del servidor es van crear mitjançant un dissenyador de GUI anomenat Pygubu. Això es pot instal·lar executant:
pip3 instal·la pygubu
Podeu trobar més informació sobre pygubu a
Un cop instal·lats MQTT i Pygubu, creeu un directori nou i copieu els fitxers adjunts. El directori ha d'incloure:
- ltag.py
- pregame.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- home.png
- self.png
- enemics.png
- laser.jpg
Nota: Les imatges adjuntes utilitzades en aquest projecte no les ha creat l’equip de desenvolupament i, per tant, no reclama l’autoria.
Pas 3: Configuració de Raspberry Pi
Aquest pas s’haurà de repetir a cadascun dels Raspberry Pis.
1. Instal·leu el sistema operatiu
Primer, comenceu amb una nova instal·lació de Raspbian. Us recomanem que utilitzeu la versió Lite, ja que el Pi no pot manejar-la, però qualsevol versió hauria de funcionar bé. La descàrrega es pot trobar a
2. Instal·leu MQTT
A continuació, hem d’instal·lar el servei d’agent MQTT. Utilitzarem Mosquitto per a això. Al terminal, executeu les ordres següents.
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 és el servei que proporciona un marc per a la comunicació entre cadascun dels dispositius del joc. Això permet al servidor enviar missatges a cadascun dels Pis connectats al servei.
3. Instal·leu Eines I2C
L'ordre següent instal·larà les biblioteques que s'utilitzen per a la pantalla LCD.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt-get install rpi.gpio -y
És possible que s’hagi de canviar l’adreça i2c al fitxer lcddriver.py. Es pot trobar l'adreça introduint l'ordre següent.
i2cdetect -y 1
4. Instal·leu i configureu LIRC
Creeu un directori nou i descarregueu els fitxers adjunts a aquesta ubicació.
La majoria dels navegadors d’Internet no baixaran fitxers sense extensions. Per solucionar-ho, es van penjar dos dels fitxers amb extensions temporals. Tant el "lircrc.deleteExtension" com el "modules.deleteExtension" no haurien de tenir extensió i els fitxers haurien de canviar-se el nom a "lircrc" i "modules" després de descarregar-los correctament.
Aquest pas instal·la i configura les dependències del paquet Linux Infrared Remote Control (LIRC). Per obtenir més informació, consulteu el tutorial per configurar LIRC a:
Primer instal·leu la biblioteca i, a continuació, copieu els fitxers inclosos als seus respectius directoris tal com es mostra a les ordres següents. Finalment, reinicieu el servei lircd.
sudo apt-get install python3-lirc -y
Des del directori nou creat, executeu les ordres següents per moure els fitxers de configuració a les seves ubicacions correctes.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf / etc / lirc /
mòduls sudo mv / etc /
A continuació, reinicieu el servei lircd executant:
sudo /etc/init.d/lircd reiniciar
A continuació, editeu el fitxer /boot/config.txt i afegiu la línia següent
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Reinicieu el pi per permetre que els canvis tinguin efecte.
sudo reiniciar
5. Activeu I2C i editeu CLIENT per a cada jugador
A continuació, habilitarem la interfície I2C. Això es pot fer mitjançant
sudo raspi-config
i habilitant l'I2C al menú "opcions d'interfície".
6. Editeu Player CLIENT i LTSERVER
El directori del joc ara hauria d’incloure els quatre fitxers restants.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- player.py
L’últim pas per configurar el pi és assignar a cada pi un número de CLIENT i afegir la ubicació del servidor. Això es fa editant el fitxer "player.py" inclòs per a cada pi de manera que tinguin un número de CLIENT diferent. El número de CLIENT s’assigna a la línia 3 de player.py. Assigneu el primer pi a ser client "1", el segon a "2" i el tercer a ser client "3".
La línia LTSERVER s'ha de canviar a l'adreça IP del servidor. Això es troba escrivint 'ifconfig | grep "inet addr" 'al terminal de l'ordinador servidor.
Pas 4: Muntatge de la pistola
Procediu a connectar cadascuna de les pistoles segons el diagrama de cablejat i l'esquema anterior.
Cadascun dels perifèrics està connectat als pins GPIO següents del Pi Zero:
- Zumbador: GPIO5
- Activador: GPIO26
- Torna a carregar: GPIO12
- Transmissor IR: GPIO25
- Receptor IR: GPIO18
- LED VERMELL: GPIO17
- LED VERD: GPIO27
- LED BLAU: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Consulteu l’esquema per obtenir més detalls.
Si es vol, les pistoles làser es poden imprimir en 3D mitjançant els fitxers de models de passos inclosos. Recordeu que cal imprimir dos dels fitxers "front1STL. STL".
Pas 5: joc
El joc s’inicia executant el fitxer "ltag.py" al servidor. Un cop fet això, cadascun dels jugadors es pot connectar al servidor executant el seu fitxer "player.py" respectiu.
Nota: Després d'endollar la bateria, pot trigar fins a un minut a arrencar el pi.
També pot ser útil afegir un treball cron que executi automàticament el fitxer player.py un cop s'iniciï el pi. Ens va costar molt que això funcionés i vam acabar afegint una línia al fitxer "/etc/rc.local" de cadascun dels pis per executar el fitxer "player.py". Això permet iniciar el joc sense haver d’entrar SSH als Pi’s per executar el guió del jugador.
Un cop començat el joc amb els jugadors preparats, apareixerà una GUI que permet configurar algunes de les opcions del joc. El joc comença després de prémer el botó Inici.
Després de cada joc, apareixerà una GUI final amb estadístiques sobre el joc anterior, incloses etiquetes, percentatges globals i durada del joc.
Nota: a causa de les limitacions de les biblioteques de programari, les ubicacions de les etiquetes de l'informe de precisió no són representatives de les etiquetes làser reals. A la versió actual, la imatge de l’Informe de precisió del reproductor és exclusivament estètica, amb l’esperança d’una versió futura amb implementació real de la ubicació de l’etiqueta.
Pas 6: Millores futures
En general, el projecte va ser un èxit important. Al llarg del camí, hem pensat en algunes de les funcions addicionals que es poden afegir a una futura edició.
- Disseny de gallet més resistent per a les pistoles impreses en 3D
- Finalització del menú desplegable de la GUI per mostrar estadístiques de jocs passats
- Més receptors d'infrarojos que es podrien fixar a les armilles dels jugadors
- Modes de joc addicionals que es poden triar a la GUI Pregame
- Algorisme de localització d’etiquetes més precís a la pàgina d’estadístiques dels jugadors
Recomanat:
Ús del sensor d'infrarojos amb Arduino: 8 passos (amb imatges)
Ús d’un sensor d’infrarojos amb Arduino: què és un sensor d’infrarojos (també conegut com a IR)? Un sensor d’IR és un instrument electrònic que escaneja senyals d’IR en rangs de freqüència específics definits per estàndards i els converteix en senyals elèctrics del seu pin de sortida (normalment anomenat pin de senyal) . El senyal IR
Vivre Avec Nabaztag: Etiqueta: Etiqueta: 14 passos
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? Très bien.Dans ce tutoriel on va descriure la vie une fois que Nabaztag est branché. C'est parti
Càmera d'infrarojos d'imatges tèrmiques de bricolatge: 3 passos (amb imatges)
Càmera d'infrarojos d'imatges tèrmiques de bricolatge: Hola, sempre busco nous projectes per a les meves lliçons de física. Fa dos anys em vaig trobar amb un informe sobre el sensor tèrmic MLX90614 de Melexis. El millor amb només 5 ° FOV (camp de visió) seria adequat per a una càmera tèrmica de fabricació pròpia. Per llegir
Boe-Bot amb detectors d'infrarojos: 12 passos (amb imatges)
Boe-Bot amb detectors d'infrarojos: aquest instructiu demostrarà com construir i codificar un Boe-Bot que pugui navegar per un laberint mitjançant detectors d'infrarojos per evitar obstacles. Aquesta és una guia fàcil de seguir que permet modificacions fàcils segons les vostres necessitats. Això requereix una base
Etiqueta làser Arduino - Etiqueta Duino: 11 passos (amb imatges)
Etiqueta làser Arduino - Etiqueta Duino: etiquetador Duino - Introducció general L'etiqueta Duino és un sistema d'etiquetes làser basat al voltant de l'arduino. Finalment, un sistema d’etiquetes làser que es pot modificar i piratejar fins que tingueu el sistema d’etiquetes làser perfecte per a material d’oficina, guerres als boscos i suburbis