Paso 2: Resumen
Todo es controlado por el ATMega abordo de Freeduino. Como espacio de RAM es bastante limitado (compila en 30602 de 30720 bytes disponibles) decidí hacer uso del autobús un alambre para ambos sensor de temperatura DS18B20 y tiempo del efecto mantener a través de un chip de DS2417. Este dispositivo sólo cuenta a segundos, así que añadí una pequeña biblioteca siguiendo el modelo de la funcionalidad del DS1307 para permitir el funcionamiento correcto de la hora y calendario. Independientemente, esta configuración es más económica en ram en comparación con una combinación de DS18B20 y DS1307. La viruta del tiempo está protegida por una batería de CR3202, que mantendrá la operación en caso de pérdida de energía.
El ATMega se comunica con el módem GSM por RS232 (cable de par cruzado). En el lado del hardware por lo tanto empleó un Freeduino con interfaz RS232 a bordo, que evita el hardware controlador adicional. El módem es controlado por una biblioteca que permite un uso directo de su conjunto de comandos AT, capacidades de análisis de texto básico así como de SMS entrantes y llame al manejo. Números de teléfono para hasta 5 usuarios son gestionados por una biblioteca de libreta de teléfonos.
La interfaz de usuario consta de un teclado de 3 botones para la navegación del menú (arriba/entrar/abajo) y entrada de datos y número así como una pantalla de LCD de 20 x 4. Como quisiera los datos para ser legible desde lejos, me decidí por una pantalla con letras grandes de 9mm y luz de fondo. Puede utilizar pantallas más pequeñas y también los tamaños 16 x 4 o menores (modificar los modificadores de compilador en el bosquejo). Teclado y pantalla son controlados por los pins de I/O digitales de la uC por medio de una modificado biblioteca estándar de cristal líquido en Arduino (adaptado para 20 x 4 y 16 x 4 pantallas) y una biblioteca para la navegación por el menú y control de eventos.
El ATMega controla la caldera a través de un relé de 5V pequeño y su conductor del transistor, que puede manejar hasta 220V con corrientes bajas. Normalmente esto es suficiente para la conducción de la caldera encendido contactos. Los componentes de software para el control del calentador son una biblioteca de control gestión puntos, mínimos tiempos de ejecución y los límites de temperatura, una biblioteca de alerta que se utiliza para transmitir mensajes de advertencia así como una biblioteca que proporciona funcionalidad para perfiles de temperatura y de su gestión.
Todos los datos (1wire bus de direcciones, parámetros de control del calentador y estado así como el directorio configuración etc.) se almacenan en la EEPROM no volátil para protegerse contra pérdidas de energía.
Toda la electrónica se coloca en un escudo personalizado, que se apilan en el Freeduino. El escudo personalizado también contiene zócalos para el LCD y su condensador de ajuste de contraste y controlador de luz de fondo.
Un sensor de temperatura está directamente conectado a la pantalla para el interior temperatura, un segundo para medir la temperatura al aire libre también puede ser conectado por un cable de 3 hilos. Energía es proporcionada por una fuente de 12V 2A.