Sunday, May 31, 2015

Teclado membrana 4x5 arduino


Teclado matriz de cuatro columnas y cinco filas,facil conexion con arduino:
Columnas:
  Pin 1 del keyboard a pin 9 de arduino
  Pin 2 del keyboard a pin 8 de arduino
  Pin 3 del keyboard a pin 7 de arduino
  Pin 4 del keyboard a pin 6 de arduino
Filas:
  Pin 5 del keyboard a pin 14 de arduino  (pin A0)
  Pin 6 del keyboard a pin 2 de arduino
  Pin 7 del keyboard a pin 3 de arduino
  Pin 8 del keyboard a pin 4 de arduino
  Pin 9 del keyboard a pin 5 de arduino
   *foto del pinout

Codigo de ejemplo que envia por el puerto serie de arduino la tecla pulsada en el teclado:

#include <Keypad.h>
const byte FILAS = 5; // Cinco filas
const byte COLS = 4; // Cuatro columnas
char keys[FILAS][COLS] = {
  {'A','B','#','*'},
  {'1','2','3','U'},
  {'4','5','6','D'},
  {'7','8','9','E'},
  {'L','0','R','E'}
};
byte filasPins[FILAS] = {5, 4, 3, 2, 14}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {9, 8, 7, 6}; //connect to the column pinouts of the keypad
/*Pin 1 del keyboard a pin 9 de arduino  Ver foto adjunta del pinout
  Pin 2 del keyboard a pin 8 de arduino
  Pin 3 del keyboard a pin 7 de arduino
  Pin 4 del keyboard a pin 6 de arduino
  Pin 5 del keyboard a pin 14 de arduino A0
  Pin 6 del keyboard a pin 2 de arduino
  Pin 7 del keyboard a pin 3 de arduino
  Pin 8 del keyboard a pin 4 de arduino
  Pin 9 del keyboard a pin 5 de arduino
*/
Keypad keypad = Keypad( makeKeymap(keys), filasPins, colPins, FILAS, COLS );

void setup() {
  Serial.begin(9600);
}

void loop() {
   char key = keypad.getKey(); // llamada a la funcion q lee un caracter del teclado
   if (key){   // Si a leido algo del teclado ejecuta el codigo
      Serial.print("Tecla:  ");
      Serial.println(key);
      delay(500);
  }
}

Download code for arduino
Libreria necesaria para utilizar el codigo en arduino

Para importar la libreria en arduino clickar en la pestanya "Sketch" --> "Import Library" --> "Add Library"
Una vez importada la libreria, se habran instalado los programas de ejemplo oficiales.

No comments:

Post a Comment