Temporizador cafetera y radio, Arduino, Logitech Harmony y openHAB (2 / 3 paso)

Paso 2: Código de Arduino

Inicialización de

Se incluyen sólo el WDT (WatchDogTimer) y las bibliotecas RFM. El WDT se utiliza en el caso de Arduino cuelga en algún lugar y con el WDT reiniciará por sí mismo. Sin embargo con esta caja, el Arduino no se perdió hasta ahora.

El código está vinculado y debe ser bastante directo. Se supone que sabes que cosas al menos a medio leer.
El código de Arduino puede parecer familiar como ha sido copiado de diferentes fuentes, modificado y juntos.

No llevo demasiado exigente el idNodo; mantener 2 dígitos ya que probablemente no tendrá nodos más de 90 en su casa. No cambie el número de dígitos, o tendrá que cambiar prácticamente por todas partes más tarde.
Definir la banda de frecuencia determinada por el módulo de compra. La ChannelFreq puede ser que necesite para ajustarse a las normas de donde usted vive; el número es en Hertz.

 // RFM69#define NODEID 21 //unique for each node on same network Floor&Room&Node#=X&XX&X#define NETWORKID 666 //the same on all nodes that talk to each other#define GATEWAYID 1#define FREQUENCY RF69_433MHZ#define ENCRYPTKEY "1234567890ABCDEF" //exactly the same 16 characters/bytes on all nodes!#define ChannelFreq 434520000 

