Tabla de contenido:

Ejemplo de casillero con teclado Arduino Matrix 4x4: 6 pasos
Ejemplo de casillero con teclado Arduino Matrix 4x4: 6 pasos

Video: Ejemplo de casillero con teclado Arduino Matrix 4x4: 6 pasos

Video: Ejemplo de casillero con teclado Arduino Matrix 4x4: 6 pasos
Video: 🔴 TECLADO MATRICIAL ARDUINO ⌨ [CON y SIN Librería muy FÁCIL] # 021 2024, Mes de julio
Anonim
Ejemplo de casillero con teclado Arduino Matrix 4x4
Ejemplo de casillero con teclado Arduino Matrix 4x4

2 formas de gestionar un teclado de 16 pulsadores con un mínimo de pines.

Paso 1: Introducción

Recientemente trabajé en una forma de administrar una matriz de teclado táctil 4x4 conectada a un clon de Arduino. Los puntos de ajuste fueron:

-para usar solo 4 + 1 pines en lugar de 8 pines en el atmega328p

-para agregar un enlace CHAR de pantalla LCD 4x20 a través de I2C (2 pines)

-Para controlar salidas digitales y analógicas.

Entonces, tener muchas cosas que controlar con una pequeña cantidad de E / S.

Paso 2: Cosas para usar:

Cosas para usar
Cosas para usar

Compré una pantalla LCD de 4x20 caracteres y un adaptador de módulo I2C para conectar la pantalla con pines SDA (A4) y SCL (A5) en mi clon de arduino.

Utilizo el famoso y ahora obsoleto MM74C922N: un convertidor de 8 a 4 vías que se adapta al teclado matricial 4x4.

Creé un clon del arduino basado en el atmega328p y lo programé a través de un conector HE10 (bus SPI) y un cable USBasp.

Paso 3: Esquema y tablero:

Schematic y el tablero
Schematic y el tablero
Schematic y el tablero
Schematic y el tablero

El tablero está hecho de:

-el teclado LCD solo se usa con Arduino IDE, no es posible con LDmicro (programación de escalera)

-la placa MM74C922N: 16 pulsadores codificados en 16 valores binarios en DCBA de 4 bits. Cuando se presiona un botón: el led azul se enciende y aparece un valor en DCBA (A es el LSB). Cuando se suelta un botón: el led azul se apaga y el valor se pone a cero en DCBA.

-la placa de clonación Arduino atmega238p.

Paso 4: Uso de LDmicro con programación de escalera:

Uso de LDmicro con programación de escalera
Uso de LDmicro con programación de escalera
Uso de LDmicro con programación de escalera
Uso de LDmicro con programación de escalera
Uso de LDmicro con programación de escalera
Uso de LDmicro con programación de escalera

El código para ingresar está compuesto por 4 valores entre 16 valores presionados por teclas, por lo que es una combinación de 16x16x16x16.

Una vez que dibuja el SFC, debe traducirlo a LADDER con el método dado en uno de mis

instructables:

www.instructables.com/id/Arduino-tomation-…

Una vez escrito, compílelo como xxxx.hex y luego descárguelo con el descargador de KHAZAMA.

La pantalla LCD no se puede programar en LDmicro.

Le doy LDmicro zip con el boceto SERRURE.id y el descargador KHAZAMA.

Paso 5: Uso de Arduino IDE 1.8.x con Mightycore y SMlib:

Usando Arduino IDE 1.8.x con Mightycore y SMlib
Usando Arduino IDE 1.8.x con Mightycore y SMlib

Traduzco el SFC a una máquina de estado. Luego usé Arduino IDE con la biblioteca Mightycore y SM dentro.

Muestro un mensaje como: ERROR, ESPERANDO, DESBLOQUEO, estado alcanzado, valor de la tecla presionada en el display LCD.

Te doy el boceto y la lib SM. Para Mightycore, mira esto:

www.instructables.com/id/Arduino-18x-Clone…

Paso 6: Para concluir:

Estas son dos formas de administrar el teclado 16 y me tomó varias horas encontrar la secuencia correcta, pero ahora funciona bien. Debes respetar estos pasos:

-1 detecta una tecla presionada en un flanco ascendente del pin DA

-2 leer el valor generado en DCBA y compararlo con el bueno

A menos que ciertamente no funcione.

Gracias a todos los interesantes tutoriales en la red.

Recomendado: