Casa calentador Controler con interfaz de usuario de SMS basados en Arduino (7 / 8 paso)

Paso 7: Compilación y carga, bibliotecas

Dependiendo del sistema operativo, coloque las bibliotecas suministradas en la carpeta y guardar el programa en su carpeta de bocetos de Arduino. Para programar el Freeduino, puede cualquiera de los programas el ATMega en un programador, en el Arduino, o a través de un cable RS232-USB en el Freeduino.

Como las cadenas de menú residen en memoria de la EEPROM del procesador, tienen que cargarse allí primero. Esto se hace por un pequeño programa (streeng.ino) que debe ser cargado y lanzado antes de compilar e instalar el programa principal (steuerung.ino). El programa streeng así como el controlador hacer uso de la biblioteca de clase streeng, que permite guardar y acceder a cadenas de caracteres en la EEPROM.

Unas palabras sobre las bibliotecas:

Sistema de menús

La funcionalidad del dispositivo requiere una interfaz de usuario estructurados. Desarrollé el sistema de menús con tres objetivos: simplicidad, flexibilidad y consumo de memoria baja. Los menús son jerárquicos hasta 4 niveles. Las entradas de menú se pueden modificar en tiempo de ejecución y el sistema también proporciona funcionalidad para la entrada de datos alfanuméricos y el tiempo. Para los entrada solo tres botones (arriba/entrar/abajo) son necesarios. Tiempo de empuje del botón también se utiliza para funciones adicionales.

La pantalla LCD muestra una línea de panel de cabecera (información de estado, tiempo, temperatura, funcionamiento modo y caldera del estado) así como 3 líneas de menú. Dependiendo del tamaño de la pantalla, esto puede ser más o menos (por ejemplo encabezado más 1 línea para una pequeña 16 x 2 pantalla). Navegación del menú no afecta al panel de encabezado. Puede verse la actual posición del menú de la izquierda más de lado y es indicado por un ' >'. El texto de la entrada del menú se ve en el centro de la pantalla. En caso de que existen submenús para una entrada de menú, un ' >' se muestra en el lado de la derecha. Elementos del menú se seleccionan pulsando la tecla enter, arriba y abajo se desplaza proporcionalmente dentro del árbol de menú. Presionar entrar para vueltas más a la raíz del menú, presionando hacia 'arriba' ya navega por un menú nivel.

Cadenas se editan cambiando el valor bajo el cursor resaltado mediante las teclas up/down. Haciéndoles más se moverá el cursor. La tecla enter termina una edición con el nuevo valor asumido el control, manteniendo más tiempo también terminará, pero restaura el valor original de la cadena.

La biblioteca de clases de menú proporciona tres formas de almacenar el texto del elemento de menú: memoria de programa 1), 2) EEPROM, 3) tanto para el cálculo dinámico anterior por una función proporcionada. En el inicio del programa el árbol de menús debe construirse utilizando la función de entrada. En este ejemplo debido a las limitaciones de la memoria EEPROM se utiliza principalmente para el almacenamiento (teléfono libros son dinámicos y así utilizan la creación de menús dinámicos de entrada). Las entradas de menú se identifican por un número de índice (índice en la posición de la EEPROM, o argumento de la función) y un número de codificación de su posición en el árbol de menús (4 dígitos hexadecimales que indica un nivel cada). Así que 0x1000 significaría la primera entrada de menú en el nivel superior, 0x2000 el segundo menú de nivel superior, mientras que 0x1400 denotan el submenú cuarta a la primera entrada de menú de nivel superior. El número de índice permite un cambio de texto del menú en tiempo de ejecución por repetidas llamadas a la función de entrada (por ejemplo, activar/desactivar conmutar).

La función principal del programa de usuario es un controlador de eventos, que devuelve los elementos de menú seleccionados y se encarga de navegación menú todos, actualización y desplazamiento. Espera de eventos de menú, el controlador de eventos permite al programa llamando al utilizar tiempo del procesador a través de una rutina de servicio personalizado, que tiene que ser suministrado.

