Cómo declarar variables para codificar el teclado para su proyecto arduino sistema de entrada de teclado

Una vez que tenga los componentes del teclado y pantalla en su lugar en su tablero, es el momento de cargar el código a su Arduino. Tome un momento para mirar el código y luego subirlo a su tablero.

En la primera sección, antes de la instalación, se declara variables para el teclado y la pantalla.

const int numberOfDigits = 4- // El número de dígitos de la 7-segmento displayconst int numRows = 4- // Número de filas de la keypadconst int númeroColumnas = 3- // Número de columnas de la keypadconst int DebounceTime = 20- / / Número de milisegundos para cambiar a convertirse en stableconst int doorOpenTime = 5000 // ¿por cuánto tiempo desea que el tope de la puerta permanezca openconst int strikePin = 9 // el pin que acciona el relé de la puerta strikeconst int slaveSelect = 10 // pin utiliza para activar el pasador esclavo en el código MAX72xxchar [4] = { `1`, `2` `3` `4`} - // Establecer el código de herechar codeBuffer [4] - // Almacena el código que Actualmente está siendo enteredboolean cierto-debug = // establece en true para los mensajes de estado de impresión a la portint serie keypressCount = 0- // Cuenta cuántas veces una tecla se ha pulsado el mapa de teclas // define el carácter devuelto cuando su clave es Char pressedconst mapa de teclas [numRows] [númeroColumnas] = {{ `1`, `2` `3`}, { `4`, `5`, `6`}, { `7`, `8`, `9`} , { `*`, `0`, `#`}} - rowPins const int [numRows] = {7, 4, 2, 5} - // teclado filas 0 a través de 3const int colPins [númeroColumnas] = {6, 8, 3} - // columnas del teclado del 0 al 2

los número de dígitos variable establece el controlador de LED IC con el número apropiado de dígitos. numRows y númeroColumnas almacenar el número de filas y columnas en el teclado, 4 y 3, respectivamente. Sirven para buscar la tecla que se presiona. los debounceTimmi asegura que la tecla se pulsa se detecta con precisión. Se establece la cantidad de tiempo que se mantiene abierta la puerta con la doorOpenTime variable.

los strikePin variable define la cual se activará pin digital cuando se introduce el código correcto. Esto se aplica energía al relé, que se cierra para accionar el mecanismo de bloqueo de la puerta. Es posible que desee utilizar un nombre diferente si está utilizando un tipo diferente de mecanismo, como una cerradura de puerta magnética o una cerradura de perno gota.

slaveSelect define un pin digital que se utiliza para indicar que está enviando datos. El esclavo seleccionar (o “de selección de chip”) pin (SS) es un pasador de comandos en el IC que conecta los pines externos a los circuitos internos.

En aplicaciones con varios pilotos LED que están todos conectados a los cables de entrada, que desea ser capaz de seleccionar si es o no está habilitada. El IC sólo responde a los comandos cuando se activa su seleccione anclar modo esclavo, lo que le permite diferenciar entre este conductor y otros que pueda estar utilizando.

Sólo se utiliza un solo CI en este proyecto, pero todavía se necesita para que el chip se sabe cuando se va a enviar los datos, y eso es lo que hace SS alfiler.

Dos carbonizarse variables se utilizan para la manipulación de código de acceso. El primero, código[], almacena los dígitos del código de acceso. Se puede configurar para ser lo que quiera esto. El segundo carbonizarse, codeBuffer [], tiendas (o “buffers”) las claves que han sido presionado. Cuando estos dos partidos, presto! El Arduino activa strikePin. No hay manera de establecer el código desde el teclado - usted tiene que hacerlo mediante programación.

Este programa tiene una característica poco de depuración útil construida en Eso es lo que la siguiente variable es para: a. booleano llamado DEPURAR. Hay que recordar que las variables booleanas sólo pueden ser verdaderas o falsas. Al establecer este a cierto, puede utilizar un condicional Si declaración para ejecutar ciertas líneas de código que no se ejecutará si se establece a falso.

Por ejemplo, en este código se imprime una gran cantidad de variables en el puerto serie, para probar que el teclado está funcionando correctamente. Pero después de que su sistema está instalado en su puerta, usted no necesita imprimir nada. En lugar de eliminar todos aquellos Serial.println () declaraciones, simplemente puede volver a la DEPURAR variable y configurarlo para falso.

los keypressCount tiendas de cuántos dígitos se han presionado hasta el momento. Cuando se presiona el cuarto, la verdadera acción ocurre.

los carbonizarse variable mapa de teclas [] [] es una matriz de dos dimensiones. Una matriz bidimensional es simplemente una matriz de matrices. Imagínese un menú de un restaurante italiano. Es posible que tenga una docena de elementos de menú a elegir: palitos de pan, sopa, pizza, lasaña, ensalada, vino tinto, y así sucesivamente.

Se podría almacenar éstos simplemente como una sola matriz, pero también se puede organizarlos por tipo: arrancadores {palitos de pan, sopa, platos principales} {pizza, lasaña, pastas, bebidas} {agua, vino tinto, vino blanco}. De esta manera se puede hacer referencia a los elementos de forma individual o como colecciones. Una matriz de dimensión individual, como con su código[] array, tiendas elementos (elementos de datos individuales) como este:

Int unArray [] = {0,1,2,3} -

Una matriz bidimensional almacena elementos como este:

Int unArray [] [] = {{0,1,2,3}, {3,2,3,0}, {4,3,8,1}, {2,3,4,5}} -

Cuando se lee a partir de una matriz de dos dimensiones, el primer valor de los corchetes especifica el elemento que se desea leer- el segundo valor entre paréntesis indica el elemento dentro del elemento especificado. En el trabajo con matrices, el sistema de numeración comienza desde cero. Así, por ejemplo, en la matriz bidimensional anteriormente, unArray [2] [0] está llevando a cabo el valor 4.

los KEYMAP se utiliza simplemente para registrar cuales son dígitos en el teclado. Es, literalmente, un mapa de las llaves.

Cuando se pulsa una tecla, se utiliza el KEYMAP para identificar cuál es el número en esa ubicación, por lo que se puede comparar con el código predeterminado.

Las dos últimas variables son matrices que almacenan cuál de los pines digitales del Arduino las filas y columnas de su teclado están conectados a.

Artículos Relacionados