Paso 7: El código
.. .please nota el lcd4bit original biblioteca tiene un montón de retrasos innecesarios en que disminuye el código abajo mucho, estos deben ser removidos (buscar en el archivo de biblioteca de cpp de pistas).
En breve se hace el código (en orden de cómo aparece en el código adjunto):
BUCLE PRE-PRINCIPAL
-#defines M y C valores de linear y ecuaciones de registro necesarias para traducir los valores de bits para las entradas. es decir y = mx + c y y = Mlog (x) + C
-tamaños de #defines para un promedio de matriz, muestreo de tiempos, histerisis niveles, Pins, EEProm almacenamiento tamaño.
-define variables, activar valores etc..
CAÑERÍA DE
-Lectura de valores de los sensores cada milisegundos "SENSOR_INTERVAL".
-Pone los nuevos valores en una matriz y un promedio de este conjunto.
-Realiza cálculos en los promedios para dar un valor 'correcto' es decir centígrado (disculpas a mis primos americanos pero estoy métrica), ppm (co2), humedad relativa.
-Actualizaciones de la nueva temp, humedad y Co2 al escudo de LCD se imprime.
-Almacena los valores en la eeprom cada milisegundos "EE_PROM_INTERVAL".
-Relés gatillo si abajo/arriba gatillo, cada milisegundos "Intervalo".
-Código teclado que implementa un sistema rudimentario que permite accionar para cambiar los valores y los valores de la EEPROM ser volcada a la serie.
-Funciones con promedio y clave de selección.
He intentado dar una explicación dentro del código en cuanto a lo que cada sección, por todos los medios ir y echar un vistazo. Si usted está más inclinado a rehúyen el código de lectura, tenga en cuenta lo principal tener en cuenta son las declaraciones de #define para manipular los intervalos para la lectura, activación y promedio y las declaraciones de #define para calibrar valores de M y C.
Éstos están situados en la parte superior del código así que echa un vistazo y diviértete trasteo.
Tenga en cuenta que el código utiliza la biblioteca de EEprom para lectura escritura eeprom valores, la biblioteca de lcd4bit (modificado, se eliminan las demoras y cambiaron las conexiones) para la pantalla lcd y stdlib conversión de int a char para escribir en la pantalla LCD.