Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Luz LED Whack-a-mole

Componentes y suministros

Arduino UNO
× 1
LED
× 7
Resistencia 221 ohm
× 7
Joystick analógico (genérico)
× 1
Cables de puente (genéricos)
× 8
Cables de puente macho / hembra
× 4

Acerca de este proyecto

Este fue mi primer proyecto Arduino, lo construí basándome en lo que aprendí en los primeros tutoriales sobre LED y controles básicos.

Este juego de "Whack-a-mole" utiliza 7 LED y un joystick. Hay 4 "topos", representados por las luces 2, 3, 4 y 5 de la izquierda en mi tablero. Una de las cuatro luces se iluminará aleatoriamente y le dará una cantidad determinada de tiempo para presionar la dirección correspondiente en el joystick. He dispuesto mis luces de modo que, de izquierda a derecha, las selecciones del joystick sean:izquierda, arriba, abajo, derecha. Esta es solo la convención que elegí, ¡tan creativa y prueba otras!

Las dos luces de la izquierda son rojas y verdes, lo que indica una elección incorrecta o correcta. La luz amarilla en el extremo derecho parpadea el recuento de la puntuación más alta actual e indica la puntuación cada vez que finaliza una carrera (siempre que se haga una elección incorrecta). Naturalmente, un nuevo puntaje alto reemplaza al anterior.

Quizás la parte más complicada de este proyecto es el joystick analógico. Para ambas direcciones del joystick, hay valores máximos de 0 y 1024 (para el mío, tuve que usar 1023, así que si no obtiene las selecciones correctas, puede intentarlo). Creo que estos valores también se pueden medir utilizando una ventana en serie. Simplifiqué estos valores de entrada usando declaraciones de cambio para las entradas x e y. No estoy seguro de si esta es la mejor manera de hacerlo, pero debido a que solo necesitaba los valores máximos de cada dirección (es decir, solo 4 opciones, 4 moles de LED), asigné valores enteros a cada posibilidad:1, 2, 3, 4 correspondiente a Izquierda, Derecha, Arriba, Abajo.

Los niveles de dificultad que he escrito en mi código como constantes, son el tiempo en milisegundos que la persona tiene para hacer una selección. Puede jugar con estos tiempos para cambiar la dificultad según sus preferencias. Pensé en integrar una opción usando botones o tal vez el joystick al comienzo de un turno, pero realmente no valió la pena el trabajo, ya que creo que sería bastante complicado y no realmente fácil de usar.

Por supuesto, hágame saber qué modificaciones y mejoras se pueden hacer. :)

Código

  • WhackALED
WhackALED Arduino
 // Golpea un LED // Variables del joystickint sX =A0; // joystick eje x, entrada analógicaint sY =A1; // eje y del joystick, entrada analógicaint sSX; // estado de x, leyendo de sXint sSY; // estado de y, leyendo de sYint sS; // estado convertido (puede que no sea el más eficiente) // Variables del juegoint rNum; // random int eligiendo la luz aleatoria para encenderint wins =0; // contando victorias consecutivas highScore =0; // guardar la puntuación más alta de victorias consecutivas // Constantes de dificultad, tiempo para reaccionarconst int easy =1000; const int medium =500; const int hard =325; const int stupid =250; int ledPins [] ={5,2, 4,3,6,7,8}; // inicializando led'sint pinCount =7; // número de configuración led pinsvoid () {Serial.begin (9600); pinMode (sX, INPUT); pinMode (sY, INPUT); for (int thisPin =0; thisPin  highScore) {// si las victorias consecutivas son más que la puntuación más alta anterior, se establece la nueva puntuación más alta. highScore =gana; gana =0; } for (int i =0; i <=3; i ++) {// luz roja parpadeante que indica una elección incorrecta digitalWrite (ledPins [5], HIGH); retraso (50); digitalWrite (ledPins [5], BAJO); retraso (50); } for (int w =0; w   

Esquemas

Todo debe coincidir con la imagen real del proyecto, excepto el joystick. Mi joystick tiene 5 pines, 4 o los que he usado:nombrados de arriba a abajo "GND", "+ 5V", "VRx" y "VRy". "GND" y "+ 5V" están conectados a GND y 5V en el arduino, "VRx" y "VRy" están conectados a A0 y A1. Todo debe coincidir con la imagen real del proyecto, excepto el joystick. Mi joystick tiene 5 pines, 4 o los que he usado:nombrados de arriba a abajo "GND", "+ 5V", "VRx" y "VRy". "GND" y "+ 5V" están conectados a GND y 5V en el arduino, "VRx" y "VRy" están conectados a A0 y A1. whack_a_mole_schematic_CBciL9GiCP.fzz

Proceso de manufactura

  1. Linterna de gas
  2. Puntero láser
  3. Linterna
  4. Caleidoscopio
  5. Láser semiconductor
  6. Fotografía
  7. Señal de tráfico
  8. Diodo emisor de luz (LED)
  9. Desgarrando una luz LED basada en Zigbee
  10. Accesorios LED:accesorios para tiras de luces LED
  11. Comprensión de las luces e indicadores del tablero del automóvil