La estructura del mensaje tiene que ser el mismo en toda la red

 typedef struct { // Radio packet formatint nodeID; // node identifierint devID; // device identifierint cmd; // read or write long intVal; // integer payloadfloat fltVal; // floating payloadchar payLoad[32]; // string payload} Message; 

Los botones no eran Unidos directamente a los 3, 3V, pero a los pines de datos de Arduino por lo que podrían ser conectar y desconectar como deseaba.
También hay muchas variables para almacenar la fecha y hora, estado y estado anterior de botones.

Programa de instalación

Obviamente los modos pin están "out" por el poder y "en" para la pulsación. Un abrir y cerrar botones para demostrar que la fase de instalación haya terminado, entonces pasan a su estado normal.

Lazo

El Arduino comprueba primero si recibe un comando desde el servidor de OH. El comando se analiza fuera el código de bucle.
Luego se lee el estado de los botones si la situación cambió desde la última iteración. Tenga en cuenta que nada es enviado hasta ahora.
Dependiendo del estado de los botones, el relé se abre o se cierra para activar la máquina de café o de.
Después de los colores del botón cambian dependiendo de su estado. Tenía más sentido para mí para hacerlo así en lugar de cambiar directamente en el botón lectura de estado.
Cerca del final del bucle el estado del relé se envía hacia el servidor OH así como el estado del botón azul. Estado rojo y verde no se envían detrás como son controlados por el estado del relé
Los puntos fuertes de la señal (RSSI) se envían al servidor OH para conocer la intensidad de la señal de dos formas: desde y hacia la puerta de entrada RFM.
Tenga en cuenta que hay un tiempo de búfer "StateChangeInterv" en el código. Esto está escrito para los chicos divertidos que vienen a su casa para ver después cómo muchas veces encendido/apagado el fusible se fundirá o la máquina de café sube en humo... La variable (aquí establecida en 2,5 seg) impide un cambio de estado por 2,5 segundos. Por lo tanto puede cambiar la máquina sólo después de ese tiempo variable; y la gente perderá interés rápidamente...

El BlueBlink se inicia sólo por el servidor OH 30 minutos antes de que la máquina va a apagar. Pulsando el botón parpadeante azul, cambia a un azul añejo y el tiempo de desconexión se supone para moverse a la siguiente 00 o 30 minutos la hora. Por supuesto 30 minutos antes de apagar, el parpadeo volverá.

Artículos Relacionados

Cómo usar el temporizador de vigilante en Arduino

Cómo usar el temporizador de vigilante en Arduino

En este Instructable echamos un vistazo en el temporizador del vigilante en Arduino y las tres diferentes formas de configurarlo. Mostramos un ejemplo sencillo usando el temporizador del vigilante y se puede encontrar el código del ejemplo en el http
Temporizador cafetera doble: OLED y Arduino

Temporizador cafetera doble: OLED y Arduino

Tirando de un café perfecto requiere un control estricto de una serie de variables. La amoladora suministra una dosis fija de molienda correcto en una cesta del portafiltro. El portafiltro se adapta a la máquina de café y la máquina se ejecuta. Si to
Calculadora de Temporizador 555 para RaspberryPi, Arduino o un PC Linux

Calculadora de Temporizador 555 para RaspberryPi, Arduino o un PC Linux

Este instructable es una calculadora para determinar los valores de resistor y capacitor a usar circuitos Temporizador 555 en común. He incluido versiones para el RaspberryPi y haría el Arduino con circuitos simples a parpadear dos LED como el 555. L
Temporizador de cocina de Arduino

Temporizador de cocina de Arduino

esta instructable le guía a través de la creación de su propio Arduino basado en temporizador de cocina. Este es un proyecto bastante simple, que requieren poco o ningún conocimiento de la programación o electrónica, sólo las ganas de aprender y juga
Temporizador de cocina de Arduino con una introducción interrupciones de contador de tiempo

Temporizador de cocina de Arduino con una introducción interrupciones de contador de tiempo

Bienvenidos a mi primer instructivo,Decidí hacer un proyecto bastante simple para entrar al mundo instructable. Este proyecto trata de hacer un temporizador de cocina simple con un Arduino Uno. Así le dará una pequeña introducción a la pantalla tft d
Temporizador de Auto basado Arduino / detener reloj temporizador para frotar ligeramente el tiempo de medición

Temporizador de Auto basado Arduino / detener reloj temporizador para frotar ligeramente el tiempo de medición

necesidad:Alrededor de la semana pasada en el trabajo tuve otro problema no habitual habitual a enfrentar con.  Que bueno tener que hacer un montón de mecanismos números componentes para trabajar con-en segundos o fracs a veces-de sabía que esto vení
Logitech Harmony One desmontaje

Logitech Harmony One desmontaje

porque tuve esta ahí y fue roto decidí paso de desmontar por lo que si hay gente que desea reparar su control remoto para saber cómo abrirherramientas necesarias1 mini destornillador1 mini destornillador normal 5 o 6 mm de anchoADVERTENCIA auto apert
Interrumpe el temporizador de Arduino

Interrumpe el temporizador de Arduino

Interrupciones de Timer permiten realizar una tarea a intervalos muy específicamente programado independientemente de qué está sucediendo en el código. En este instructable voy a explicar cómo configurar y ejecutar una interrupción temporizador claro
Arduino tiempo y Temp de protectores de pantalla

Arduino tiempo y Temp de protectores de pantalla

estoy trabajando en otro de los proyectos requiere un buen contador de tiempo, pero cuanto más leía sobre Arduino, me di cuenta de que no podría hacer un temporizador exacto utilizando un Arduino que ya se dedicó a otras tareas. El Arduino siempre pe
Arduino y frambuesa Pi: construcción de sistemas confiables con contadores de tiempo del perro guardián

Arduino y frambuesa Pi: construcción de sistemas confiables con contadores de tiempo del perro guardián

Resumen: En este Instructable veremos cómo construir más confiables sistemas informáticos utilizando contadores de tiempo del perro guardián. Mostramos cómo configurar y utilizar el Raspberry Pi y temporizadores de control interno de Arduino. También
Super Simple Arduino Powered Roomba Scheduler

Super Simple Arduino Powered Roomba Scheduler

como la mayoría de la gente era escéptico acerca de cómo un robot aspirador, así como un funcionamiento de ensayo pensé que iba a comprar el ahora obsoleto iRobot Roomba 530, que fue fuertemente descontados (están todavía disponibles en Australia, mo
Uber domótica con Arduino y Pi

Uber domótica con Arduino y Pi

[EDITAR] He creado un foro para colaborar en el código de puerta de enlace.http://homeautomation.proboards.com/Board/2/openha...Hace unos años me convertí en propietario de un perro por primera vez. Me gustaba salir de Cody en la perrera solo todo el
¿Sencilla lámpara de Sunrise de Arduino

¿Sencilla lámpara de Sunrise de Arduino

odio despertar en la oscuridad? Yo también.  He encontrado una barata 24 LED lámpara y pensamiento sería bastante fácil de hacer que encienda lentamente usando mi Arduino, que debería ayudar a destierren algunos de los "despertar en la oscuridad"
Regulador de función de múltiple de Arduino Mini con pantalla LCD

Regulador de función de múltiple de Arduino Mini con pantalla LCD

este instructivo se basa en el monitor de entorno Arduino mini y monitor de EEG de Arduino mini Instructables.Le permite controlar hasta 4 relés usando el tiempo, temperatura y/o luz, tu mente, o sensor de lo que le gustaría utilizar.Los ejemplos son