Interfaz de línea de comandos

Una de las características esencial de la interfaz de usuario es la interfaz de línea de comando, que permite la entrada de comandos de texto. Mientras que se utiliza para la entrada de SMS, puede también ser utilizado y adaptado para otros fines (e.g. entradas vía IP) y la sintaxis del comando.
Esencialmente la línea de comandos se analiza para las palabras clave (que reside en el espacio de programa), que luego se traducen a un código intermedio compacto, que luego se comprueba fácilmente para la sintaxis. Argumentos como la hora y la temperatura se espera que en una forma particular (HH: mm por vez, tt.t para la temperatura). En caso que se detecte un error de sintaxis, se produce un mensaje de error.

Libreta de teléfonos

La agenda gestiona la agenda y los almacena en la EEPROM del controlador. La biblioteca depende fuertemente en la biblioteca del menú, que fuentes edición funciones, así como la columna vertebral de la estructura del menú agenda.
La biblioteca de la guía telefónica crea una estructura de menú con entradas de menú dinámico, que tienen submenús para editar y eliminar. Rutinas para la edición y eliminación son proporcionadas por la biblioteca del menú. Por lo general, números de teléfono pueden tener 16 dígitos y se almacenan en formato internacional, comenzando con el inicio de un '+' y el código de país.

Controler

La caldera on/off contacto es controlada por el software de controlador. La biblioteca cambia la calefacción según el punto de referencia relevante, que sea valores predeterminados de sistema manualmente (a través de la entrada del menú temperatura), uso (confort, economía o anticongelante, que a su vez son fijados por el elemento de menú de configuración) o es determinada por los horarios programados por el usuario. Los horarios se pueden programar con una resolución de tiempo de un minuto. Hasta cinco intervalos de tiempo con temperatura individual pueden programarse ajustes.
Mientras que el control de la caldera, la biblioteca se encarga no para el calentador inferior pre había establecido mínimo tiempo de ejecución y también busca posibles fallos de funcionamiento, es decir, cuando la temperatura no aumenta durante la operación del calentador. En caso de que se detecta un mal funcionamiento o la temperatura cae por debajo de (alerta 0) o superior (alerta 1) programa puntos de referencia, alerta de los mensajes se envían por SMS. Finalmente el controlador intenta asegurar en todos tiempos en que la temperatura nunca cae por debajo del nivel de anticongelante definido.

GSM

La biblioteca GSM realiza la comunicación entre Freeduino y módem. La biblioteca realiza básico IO con el módem, proporciona un método para enviar comandos al módem y proporciona funcionalidad básica para controlar las llamadas entrantes y administrar entrantes mensajes SMS así como iniciar los mensajes SMS salientes.

Artículos Relacionados

Reemplazo de la tarjeta de control de interfaz de usuario en una máquina de lavar, lavadora LG.

Reemplazo de la tarjeta de control de interfaz de usuario en una máquina de lavar, lavadora LG.

Paulatinamente durante los últimos dos años, hemos estado experimentando un declive en la capacidad para utilizar la perilla de control en nuestra lavadora LG - modelo WM2032HW. El ciclo de mando de selección era un tipo que seleccionado electrónicam
Sistema de vigilancia de $ 30 con interfaz de usuario

Sistema de vigilancia de $ 30 con interfaz de usuario

muy barato y muy fácil de hacer el sistema de vigilancia. No tienes que ser cualquier tipo de científico de cohetes para hacer eso. Todas las piezas necesarias se encuentran probablemente de su ferretería local. Se necesita sólo 2 barras de ángulo, 2
NRF24L01 RF Control sistema para R/C vehículo basado en Arduino y

NRF24L01 RF Control sistema para R/C vehículo basado en Arduino y

El objetivo de este proyecto es construir un transmisor y un receptor utilizando un componente barato y fácil de usar como nRF24L01, Arduino UNO y Arduino Nano transceptor. Este proyecto es un sencillo y fácil de implementar y puede ser un buen punto
Ama de casa - Azure alimentado con cerradura de la puerta-Microsoft

