Tabla de contenido:
- Paso 1: Partes
- Paso 2: cableado
- Paso 3: cableado alternativo
- Paso 4: Código + Explicación
- Paso 5: Gracias por leer
Video: Pong Tennis con matriz LED, Arduino y joysticks: 5 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Este proyecto está destinado tanto a principiantes como a experimentados. En un nivel básico, se puede hacer con una placa de pruebas, cables de puente y pegarlos a un trozo de material de desecho (yo usé madera) con Blu-Tack y sin soldadura. Sin embargo, en un nivel más avanzado, se puede soldar a una placa de perforación o una PCB personalizada.
Como se trataba de un proyecto de bloqueo, no tuve acceso a muchas herramientas o materiales, por lo que está pegado a un trozo de madera de desecho que es un poco demasiado pequeño con Blu-Tack, sin embargo, a pesar de esto, es un proyecto divertido que se combina. rápidamente y se compone de piezas comúnmente disponibles que se pueden encontrar en línea a bajo precio.
Paso 1: Partes
Para hacer el juego de Pong necesitas;
- 1x Un Arduino (cualquier tipo funcionará)
- Matrices LED 4x MAX7219 8x8
- 2x joysticks
- 1x zumbador piezoeléctrico (opcional)
- 15 cables de puente hembra-hembra (3 grupos de 5)
- 15 cables de puente macho-hembra (3 grupos de 5)
- 18 cables de puente macho-macho
- 1x tablero
- 1x resistencia de 220Ω
En lugar de una placa Arduino Uno o Nano, puede usar un Arduino basado en placa de pruebas con;
- 1x ATmega328p 28 pines IC
- 1x oscilador de cristal de 16 kHz
- Condensadores cerámicos de 2x 22pF
- 1x convertidor USB FTDI UART
- Condensador electrolítico 1x 100uF
- 1x Micro USB Breakout (opcional)
Instrumentos;
- PC con Arduino IDE (y biblioteca LedControl)
- Cable USB relevante para su Arduino
- Power Bank para alimentar el juego lejos de tu computadora
Paso 2: cableado
El cableado es muy simple ya que todo lo que necesita son cables de puente para conectar los encabezados de Matrices y Joysticks al Arduino. La única complicación es la energía, ya que Arduino Uno solo tiene 3 conexiones GND y una conexión de 5v. Aquí es donde entra la placa de pruebas y actúa como un riel de distribución de energía para todos los componentes. Si está utilizando un NANO, la placa de pruebas tendrá el mismo propósito y le permitirá enchufar todo.
Para el cableado, siga estas conexiones.
- Joystick izquierdo: GND y 5v a sus respectivos rieles de alimentación. SW - patilla 9, VRx - A0, VRy - A1.
- Joystick derecho: GND y 5v a sus respectivos rieles de alimentación. SW - patilla 8, VRx - A2, VRy - A3.
- Matriz de LED más a la derecha: GND y 5v a sus respectivos rieles de alimentación. DIN - 13, CS - 11, CLK - 12. (Según línea 25)
- Todas las demás matrices LED se pueden conectar en cadena desde la salida de la primera yendo de derecha a izquierda para que el código funcione correctamente.
- Zumbador opcional - Ánodo (+) a través de una resistencia limitadora de corriente de 220 Ω al pin 10, cátodo (-) - GND.
Paso 3: cableado alternativo
Después de conectarlo con un Arduino UNO para ahorrar espacio, decidí colocar el Arduino IC de UNO en la placa de pruebas con un oscilador de cristal de 16Mhz y un par de capacitores de 22pF de cada lado a tierra. Siento que esta fue una modificación que valió la pena, ya que hace que el proyecto se vea más ordenado y terminado, sin embargo, debe usar un programador USB FTDI para actualizar el programa.
Paso 4: Código + Explicación
Para cargar el código en Arduino, descargue la biblioteca LedControl de GitHub aquí, github.com/wayoda/LedControl y agregue el archivo Zip o agréguelo a través del Administrador de bibliotecas dentro del IDE. Después de eso, abra el boceto adjunto, seleccione su Arduino en la configuración de la placa y el puerto en herramientas y cárguelo en el arduino.
Explicación
Línea 1: agrega la biblioteca
Línea 5-23: configura todas las variables, constantes y números de pin.
Línea 25: configura el LED Martix y configura los pines de control y cuántas pantallas.
Línea 27: Configura la función de reinicio.
Línea 30-35: Función de apagado para encender / apagar todas las pantallas a la vez.
Línea 38-43: función SetIntensity para configurar el brillo de todas las pantallas juntas.
Línea 46-51: función ClearAll para limpiar todas las pantallas juntas.
Línea 53-64: Joystick Función para obtener la posición de los joysticks, mapearlos a las 7 posibles posiciones del bate para golpear la pelota y luego mover el bate a la nueva posición.
Línea 67-435: Función que mueve la pelota hacia el jugador izquierdo a la altura y velocidad especificadas, verifica si el jugador la golpeó y continúa y establece el estado de choque en verdadero o rebota la pelota, agrega 1 al puntaje y aumenta la velocidad.
Línea 438-811: Función que mueve la pelota hacia el jugador correcto a la altura y velocidad especificadas, verifica si el jugador la golpeó y continúa y establece el estado de choque en verdadero o rebota la pelota, agrega 1 al puntaje y aumenta la velocidad.
Línea 813-823: función para mostrar una cara sonriente, una marca, una cruz o un signo de interrogación en la pantalla especificada (0 a la derecha a 3 a la izquierda).
Línea 861-979: Función para mostrar los números del 0 al 9 en la pantalla especificada.
Línea 981-1047: función para mostrar el puntaje en el lado de la pantalla de cada jugador.
Línea 1049-1064: Función para comprobar si el reproductor está listo.
Línea 1066-1076: Sección de configuración del código para el código que se ejecuta una vez cuando se inicia el programa.
Línea 1078-1136: Sección Main Loop para lógica de juego donde se utilizan todas las funciones y donde se decide quién gana y luego reinicia el programa después de 5 segundos de mostrar la puntuación.
Paso 5: Gracias por leer
Gracias por leer este Instructable, fue un proyecto de bloqueo divertido que se desarrolló durante un par de días mientras aprendía más sobre la programación de Arduino. Si lo disfrutó, no dude en votarlo en el concurso Arduino.
Recomendado:
Luz de reloj con pantalla de matriz de tira de LED controlada por WiFi: 3 pasos (con imágenes)
Luz de reloj con pantalla de matriz de tira de LED controlada por WiFi: tiras de LED programables, p. Ej. basados en WS2812, son fascinantes. Las aplicaciones son múltiples y rápidamente puede obtener resultados impresionantes. Y de alguna manera la construcción de relojes parece ser otro dominio en el que pienso mucho. Comenzando con algo de experiencia en
Matriz de puntos de reloj inteligente IoT Use Wemos ESP8266 - Matriz ESP: 12 pasos (con imágenes)
Matriz de puntos del reloj inteligente de IoT Use Wemos ESP8266 - Matriz de ESP: haga su propio reloj inteligente de IoT que pueda: Mostrar el reloj con un hermoso icono de animación Mostrar Recordatorio-1 a Recordatorio-5 Mostrar Calendario Mostrar tiempos de oración musulmanes Mostrar información meteorológica Mostrar noticias Mostrar consejos Mostrar Pantalla de tasa de Bitcoin
Pantalla de matriz de LED con desplazamiento de 48 x 8 con Arduino y Shift Registers: 6 pasos (con imágenes)
Pantalla de matriz de LED de desplazamiento de 48 x 8 usando Arduino y Shift Registers .: ¡Hola a todos! Este es mi primer Instructable y se trata de hacer una matriz de LED de desplazamiento programable de 48 x 8 usando un Arduino Uno y los registros de desplazamiento 74HC595. Este fue mi primer proyecto con una placa de desarrollo Arduino. Fue un desafío que se me dio
Control de matriz de LED con Arduino Uno (cara de robot con tecnología Arduino): 4 pasos (con imágenes)
Control de matriz de LED con Arduino Uno (cara de robot con tecnología Arduino): este instructivo muestra cómo controlar una matriz de matrices de LED de 8x8 usando un Arduino Uno. Esta guía puede usarse para crear una pantalla simple (y relativamente barata) para sus propios proyectos. De esta manera, puede mostrar letras, números o animaciones personalizadas
Telesketch Arduino con matriz de LED: 6 pasos (con imágenes)
Arduino Telesketch con Led Matrix: Aquí hay solo una guía simple para crear un telesketch usando un Arduino. Este diseño utiliza un Arduino, dos matrices led de 8x32, un Buzzer, dos codificadores rotatorios y algunos botones. Esperamos que aprenda a utilizar codificadores rotativos y matriz de led. También saltó