Paso 6: Programación del termostato
Programo mi termostatos (en el sentido de cargar el código en el termostato) usando el IDE de Arduino y un programador ISP, así que eso es lo que voy a comentar aquí.
El repositorio de GitHub debe incluir una carpeta llamada Thermostat_v1 que contiene el sketch de arduino para el termostato sí mismo. Copie este directorio en algún lugar donde usted quiere que lo mantenga. También hay cuatro directorios llamados Utouch2, que contiene una biblioteca para la pantalla táctil, OneWire, que es una biblioteca para el sensor de temperatura y Adafruit_GFX y Adafruit_ILI9341, que son las bibliotecas de la pantalla LCD. Estos cuatro debe copiarse a una carpeta para las bibliotecas de Arduino – en equipos con windows, que deben ser \Documents\Arduino\libraries. Un agradecimiento especial a todas las personas que escribieron estas bibliotecas (Jim Studt - OneWire; Adafruit - Adafruit_GFX y Adafruit_ILI93414, Henning Karlsen - Utouch y Mark Pendrith que modifica la biblioteca de Utouch (UTouch2) para que la pantalla táctil podría compartir pines SPI con el LCD).
A continuación, antes de programar el termostato con el IDE de Arduino, el IDE debe tener los archivos necesarios para reconocer el microcontrolador 1284P. Estos se pueden encontrar aquí. Nota Esto es para la versión 1.6.3 del IDE, hay otras ramas en versiones anteriores. Esta página también contiene instrucciones de instalación.
Ahora, cuando abra el IDE de Arduino y vaya a herramientas y tabla de planchar debe ver "Bobduino y Bob Skinny" como una de las opciones. Seleccione esta opción y, en herramientas/Prorammer seleccione AVR ISP mkII (o cualquier programador).
Ahora, abra el bosquejo del termostato y considere cambiar lo siguiente para sus gustos:
Funcionalidad – Asegúrese de que el termostato funciona como usted quiere que funcione y que está programado de manera que es conveniente para tu sistema HVAC!
#define COMM_PIN 4321 – esto debe cambiarse a cualquier PIN de 4 dígitos ha optado por utilizar como la comunicación de RFX PIN. Debe coincidir con las páginas web y servidores de python.
#define TOUCH_TIMEOUT 10000UL – este es el tiempo de espera de pantalla táctil de la entrada (en millis) después de que los cambios no guardados se descartarán.
#define TURN_OFF_INTERVAL 60000UL – es el intervalo de inactividad de la pantalla táctil después de que el LED se apaga (en millis)
#define LOG_PORT 1700 – puerto para el servidor de registro
#define MASTER_PORT 1800 – puerto para el servidor de control de
Asegúrese de que estos puertos son los mismos que los puertos en los que apuntan a los servidores de python.
Justo debajo de estas son algunas de las opciones que determinan cuánta información desea escrito para registrar los archivos y si el termostato de una actualización de estado a serie de la impresión cada 5 segundos (que puede verse con masilla para iniciar sesión en el puerto para el termostato). En general, DBGCHAT debe establecerse en 0, a menos que necesite para fines de depuración.
#define WDT 0 - habilitar (1) o desactiva (0) del temporizador perro de reloj (puede ser mejor desactivar para depurar, pero mejor para activarlo cuando se ejecuta)
#define FAHRENHEIT 1 – cambio a 0 si desea que la temperatura en grados celsius
También hay una serie de variables a partir de la línea 159 que controlan Cuándo el calor auxiliar enciende y apaga automáticamente debido a la inhabilidad percibida de la principal bomba de calor para mantenerse al día. Estos valores, así como el aux_heat_cntrl() de la función, controlar la calefacción auxiliar y merecen una atención especial.
En la ficha Rfx_config.h, usted necesitará cambiar #define BOARD_ID 110 el número de nodo de cada termostato antes de programar ese termostato. Por ejemplo, si usted está programando un tat de termostato que quieres ser nodo 127, este debe leer #define BOARD_ID 127. Debajo de este, ID_STRING es un nombre que se utilizará el sistema RFX para este nodo, pero no es necesario atar a ninguna otra parte del sistema. Me pareció más fácil para tener líneas aquí para todas mis termostatos y comentar luego las que no estoy programando en ese momento.
En la ficha de pantalla táctil, #define TEMP_MOVE 10 dice el termostato cuántas décimas de grado a cambio de la temperatura cada vez que una flecha se empuja hacia arriba o hacia abajo (pero si vas con algún valor que no sean múltiplos de 10, probablemente usted querrá cambiar la visualización de la temperatura para mostrar los valores decimales).
Una vez todo esto hecho gancho el ISP hasta el termostato (cuidado con la orientación), elija archivo/cargar usando programador y programar el termostato.
Ahora, puede jugar con él y probarlo minuciosamente para asegurarse de que se comporta como se esperaba. Asimismo, tratar de utilizar el sitio web para cambiar el programa de temperatura y cambiar la configuración para ver si parece funcionar como se espera.
Creación de un programa de temperatura con la página web
Ahora es el momento para establecer el programa de temperatura en el termostato, y es extremadamente fácil. En la parte superior de la página, seleccione el termostato que desea programa y si este programa es para calefacción o refrigeración. Ignorar los botones enviar y recuperar por el momento-puedes enviar cuando haya terminado con el programa y recuperar los tirones en el programa existente, pero todavía no hay ningún programa existente.
Entonces, en la caja más pequeña con los títulos de tiempo y temperatura, ingrese la hora del día cuando debe comenzar un periodo y la temperatura para ese período. Por ejemplo, si desea el termostato para calentar la casa hasta 70 grados a 6:00 y si frío propio a 60 grados a 21:00, es necesario introducir dos filas en este cuadro:
6:00 70
21:00 60
(lo sentimos, yo no he implementado aquí notación de am/pm). A continuación, seleccione las casillas de verificación debajo de los días que desea utilizar este programa (o utilice los botones de opción para seleccionar varios días a la vez como el lunes al viernes) y haga clic en Update. Su horario debe aparecer en el cuadro más grande abajo debajo. Por supuesto, usted puede también introduce cada día manualmente en el cuadro inferior si lo desea.
Cuando el programa se ve la forma que desee, haga clic en el botón Enviar. Ahora, si volver a esta página y haga clic en recuperar (para el mismo termostato y mismo calefacción o refrigeración ajuste), debe rellenar el horario para que fácilmente pueda ver exactamente cómo tener cada día programado.