Diferencia entre revisiones de «Keypad»

De ArduWiki
Saltar a: navegación, buscar
(Referencias)
(Parámetros)
 
(No se muestran 8 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
== Descripción ==
 
== 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 ==
 
== Sintaxis ==
 +
<pre>
 +
#include <Keypad.h>
 +
Keypad teclado = Keypad(makeKeymap(keys), rowPins, colPins, filas, columnas);
 +
</pre>
  
 
== Parámetros ==
 
== 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 ==
Línea 13: Línea 24:
 
! Método !! Descripción
 
! Método !! Descripción
 
|-
 
|-
| getKey() ||  
+
| getKey() || Retorna el valor ASCII de una tecla presionada o liberada en un teclado USB conectado.
 
|-
 
|-
 
| getKeys() ||  
 
| getKeys() ||  
Línea 63: Línea 74:
 
byte colPins[COLS] = {8, 7, 6};    //Pines para columnas
 
byte colPins[COLS] = {8, 7, 6};    //Pines para columnas
  
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
+
Keypad teclado = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
  
 
void setup(){
 
void setup(){
Línea 70: Línea 81:
 
    
 
    
 
void loop(){
 
void loop(){
   char key = keypad.getKey();  
+
   char key = teclado.getKey();  
 
   if (key){
 
   if (key){
 
     Serial.println(key);
 
     Serial.println(key);
Línea 82: Línea 93:
 
== Referencias ==
 
== Referencias ==
 
* [http://playground.arduino.cc/Code/Keypad Playground]
 
* [http://playground.arduino.cc/Code/Keypad Playground]
* [https://www.luisllamas.es/arduino-teclado-matricial/#targetText=%C2%BFQu%C3%A9%20es%20un%20teclado%20matricial,o%20un%20procesador%20como%20Arduino. Teclado matricial] - Luis Llamas
+
* [https://www.luisllamas.es/arduino-teclado-matricial Teclado matricial] - Luis Llamas
 +
* [https://www.prometec.net/teclados-matriciales/ Teclado matricial] - Prometec
  
 
[[Category:Librerias]]
 
[[Category:Librerias]]
 
[[Category:Libreria Keypad]]
 
[[Category:Libreria Keypad]]

Revisión actual del 13:21 20 mar 2020

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