Tabla de contenido:
- Paso 1: Materiales
- Paso 2: configuración del servidor
- Paso 3: Configuración de Raspberry Pi
- Paso 4: Montaje de la pistola
- Paso 5: Juego
- Paso 6: Mejoras futuras
Video: Etiqueta láser infrarroja con Raspberry Pi Zero: 6 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Este Instructable recorrerá el proceso para crear un juego de etiqueta láser infrarroja utilizando una computadora servidor base y un cero Raspberry Pi para cada jugador. El proyecto depende en gran medida de una conexión Wifi para comunicarse con el servidor, lo que hace que Pi sea un gran candidato.
El servidor utilizado en este proyecto era una vieja computadora de escritorio con Linux. La computadora no necesita ser nada especial, y probablemente incluso podría ejecutarse desde una Raspberry Pi 3. El servidor y cada uno de los cero pi deben estar conectados a la misma red durante el juego.
Paso 1: Materiales
La descripción y algunos enlaces de los materiales necesarios se muestran a continuación. La siguiente lista de materiales es para 3 pistolas.
- Computadora servidor (1)
- Frambuesa Pi Zero W (3) Adafruit
- Tarjeta SD de al menos 4GB (3) Amazon
- Transmisor de LED IR (3)
- Receptor de infrarrojos (6) Amazon
- LED rojo (3)
- LED azul (3)
- LED verde (3)
- Zumbador pasivo (3) Amazon
- Botón pulsador (6)
- Pantalla LCD 16x2 con adaptador I2C (3) Amazon
- Paquete de batería portátil (3) Amazon
- Cable USB micro a normal (3) Amazon
- Transistor PN2222 (3)
- Resistencia de 100Ω (3)
- Resistencia de 1kΩ (9)
Elementos opcionales:
- Chaleco (3) Amazon
- Extensión de cable plano (3) Amazon
En este proyecto, terminamos tomando el transmisor LED de infrarrojos de un conjunto antiguo de pistolas láser que tenían un cono negro alrededor del transmisor para ayudar a reducir el disparo de cada arma. Sin embargo, cualquier transmisor general debería funcionar.
Además de los elementos enumerados anteriormente, las pistolas láser se imprimieron en 3D. Por lo tanto, este proyecto también requeriría acceso a una impresora 3D y un filamento. En general, por tres armas, el total fue de unos 350 dólares.
Paso 2: configuración del servidor
Lo primero que se necesita para configurar el servidor es instalar Mosquitto MQTT Broker Service. Mosquitto es el servicio que proporciona un marco de comunicación entre cada uno de los dispositivos del juego. Esto permite que el servidor envíe mensajes a cada uno de los Pis conectados al servicio. En la terminal, ejecute los siguientes comandos.
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
Algunas de las GUI para el servidor se crearon utilizando un diseñador de GUI llamado Pygubu. Esto se puede instalar ejecutando:
pip3 instalar pygubu
Puede encontrar más información sobre pygubu en
Una vez que MQTT y Pygubu estén instalados, cree un nuevo directorio y copie los archivos adjuntos. El directorio debe incluir:
- ltag.py
- pregame.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- home.png
- self.png
- enemigos.png
- laser.jpg
Nota: Las imágenes adjuntas utilizadas en este proyecto no fueron creadas por el equipo de desarrollo y, por lo tanto, no reclaman la autoría.
Paso 3: Configuración de Raspberry Pi
Este paso deberá repetirse en cada uno de los Raspberry Pis.
1. Instale el sistema operativo
Primero, comience con una nueva instalación de Raspbian. Recomendamos usar la versión Lite ya que es menos para que la maneje el Pi, pero cualquiera de las versiones debería funcionar bien. La descarga se puede encontrar en
2. Instale MQTT
A continuación, debemos instalar el servicio de agente de MQTT. Usaremos Mosquitto para esto. En la terminal, ejecute los siguientes comandos.
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 es el servicio que proporciona un marco de comunicación entre cada uno de los dispositivos del juego. Esto permite que el servidor envíe mensajes a cada uno de los Pis conectados al servicio.
3. Instale las herramientas I2C
El siguiente comando instalará las bibliotecas que se utilizan para la pantalla LCD.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt-get install rpi.gpio -y
Es posible que deba cambiar la dirección i2c en el archivo lcddriver.py. La dirección se puede encontrar ingresando el siguiente comando.
i2cdetect -y 1
4. Instale y configure LIRC
Cree un nuevo directorio y descargue los archivos adjuntos a esta ubicación.
La mayoría de los navegadores de Internet no descargarán archivos sin extensiones. Para solucionar esto, dos de los archivos se cargaron con extensiones temporales. Tanto "lircrc.deleteExtension" como "modules.deleteExtension" deberían ser sin extensión y los archivos deberían cambiarse de nombre a "lircrc" y "módulos" después de que se hayan descargado correctamente.
Este paso instala y configura las dependencias para el paquete de control remoto por infrarrojos de Linux (LIRC). Para obtener más información, consulte el tutorial para configurar LIRC en:
Primero instale la biblioteca, luego copie los archivos incluidos en sus respectivos directorios como se muestra en los comandos a continuación. Finalmente, reinicie el servicio lircd.
sudo apt-get install python3-lirc -y
Desde el directorio recién creado, ejecute los siguientes comandos para mover los archivos de configuración a sus ubicaciones correctas.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf / etc / lirc /
módulos sudo mv / etc /
Luego reinicie el servicio lircd ejecutando:
sudo /etc/init.d/lircd reiniciar
A continuación, edite el archivo /boot/config.txt y agregue la siguiente línea
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Reinicie su pi para permitir que los cambios surtan efecto.
sudo reiniciar
5. Habilite I2C y edite CLIENTE para cada jugador
A continuación, habilitaremos la interfaz I2C. Esto se puede hacer usando
sudo raspi-config
y habilitando el I2C en el menú "Opciones de interfaz".
6. Edite Player CLIENT y LTSERVER
El directorio del juego ahora debería incluir los cuatro archivos restantes.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- player.py
El último paso para configurar el pi es asignar a cada pi un número de CLIENTE y agregar la ubicación del servidor. Esto se hace editando el archivo "player.py" incluido para cada pi para que todos tengan un número de CLIENTE diferente. El número de CLIENTE se asigna en la línea 3 de player.py. Asigne el primer pi como cliente "1", el segundo como "2" y el tercero como cliente "3".
La línea LTSERVER debe cambiarse a la dirección IP del servidor. Esto se encuentra escribiendo 'ifconfig | grep "inet addr" 'en la terminal de la computadora servidor.
Paso 4: Montaje de la pistola
Proceda a cablear cada una de las pistolas de acuerdo con el diagrama de cableado y el esquema anterior.
Cada uno de los periféricos está conectado a los siguientes pines GPIO en el Pi Zero:
- Zumbador: GPIO5
- Activador: GPIO26
- Recargar: GPIO12
- Transmisor de infrarrojos: GPIO25
- Receptores de infrarrojos: GPIO18
- LED ROJO: GPIO17
- LED VERDE: GPIO27
- LED AZUL: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Consulte el esquema para obtener más detalles.
Si lo desea, las pistolas láser se pueden imprimir en 3D utilizando los archivos de modelo de pasos incluidos. Tenga en cuenta que se deben imprimir dos de los archivos "front1STL. STL".
Paso 5: Juego
El juego se inicia ejecutando el archivo "ltag.py" en el servidor. Una vez hecho esto, cada uno de los jugadores puede conectarse al servidor ejecutando su respectivo archivo "player.py".
Nota: Después de enchufar la batería, el pi puede tardar hasta un minuto en arrancar.
También puede ser útil agregar un trabajo cron que ejecute automáticamente el archivo player.py una vez que se inicie pi. Nos costó mucho hacer que esto funcionara y terminamos agregando una línea al archivo "/etc/rc.local" en cada uno de los Pis para ejecutar el archivo "player.py". Esto permite que el juego se inicie sin tener que SSH en el Pi para ejecutar el script del jugador.
Una vez que el juego se ha iniciado con los jugadores listos, aparecerá una GUI que permite configurar algunas de las configuraciones del juego. El juego comienza después de que se presiona el botón Inicio.
Después de cada juego, aparecerá una GUI final con estadísticas sobre el juego anterior, incluidas las etiquetas, los porcentajes globales y la duración del juego.
Nota: Debido a las limitaciones de las bibliotecas de software, las ubicaciones de las etiquetas del informe de precisión no son representativas de las etiquetas láser reales. En la versión actual, la imagen del Informe de precisión del jugador es puramente estética con la esperanza de una versión futura con implementación real de la ubicación de la etiqueta.
Paso 6: Mejoras futuras
En general, el proyecto fue un gran éxito. En el camino, pensamos en algunas características adicionales que pueden agregarse a una edición futura.
- Diseño de gatillo más resistente para las pistolas impresas en 3D
- Finalizar el menú desplegable de la GUI para mostrar estadísticas de juegos anteriores
- Más receptores de infrarrojos que se pueden conectar a los chalecos de los jugadores
- Modos de juego adicionales que se pueden elegir en la GUI previa al juego
- Algoritmo de ubicación de etiqueta más preciso en la página de estadísticas de los jugadores
Recomendado:
Instalación De La Carte TagTagTag Pour Nabaztag: etiqueta / Instalación de la placa TagTagTag en su Nabaztag: etiqueta: 23 pasos
Instalación De La Carte TagTagTag Pour Nabaztag: tag / Instalación de la placa TagTagTag en su Nabaztag: tag: (ver más abajo la versión en inglés) La carte TagTagTag a été créée en 2018 lors de Maker Faire Paris pour faire renaitre les Nabaztag et les Nabaztag: tag . Elle a fait l'objet ensuite d'un financement participatif sur Ulule en juin 2019, si vous souhaitez
Vivre Avec Nabaztag: Etiqueta: Etiqueta: 14 Pasos
Vivre Avec Nabaztag: Etiqueta: Etiqueta: 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 décrire la vie une fois que Nabaztag est branché. C'est parti
Cámara infrarroja de imágenes térmicas de bricolaje: 3 pasos (con imágenes)
Cámara infrarroja de imágenes térmicas de bricolaje: ¡Hola! Siempre estoy buscando nuevos proyectos para mis lecciones de física. Hace dos años me encontré con un informe sobre el sensor térmico MLX90614 de Melexis. El mejor con solo 5 ° FOV (campo de visión) sería adecuado para una cámara térmica de fabricación propia. Para leer
ALARMA INFRARROJA DE ROBO: 4 pasos (con imágenes)
ALARMA INFRARROJA DE ROBO: El circuito de alarma de seguridad basado en infrarrojos puede detectar cualquier movimiento y activar la alarma. Este circuito es muy útil en viviendas, bancos, comercios, zonas restringidas donde se necesita una alarma de alerta ante cualquier movimiento. Este circuito se basa en un sensor de infrarrojos donde un haz de infrarrojos i
Etiqueta láser Arduino - Etiqueta Duino: 11 pasos (con imágenes)
Etiqueta láser de Arduino - Etiqueta de Duino: Etiqueta de Duino - Introducción general La etiqueta de Duino es un sistema de etiqueta de láser basado en el arduino. Finalmente, un sistema de etiquetas láser que puede modificarse y piratearse hasta que tenga el sistema de etiquetas láser perfecto para artillería de oficina, guerras de bosques y suburbios