/* Autor: Gabriel M. Bermudez Email: gabrielbermudez0@gmail.com Este codigo puede ser usado en cualquier arduino si desea simular el teclado por consola, en caso de querer escribir con el teclado en la computadora es importante descomentar la linea 7 del programa, que incluye la libreria keyboard.h y la linea 19, donde se inicia el objeto Keyboard */ //#include //Si usa un Arduino Pro Micro o Leonardo, por favor descomente esta linea, Arduinos como el Uno, no admiten esta libreria byte h=0,v=0; const unsigned long periodo=50; unsigned long kdelay=0; const byte filas=3; //Remplazar el valor de filas, por las de su matriz const byte columnas=8; //Remplazar el valor de columna, por las de su matriz const byte salida[filas]={12,11,10}; //Remplazar los valores en las llaves, por los pines que uso en su arduino const byte entrada[columnas]={9,8,7,6,5,4,3,2}; bool estado=true; void setup() { //Keyboard.begin(); pinMode(A0, OUTPUT); //Declaro como salida a los dos led pinMode(A1, OUTPUT); digitalWrite(A0,HIGH); //Al inicio del programa el led verde queda encendido, estado 1 for(byte i=0;iperiodo) { kdelay=millis(); switch (Teclado()){ case 0: if(estado){ //Corresponde a estado: 1 //Keyboard.println("Hola Mundo"); //Esto escribira en la computadora el famoso "Hello World" Serial.println("1"); // break; }else{ //Corresponde a estado: 2 Serial.println("Java1"); break; } case 1: if(estado){ Serial.println("2"); break; }else{ Serial.println("Java2"); break; } case 2: if(estado){ Serial.println("3"); break; }else{ Serial.println("Java3"); break; } case 3: if(estado){ Serial.println("4"); break; }else{ Serial.println("Java4"); break; } case 4: if(estado){ Serial.println("5"); break; }else{ Serial.println("Java5"); break; } case 5: if(estado){ Serial.println("6"); break; }else{ Serial.println("Java6"); break; } case 6: if(estado){ Serial.println("7"); break; }else{ Serial.println("Java7"); break; } case 7: if(estado){ Serial.println("8"); break; }else{ Serial.println("Java8"); break; } case 8: if(estado){ Serial.println("9"); break; }else{ Serial.println("Java9"); break; } case 9: if(estado){ Serial.println("10"); break; }else{ Serial.println("Java10"); break; } case 10: if(estado){ Serial.println("11"); break; }else{ Serial.println("Java11"); break; } case 11: if(estado){ Serial.println("12"); break; }else{ Serial.println("Java12"); break; } case 12: if(estado){ Serial.println("13"); break; }else{ Serial.println("Java13"); break; } case 13: if(estado){ Serial.println("14"); break; }else{ Serial.println("Java14"); break; } case 14: if(estado){ Serial.println("15"); break; }else{ Serial.println("Java15"); break; } case 15: if(estado){ Serial.println("16"); break; }else{ Serial.println("Java16"); break; } case 16: if(estado){ Serial.println("17"); break; }else{ Serial.println("Java17"); break; } case 17: if(estado){ Serial.println("18"); break; }else{ Serial.println("Java18"); break; } case 18: if(estado){ Serial.println("19"); break; }else{ Serial.println("Java19"); break; } case 19: if(estado){ Serial.println("20"); break; }else{ Serial.println("Java20"); break; } case 20: if(estado){ Serial.println("21"); break; }else{ Serial.println("Java21"); break; } case 21: if(estado){ Serial.println("22"); break; }else{ Serial.println("Java22"); break; } case 22: if(estado){ Serial.println("23"); break; }else{ Serial.println("Java23"); break; } case 23: /*Este ultimo boton que seria el de la columna 8 fila 3, sera el encargado de modificar el estado, logrando obtener 46 funciones, en vez de 23*/ if(estado){ estado=false; digitalWrite(A1,HIGH); digitalWrite(A0,LOW); }else{ estado=true; digitalWrite(A0,HIGH); digitalWrite(A1,LOW); } break; default: ; } } } /* Con el metodo Teclado(), lo que hacemos es recorrer cada boton, e identificar cual ha sido pulsado, y retornar un valor para cada uno, que posteriormente sera usado en la estructura Switch para agregarle distintas funcionalidades al boton */ byte Teclado(){ static bool noPresionado=0; for(byte x=0;x