//Programa Matricial Ejemplo 2 //Presionando 1 enciende LED verde //Presionando 2 enciende LED rojo //Presionando 3 apaga ambos LEDs #include const byte Filas = 4; //Cuatro filas const byte Cols = 4; //Cuatro columnas byte Pins_Filas[] = {7, 6, 5, 4}; //Pines Arduino para las filas byte Pins_Cols[] = { 3, 2, 9, 8}; // Pines Arduino para las columnas char Teclas [ Filas ][ Cols ] = //Define que símbolos corresponden a cada //posición de las teclas. { {'7','8','9','/'}, {'4','5','6','X'}, {'1','2','3','-'}, {'C','0','=','+'} }; Keypad Teclado1 = Keypad(makeKeymap(Teclas), Pins_Filas, Pins_Cols, Filas, Cols); void setup() { pinMode(13, OUTPUT); // configura ‘pin’ como salida- LED ROJO pinMode(12, OUTPUT); // configura ‘pin’ como salida- LED VERDE Serial.begin(9600) ; //digitalWrite(12,HIGH );//Enciende LED Rojo //digitalWrite(13,HIGH );//Enciende LED verde } void loop() { int pulsacion = Teclado1.getKey() ; /* La instruccion Teclado1.getKey() entrega el codigo ASCII de lo que * viene del teclado matricial (o se dato tipo char). * Por ejemplo cuado llega lo que se genera al presionar (1) * entonces se envia 49. Si (2) se envia 50. Si (3) se envia 51. * Recuerde la tabla ASCII y vea el apunte EnvioCaracteresArduino.pdf */ if (pulsacion != 0) { Serial.println(pulsacion); // se ha pulsado ninguna tecla } if(pulsacion == 49) { digitalWrite(12,HIGH );//Enciende LED Rojo Serial.println(pulsacion); } if(pulsacion== 50) { digitalWrite(13,HIGH );//Enciende LED Verde Serial.println(pulsacion); } if(pulsacion== 51) { digitalWrite(12,LOW ); digitalWrite(13,LOW ); Serial.println(pulsacion); } }