Seguro que conoces este juego:
Era muy popular cuando era pequeña y hoy en día se sigue vendiendo en muchas juguetearías. Los clásicos nunca mueren.
Si no lo conoces no te preocupes que te explico su funcionamiento ahora mismo para que entiendas el proyecto que vamos a hacer con Arduino.
El Simón es de un juego de memoria. Como puedes ver en la imagen tiene 4 luces (verde, roja, azul y amarilla). Las luces a su vez son botones. El juego hace secuencias aleatorias de colores con las luces y el usuario tiene que intentar repetirlas pulsando los botones en el mismo orden. La primera secuencia es un color y en cada ronda se añade un color nuevo aleatorio, ahí está la dificultad puesto que las secuencias son cada vez más largas.
No se si has llegado a jugar con este juego, pero ahora puedes construir tu propio Simón con un Arduino.
El circuito para este proyecto es bastante sencillo, aunque la lógica de programación es un poco más compleja, así que he dividido el proyecto en 4 partes para que puedas seguirlo paso a paso y seas capaz de construir tu propio juego Simón con Arduino.
A continuación tienes todas las partes del proyecto en orden, ve accediendo a cada una y no pases a la siguiente hasta que completes la anterior, de esa forma entenderás todo sin problema y podrás completar el proyecto satisfactoriamente.
Al final de la página tienes el enlace al repositorio de GitHub en el que he dejado el código completo para que puedas consultarlo si te atascas o tienes alguna duda, pero ¡No hagas trampa! No lo copies directamente, sigue los pasos y ve construyendo tu Simón poco a poco. Estoy segura que aprenderás mucho con este proyecto 😉.
Parte 1: Los LEDs y los pulsadores
En esta primera parte veremos cómo hacer el circuito y cómo configurar los pines digitales necesarios para que los pulsadores y los LEDS funcionen correctamente.
También definiremos algunas constantes y estructuras de datos que serán muy útiles en el desarrollo del proyecto.
Parte 2: Las secuencias y las rondas
Aquí veremos cómo generar las secuencias aleatorias de colores que luego se traducirán en secuencias de luces en los LEDs.
Modularizaremos el código con funciones para que sea mucho más fácil de entender y de aplicar.
Parte 3: El turno del jugador
El jugador repite las secuencias presionando pulsadores y eso es lo que haremos en esta parte. Leeremos las pulsaciones del jugador para comprobar si son correctas o no.
También programaremos el flujo completo del juego controlando el final del mismo.
Parte 4: El desenlace
En esta última parte haremos un efecto con los LEDs para que el usuario sepa que el juego ha llegado a su fin y el resultado, es decir, si ha ganado o no.
Descarga el sketch completo desde aquí.