Hola, soy nuevo el el foro, no soy muy fanático de la electrónica pero estoy con un proyecto para mi facultad que quiero terminar.
Estoy programando un videojuego con un Arduino Leonardo, un Keypad 4x4 y un Display 16x2.
Es el juego de la Memoria, típico que se juega con naipes, tengo una matriz rellena con números Random en parejas de dos:
char matrizGame[ROWS][COLS] = {
{'8','2','2','3'},
{'3','1','4','5'},
{'5','6','7','4'},
{'8','7','1','6'}
};
Como verán, cada numero se repite dos veces y así armar un juego de la Memoria.
Con eso no tengo problema, el juego está terminado, pero me queda un escenario por contemplar que es cuando el usuario apreta dos veces el mismo botón, y saber cuál fue ese botón en la matriz. ¿Como puedo lograr esto? a mi me interesa la posición de la matriz donde se cerró el circuito, y NO el contenido de esa posición.
Como la matriz se carga de manera random cada vez que inicia el juego, y cada valor se repite dos veces, no me sirve el contenido para saber si apretó dos veces el mismo. Por esto necesito determinar la Fila y la Columna que se seleccionó.
Había pensado utilizar digitalRead() para determinar en donde se cerró pero parece que no funciona así el keypad, o yo estoy mal.
void setup() {
pinMode(5, INPUT); //Fila 1 keypad
pinMode(9, INPUT); //Columna 1 keypad
}
void loop() {
if( (digitalRead(9) == HIGH) && (digitalRead(5) == HIGH) ) {
lcd.begin(16, 2);
lcd.print("fila 1 col 1");
}
}
La verdad es la primera vez que escribo en un foro sobre algo de programación, necesito terminar con este proyecto para la facultad.
Escucho ideas de como lograr solucionar el tema de apretar dos veces seguidas el mismo botón.
Muchas Gracias !