Paso 3: Programa detallado resumen
Aquí revisaremos las cuatro nuevas funciones que fueron agregadas y explican cada uno. Si las otras partes del código confunden, compruebe el control la carga comentarios Instructable para una explicación detallada del resto del código.
En primer lugar, la función read_LCD_buttons(). Esta función hace una analogRead() en el pasador del botón de la pantalla LCD y compara el valor que lee a los valores de botón de preselección. Si el valor cae dentro del valor programado (más o menos del umbral), a continuación, vuelve a que botón se presionó. Si no coinciden con uno de los valores programados, devuelve como ninguna tecla.
En segundo lugar, la función updateTrip(). Esto comprueba la y abajo botones y aumenta o disminuye en consecuencia el límite de viaje. Tiene contra rebotes, por lo que el valor del viaje no se puede actualizar demasiado rápido. Usted puede ajustar updateTime para cambiar cómo rápida actualización de los valores del viaje. Puede mantener pulsado el botón para cambiar rápidamente los valores de viaje. Cambiando updateTime, puede cambiar lo rápido (o lento) el viaje cambia el valor cuando se sostenga la o abajo el botón de abajo. Si el valor llega a 0 y continúa a bajar, se transfieren a 999. Si hit 999 y continuar hacia arriba, se transfieren a 0.
En tercer lugar está la función updateLCD(). Esto escribe nuevos valores en la pantalla LCD, para que pueda ver lo que está pasando en su programa. Utiliza setCursor() para mover el cursor por la pantalla y poner los mensajes en el lugar correcto. el primer valor de setCursor() es la posición de fila que se encuentra el cursor, el segundo valor es si el cursor está en la fila superior o inferior. Puesto que el límite de viaje puede ser entre 0-999, el cursor se desplaza a diferentes puntos dependiendo de si es un valor de 1, 2 o 3 dígitos. Hay espacios impresos ("") que se utilizan para despejar el lugar donde se imprime el número. Si el lugar no era despejó, cuando cambia de un valor de 2 dígitos hasta un valor de 1 dígito, el segundo dígito no Haz despejado cuando el primer dígito se actualiza, lo que significa que la pantalla LCD mostrará números extraños.
El último es la función de printFeedback(). Es muy similar a la función updateLCD(), es solo separado para que el valor de la corriente amperios se actualiza en tiempo real, no una vez cada vez que el programa lazos. Esta función se llama para actualizar el amplificador cuando se llama a la función getFeedback() para leer lo que dibuja el amplificador es.