Ama de casa - Azure alimentado con cerradura de la puerta-Microsoft

Ama de casa es anNfc sistema de la cerradura de puerta basado en Arduino, NFC, Microsoft azure web apps, aplicaciones universales de windows (para windows phone y winRT), codeigniter como un framework de php y una aplicación de c# como un middleware
TFT táctil basado en interfaz de usuario con Arduino UNO

TFT táctil basado en interfaz de usuario con Arduino UNO

I, m muy encariñado con pantalla TFT LCD. Así que decidí aprender. Ya había biblioteca disponible para este trabajo. Pero la mayoría de ellos era para los controladores diferentes. Había un chico en intructables que editaron estas bibliotecas para sp
Contador Geiger con interfaz táctil!

Contador Geiger con interfaz táctil!

Hay bastantes contadores de geiger instructables. La diferencia con éste es que quería darle una interfaz moderna, similar a las pantallas táctiles de teléfonos, que cualquier persona se sentiría cómoda usando. La razón de esto es que quiero utilizar
Configuración de interfaz de usuario en línea de Eva

Configuración de interfaz de usuario en línea de Eva

¡ Hola!En este Instructable les mostraré cómo configurar una nueva interfaz de usuario para el juego EVE Online.Eva es una información muy rica del juego y a jugar de forma óptima necesita una gran cantidad de información a la mano. Es muy fácil para
Kit de interfaz de usuario de Woody

Kit de interfaz de usuario de Woody

este instructable muestra cómo construir un Woody Kit de interfaz de usuario.También puede obtener una lista para usar kit de Woody UI K.DescripciónEl Kit de interfaz de usuario de Woody es una herramienta de bajo costo, low-fidelity prototyping para
¿Desarrollo para fotos usando una Mac: interfaz de usuario amigable

¿Desarrollo para fotos usando una Mac: interfaz de usuario amigable

frustrado por el hecho de que hay que meterse en la Terminal para compilar y descargar programas PIC? Era demasiado.Soy usuario de Mac desde hace mucho tiempo (o tan largo como puede ser para un niño de 16 años de edad), y cuando empecé a experimenta
El módulo de interfaz de usuario de LCD

El módulo de interfaz de usuario de LCD

módulo de la interfaz de usuario LCD es un 8 x 2 LCD puesto a contraluz con un mini-joystick, extra grande botón rojo y un LED bicolor para comentarios adicionales. Es una manera fácil de agregar interactividad al proyecto. La pantalla LCD es el HD44
Relés de control con una aplicación para Android personalizada!!!!

Relés de control con una aplicación para Android personalizada!!!!

Aquí se trata de un proyecto final que hice para mi clase de micro controlador en mi colegio local.Su una placa de relé de 4 canales que se controla mediante un dispositivo Bluetooth, así como una aplicación android para una sencilla interfaz para el
Mesa tambor interactivo, Light-Up con interfaz personalizada

Mesa tambor interactivo, Light-Up con interfaz personalizada

Este proyecto fue un regalo para mi hermano (batería), que decidió convertir un bombo en una mesa para su nuevo apartamento. He instalado algunos LEDs RGB en el interior y diseñado una interfaz para controlar las luces de dos formas diferentes (mezcl
Pedal de guitarra con interfaz alternativa

Pedal de guitarra con interfaz alternativa

La idea de este proyecto es construir un pedal de guitarra con una interfaz de control único. El pedal está diseñado para montarse directamente en la guitarra, con el usuario controla los parámetros del pedal con sensores alternativos en lugar de los
LinkIT uno: Equipo eléctrico de control con smartphone

LinkIT uno: Equipo eléctrico de control con smartphone

El objetivo principal de este proyecto para satisfacer alguna necesidad básica de la pereza humana con teléfono inteligente propio. Pero su llamado de manera inteligente porque estamos controlando equipos eléctricos a través de nuestro smartphone. As