|
| 1 | +#include "Arduino_LED_Matrix.h" |
| 2 | +#include "gallery.h" |
| 3 | +#include "PushButton.h" |
| 4 | +#include "Nivel4.h" |
| 5 | + |
| 6 | +// Código de referencia del repositorio de la Sofi Etchepare |
| 7 | +// lenguaje de c++ para detectar posibles errores en el código y valores |
| 8 | +//por lo que lo usamos ahora para definir los estados de nuestro dispopsitivo |
| 9 | +enum State { |
| 10 | + // estado de reposo |
| 11 | + STANDBY, |
| 12 | + // primer nivel introductorio |
| 13 | + NIVEL_PUNTO, |
| 14 | + // segundo nivel introductorio |
| 15 | + NIVEL_LINEA, |
| 16 | + // en este nivel el usuario debera mantener presionado o clikear el boton, respectivamente para escribir una letra M en morse |
| 17 | + NIVEL1, |
| 18 | + // en este nivel el usuario debera mantener presionado o clikear el boton, respectivamente para escribir una letra O en morse |
| 19 | + NIVEL2, |
| 20 | + // en este nivel el usuario debera mantener presionado o clikear el boton, respectivamente para escribir una letra R en morse |
| 21 | + NIVEL3, |
| 22 | + // en este nivel el usuario debera mantener presionado o clikear el boton, respectivamente para escribir una letra s en morse |
| 23 | + NIVEL4, |
| 24 | + // en este nivel el usuario debera mantener presionado o clikear el boton, respectivamente para escribir una letra A en morse |
| 25 | + NIVEL5, |
| 26 | + // al lograr pasar todos los niveles, el usuario visualizara una pequeña morsa guiñando el ojo en felicitación |
| 27 | + NIVEL_FINAL |
| 28 | +}; |
| 29 | + |
| 30 | + |
| 31 | +// el pin es donde se conecta el botón al arduino, en este casi en la ranura número 2 |
| 32 | +const int BOTON_ENTRADA = 2; |
| 33 | + |
| 34 | + |
| 35 | +//estado actual en espera |
| 36 | +State currentState = STANDBY; |
| 37 | + |
| 38 | + |
| 39 | +// comandos utilizados de edgar pon para usar botones en arduino con if-else https://edgarpons.com/botones-en-arduino-y-comandos-if-else/ |
| 40 | + |
| 41 | + |
| 42 | +void setup() { |
| 43 | + // configurar las entradas |
| 44 | + pinMode(BOTON_ENTRADA, INPUT_PULLUP); |
| 45 | + Serial.begin(9600); |
| 46 | +} |
| 47 | +// aqui se ponen todos los comandos que el ardino debe de ejecutar haciandolos que esten en continua funcionamiento, que pase mas de una vez |
| 48 | +void loop() { |
| 49 | + //sirve para leer un valor (o poner en un estado) un pin digital. |
| 50 | + switch (currentState) { |
| 51 | + // en este estado esperamos la accion del usuario |
| 52 | + // 'presionar cualquie boton para que empiece el juego' y asi cambie a un estado activo |
| 53 | + case STANDBY: |
| 54 | + { |
| 55 | + Serial.println("En estado STANDBY"); |
| 56 | + int lecturaA = digitalRead(BOTON_ENTRADA); |
| 57 | + |
| 58 | + // presiona cualquier boton para salir del estado standby y pasa a estado NIVEL4 |
| 59 | + if (!lecturaA) { |
| 60 | + currentState = NIVEL4; |
| 61 | + } |
| 62 | + break; |
| 63 | + } |
| 64 | + case NIVEL4: |
| 65 | + { |
| 66 | + Serial.println("En estado NIVEL4"); |
| 67 | + //if (animacionA) aparece en la pantalla{ |
| 68 | + //se presiona lecturaA |
| 69 | + //} |
| 70 | + BOTON_ENTRADA.update(2); |
| 71 | + |
| 72 | + if bool(BOTON_ENTRADA.isClicked(3);) |
| 73 | + |
| 74 | + matrix.loadFrame(Nivel4); |
| 75 | + }; |
| 76 | + //if (animacionA) aparece en la pantalla{ |
| 77 | + //se presiona lecturaA |
| 78 | + //} |
| 79 | + //}else{} (quizas) si no lo hace en el tiempo establecido pierde vida |
| 80 | + break; |
| 81 | + } |
| 82 | +}; |
| 83 | + |
0 commit comments