Está en la página 1de 1

Para realizar este código comenzamos realizando la conexión del teclado, en el cual se

conectaron las columnas del teclado desde PC0 hasta PC3 en este caso son las conexiones en
azul y las filas están conectadas de PB3 a PB0 para identificarlos utilizamos el color amarillo así
mismo se colocan estos últimos puertos con una resistencia a tierra para verificar que al
momento de la lectura se coloquen a cero esos puertos. Para la LCD se conectó el led de
cátodo, el puerto R/W (lectura escritura) y el puerto GND a tierra, luego VCC y el led de ánodo
a 5V, también se conectó DB7 a PD2, DB6 a PD3, DB5 a PD4, DB4 a PD5; El puerto E se conectó
a PD6, el puerto R5 a PD7 y el puerto VD de la LCD al wiper del potenciómetro y las otras dos
conexiones del potenciómetro una a 5V y la otra a tierra.

Para el código se realizó primeramente las especificaciones de las conexiones como


comentario, luego se añade la librería de la LCD, se define las fila y las columnas del LCD con
los números del cero al 3 para que corresponda con las conexiones hechas en el Arduino , así
mismo se define el orden de los botones de los techados de forma matricial, también se define
los puertos del LCD usando la librería LiquidCrystal; en la función setup se define los puertos
como salida y entrada respectivamente , también definimos el tamaño del LSD para así activar
el LCD.

En el programa principal comienza llamando la función keypad en el cual manejamos dos


estado, cuando inicia el programa (n=0), en este estado se imprime el mensaje para que pida
la cantidad de números a ingresar y luego se valida que las tecla presionada esté el rango de
las permitidas para ingresar un número, después de ingresar el número valida que el valor
del números ingresado este entre uno y cinco, así luego validar que se presioné enter para
limpiar la pantalla y pasar a pedir cada uno de los números, hasta terminar de pedir la cantidad
de números establecidos; Al momento de que el usuario digite la cantidad de números se
procede a crear un vector con el tamaño establecido y luego se llama la función teclado para
que mediante un for comience a pedir los números al usuario y luego mostrar al usuario lo que
esta digitando, se define una variable condicionante para validar si el numero ingresado es
positivo o negativo y además que sea de dos dígitos; para así guardar en variables la decena y
la centena del número para luego guardarlas en el vector, dentro del for de llenado de los
numero se hace el llamado a la función retroceder , también se valida que cuando este lleno el
vector se usa una variable verificar que el vector este lleno , y proceder al segundo estado del
estado en el que usuario digite el orden de como desea mostrar los numero en el cual solo se
pueden presionar si es ascendente o descendente o si se desea volver a iniciar el código
cuando se presiona end, para poder imprimir los valores en cierto orden se valida la
separación de los números para poder establecer un orden.

En este programa se definieron 2 funciones, una de ellas es la función keypad en la cual se


mantienen las columnas inactivas, luego mediante un for se procede a activar cada columna
inicialmente, mediante otro for interno se revisan las filas, en el mismo for se crea un if para el
anti rebote, se procede a detener el bucle de las filas y luego desactivar las columnas, para asi
revisar las siguientes columnas. En la función retroceder que controla una variable columna
que Coloca el cursor de la pantalla LCD, luego se le colocan ciertas condiciones y en la última
línea se llama a la función keypad para que continue con la secuencia.

También podría gustarte