martes, 26 de septiembre de 2017

TECLADO + Arduino

UNIDAD EDUCATIVA PARTICULAR “POLITÉCNICO”
4° AÑO PAI  - 10° AÑO DE BÁSICA “A”
TECLADO + Arduino

Nombre: Andrea Cáceres                                            Fecha: 26/09/17

Un teclado matricial es un dispositivo que agrupa varios pulsadores y permite controlarlos empleando un número de conductores inferior al que necesitaríamos al usarlos de forma individual. Podemos emplear estos teclados como un controlador para un autómata o un procesador como Arduino.

Lo más práctico es conectar el teclado a Arduino directamente, podemos usar cables de protoboard, o bien con un peine de pines para que no se suelte nada.

Las primeras 4 líneas del teclado matricial que corresponden a las filas las conectamos del pin 2 al pin 9 del arduino respectivamente.

A continuación se muestra el código utilizado, cada línea tiene su explicación y funcionamiento a modo de comentario


Se incluye la librería keypad ya sea que estemos trabajando en arduino o en TinkerCad


En mi caso al realizarlo por Tinkercad me funciona y al presionar cada botón se proyecta lo pulsado a través del serial monitor, poniendo el respectivo código y su librería.
Haciendo unos cambios en el código podemos hacer que los números se juntes demostrado por el serial monitor como se aprecia en la imagen.

CODIGO: (CADENA)

const byte Filas = 4; //Cuatro filas
const byte Cols = 4; //Cuatro columnas

byte Pins_Filas[] = {9, 8, 7, 6}; //Pines Arduino a los que contamos las filas.
byte Pins_Cols[] = { 5, 4, 3, 2}; // Pines Arduino a los que contamos las columnas.
char Teclas [ Filas ][ Cols ] = 
{
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

Keypad Teclado1 = Keypad(makeKeymap(Teclas), Pins_Filas, Pins_Cols, Filas, Cols);
String cadena="";
void setup()
{  Serial.begin(9600) ; }
  
void loop()
{  char pulsacion = Teclado1.getKey() ; 
 if (pulsacion != 0) // Si el valor es 0 es que no se ha pulsado ninguna tecla
      {
        cadena=cadena+pulsacion;
        Serial.println(cadena);
      }

  

No hay comentarios:

Publicar un comentario