Baloncesto

¡Mete una canasta!

En este juego, los jugadores tratarán de hacer botar una pelota de ping pong y meterla en una taza. Para ganar, mete cinco puntos. Las anotaciones se registran utilizando un LDR, Light Dependent Resistor (resistencia dependiente de luz).

Materiales

  • 1 placa Arduino
  • 1 Shield Educativa
  • 1 Tinkerkit LDR
  • 1 cable Tinkerkit
  • 1 altavoz o piezoeléctrico
  • 5 LEDs
  • 5 resistencias 220 ohm
  • 6 cables negros
  • 6 cables de colores
  • 1 taza de plástico
  • 1 pelota de ping pong
  • cinta adhesiva
  • tijeras/cuchillo

Instrucciones

  1. Conecta la shield a la parte superior de tu placa Arduino.
  2. Conecta cinco LEDs a través del puente de la breadboard.
  3. Conecta la resistencia de 220 ​​ohm al Pin digital 2. Conecta la resistencia a la pata larga del primer LED.
  4. Conecta cada Pin digital de 3 a 6 a su LED correspondiente siguiendo el mismo método.
  5. Conecta la pata corta de los LEDs a un Pin GND de Arduino utilizando los cables negros.
  6. Conecta con un cable rojo el zumbador al Pin digital 8 y con uno negro a GND.
  7. Conecta el módulo TinkerKit LDR al conector A1 de tres puertos.
  8. Carga el ejemplo LDRtest para probar las condiciones de iluminación. Abre el monitor serial y sujeta la LDR verticalmente. Toma nota del valor al descubierto (uncovered).
  9. Coloca una pelota de ping-pong encima de la LDR. Anota el valor al cubierto (covered). Haz el promedio de los dos números, lo que te dará es el valor umbral threshold.
  10. Abre el ejemplo Basketball.
  11. Busca la línea ldr.config (# # # # # #), y cambia los parámetros # # # al valor al descubierto (uncovered) y el valor umbral (threshold), respectivamente.
  12. Carga Basketball y prueba el juego.

  13. Corta un agujero en el fondo del vaso de plástico para que se ajuste la LDR.
  14. Coloca la LDR en el agujero, y pégalo (no cubras la LDR). Pega el vaso de plástico a tu mesa, para que se mantenga de pié.

Código

Puedes encontrar el código en Archivo -> Ejemplos ->EducationShield>Block2-Sports>Projects>Baketball


Cómo funciona

La variable score irá contando en tu marcador. Cada vez que cubres la LDR, esta detecta un valor superior al umbral y la puntuación se incrementará con 1. Según la puntuación, se irán encendiendo los LEDs que haya en el VU-meter. Se reproducirá una pequeña melodía. Al final de la función loop() el programa verifica si la puntuación es mayor o igual a la cantidad de LEDs conectados a la placa. Si lo es, el programa salta otra vez a startOver(). Allí, el marcador se pone a cero otra vez, sonará una melodía de victoria y todos los LEDs parpadearán. Después de esto, el programa comienza de nuevo en loop().

¿No funciona?

  1. Revisa la ilustración y asegúrate de que están bien hechas todas las conexiones.
  2. ¿No anota tus puntos? Intenta cambiar el threshold más cerca de baseValue. Mira la referencia del sensor LDR para corregir errores.
  3. ¿El VU-meter no funciona correctamente? Mira la referencia VU-meter para corregir posibles errores.

¡Sigue experimentando!

  • ¿Puedes añadir más LEDs y aumentar la puntuación? ¡No olvides añadirlos tanto físicamente a la placa como al código del programa!
  • ¿No te acaban de gustar los sonidos que emite el piezo? Prueba a hacer tus propias melodías.
  • Intenta cambiar la manera en que parpadean los LEDs cuando finaliza el juego. Mira el código de ejemplo VUMeterTest para ver los comandos que puedes utilizar.