Keypad

De ArduWiki
Saltar a: navegación, buscar

Descripción

Un teclado matricial es un dispositivo que agrupa en filas y columnas (de alli el nombre matricial, 3x3, 3x4, 4x4) varios pulsadores y permite controlarlos usando un número de pines inferior al que necesitaríamos al usarlos de forma individual.

Tip: Al ser simples pulsadores actuaremos igual que con ellos, poniendo cada linea con un pull-up.


Sintaxis

#include <Keypad.h>
Keypad teclado = Keypad(makeKeymap(keys), rowPins, colPins, filas, columnas);

Parámetros

keys
Matriz[filas][columnas] que contiene los caracteres representados
rowPins
Pines digitales de filas
colPins
Pines digitales de columnas
filas
Numero de filas
columnas
Numero de columnas

Métodos

Métodos disponibles librería Keypad.h
Método Descripción
getKey() Retorna el valor ASCII de una tecla presionada o liberada en un teclado USB conectado.
getKeys()
getState()
isPressed()
addEventListener()
keyStateChanged()
findKeyInList()
bitMap()
pin_mode()
pin_read()
pin_write
findKeyInList()
setDebounceTime()
setHoldTime()
waitForKey()

Comentarios

Advertencias

Ejemplo 1

#include <Keypad.h>

const byte ROWS = 4;    //filas
const byte COLS = 3;    //columnas
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};
byte rowPins[ROWS] = {5, 4, 3, 2}; //Pines para filas
byte colPins[COLS] = {8, 7, 6};    //Pines para columnas

Keypad teclado = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup(){
  Serial.begin(9600);
}
  
void loop(){
  char key = teclado.getKey(); 
  if (key){
    Serial.println(key);
  }
}

Vea también


Referencias