Teclado membrana 4×3 (ref: 0073)

1,50 

Solo quedan 11 disponibles

Cantidad Descuento
1 - 5 -
6 - 10 5%
11 - 15 10%
16 + 15%
SKU: 0073 Categoría: Etiquetas: , , ,

Descripción

Este teclado matricial de 12 teclas (3×4) está pensado para interfaces usuario-máquina sencillas, por ejemplo una aplicación de contraseña con pocos dígitos. La pulsación es suave (sin «click»), ofreciendo una operación fiable y silenciosa. El perfil del teclado es muy fino, facilitando su integración.

El uso del teclado es muy sencillo: conecta la masa, activa los pull-ups de las entradas de Arduino y haz que tu código compruebe de manera continua el estado de las otras conexiones (o usa una interrupción). Cuando una de esas entradas marque un ‘0’, se detectará la pulsación de esa tecla. En este teclado es posible también detectar varias pulsaciones simultáneas.

El teclado incorpora una lámina adhesiva en la cara posterior, para facilitar su integración.

  • Dimensiones: 69.2 x 76.9 mm
  • Tipo: matricial
  • Conector: paso 2.54mm

Código de ejemplo:

/* EJEMPLO Teclado 3x4
* Código proporcionado bajo licencia CC-BY
* Puedes distribuir, mezclar, adapatar y hacer tuyo este código.
* Sólo te pedimos que hagas referencia a nosotros como fuente original de la información.
* 
* Si tienes dudas sobre el uso de este ejemplo no dudes en contactarnos, estamos para echarte una mano.
* ----------------------------------
* www.electronperdido.com
* contacto@electronperdido.com
* ----------------------------------
*/

// Indicamos en qué pines hemos conectado las "filas" y "columnas" del teclado
// Esta manera de introducir valores se llama "vector"
const byte filas[4] = { 11, 10, 9, 8 };
const byte columnas[3] = { 4, 3, 2 };

// Creamos una "matriz" que es un mapa de nuestras teclas
char teclas[4][3] = {
{ '1','2','3' },
{ '4','5','6' },
{ '7','8','9' },
{ '*','0','#' }
};

// El código dentro de SETUP se ejecuta una única vez, al inicio del programa
void setup (){
Serial.begin(9600); // Inicializa el puerto serie a 9600bps (para comunicar con el PC)

// Para que el tecldo funcione correctamente es necesario configurar las entradas como "alta impedancia"
// Lo hacemos con un bucle "for" para inicializar todas las entradas de manera compacta
for (byte i = 0; i < 3; i++)
{ pinMode(columnas[i], INPUT);
digitalWrite(columnas[i], HIGH); }

// Las filas deben configurarse como entrada con "pull-up", en este caso activamos el pull-up interno
for (byte i = 0; i < 4; i++)
{ pinMode(filas[i], INPUT_PULLUP); }

}

// El código dentro de LOOP se ejecuta de manera repetida hasta el fin de los tiempos...
void loop () {
int pulsada = 0, fila, columna; //Variables de pulsación detectada

for (byte i = 0; i < 3; i++) //Barrido de columnas
{ // Poner columna a '0' (configurándola momentáneamente como salida)
pinMode(columnas[i],OUTPUT);
digitalWrite(columnas[i], LOW);

// Revisar todas las filas comprobando teclas pulsadas
for (byte j = 0; j < 4; j++)
{ if (digitalRead(filas[j]) == LOW) {
// Tecla pulsada en fila 'i' y columna 'j'
fila = j; columna = i; pulsada = 1; 
} 
}
// Volver a alta impedancia
digitalWrite(columnas[i], HIGH);
pinMode(columnas[i], INPUT);
}

if (pulsada){ //Muestra por pantalla la tecla pulsada
Serial.println(teclas[fila][columna]);//Busca 'fila' y 'columna' en la matriz y lo envía a través del puerto serie
pulsada = 0; // Resetea el 'flag' de pulsación detectada
delay(400); // Espera, para no mostrar muchas veces la misma tecla pulsada
}

}

Valoraciones

No hay valoraciones aún.

Solo los usuarios registrados que hayan comprado este producto pueden hacer una valoración.

También te recomendamos…