Una Wireless Smart Home (fue: en el simulador de la casa y alarma con Arduino o Atmega328 (actualizado mayo de 2016)) (10 / 11 paso)

Paso 10: El código avanzado: Descripción

Inicialmente el código establece una gran cantidad de variables y constantes. Define un número de macro especialmente para los comandos específicos del interruptor remoto. Lo hago es fácil cambiarlos en un lugar en caso de utiliza diferentes Switches.

En la configuración, configura el puerto serie y el tiempo. Entonces lee la EEPROM del módulo RTC para ver si en el encendido, algunas luces o dispositivos deben funcionar y lo hace. Esto lo hago en el caso de una interrupción de energía y reiniciar, el controlador aún sabe lo que debe estar encendido y lo que no.

El bucle comprueba el puerto Serial de entrada (a partir de un módulo de bluetooth) y toma acción si se encuentra la entrada. Si no actualiza el tiempo.
Entonces básicamente lo que hace es recorrer una serie de declaraciones de IF para ver si es el momento para la acción, interruptor un dispositivo encendido o apagado
Si un dispositivo tiene que estar encendido, salta a la subrutina/función correspondiente, envía el comando específico y actualiza el statusflag y escribe en la EEPROM. Envía el comando específico mediante una macro como "HuiskamerAAN" (en salón). usted necesita asegurarse de que la definición de la Macro coincide con el comando que su interruptor de control remoto.
Disculpas para guardar la macro definiciones en holandés, pero ya usé el término en inglés para las funciones: es decir, la función 'LivingRoomON' usa la macro "HuiskamerAAN". En las definiciones de Macro usted encontrará exactamente lo que es lo que en inglés.

Mientras que es bucle, el programa también continuamente comprueba si tal vez ya es la fecha correcta para DaylightSavingstime o, si ya es DST, ya sea la fecha correcta para apagar.
También realiza un seguimiento de qué fecha es así que puede hacer una aproximación del tiempo de la puesta del sol y el amanecer. Enciende la luz en la sala de estar cerca de la mitad una hora antes del atardecer, a menos que ya esté oscuro cuanto antes (cielo cubierto, trueno,) entonces se enciende las luces antes.
Esto logra mediante la lectura de una LDR. Es necesario establecer el nivel para a su propia situación.
Con respecto a la DST cálculo y aproximación de la salida del sol, estas son válidas para mi ubicación (en NW Europa) necesita adaptarse a los de su situación (y tal vez no tienes DST)

Con respecto a las variables de tiempo como una llamada "now.minute()' Lee la RTC enseguida.
Sin embargo dejo el bucle de constante actualización de las variables de tiempo como esta:

j = now.year();
mo = now.month();
d = now.day();
h = now.hour();
m = now.minute();
s = now.second();

Así que durante todo el programa está bien usar 'h' o 'now.hour()' para obtener la hora.
La única diferencia es que 'h' probablemente será un tadd más rápidamente que con 'now.hour()' pero 'h' puede ser una fracción de tiempo atrás. Creo que el loop es un ciclo de aproximadamente 150 veces por segundo por lo que si actualizo las variables al principio del bucle y usar hacia el final del bucle, podría requerírseme la 1/150 th de un segundo detrás. Realmente no parece un problema para mí

Artículos Relacionados

Smart Home Automation con comando de voz

Smart Home Automation con comando de voz

Este es un tutorial paso a paso el circuito para la función "Smart Home automatización con comando de voz" del edificio.Descargar nuestro código de proyecto Arduino gratis aquí.Requisitos:• Arduino Uno• LED• Resistencia (220 ohmios)• Módulo Blue
GSM 900 + ARDUINO smart home control a través de sms

GSM 900 + ARDUINO smart home control a través de sms

requisito deunoGSM 900placa de reléPaso 1: GSM 900 + ARDUINO smart home control a través de smsArduin Unoo GSM + placa de relé + codificación
Una esfera levitando gira se ilumina y parpadea con Arduino

Una esfera levitando gira se ilumina y parpadea con Arduino

Una estrella de la muerte poco levitando en Instructables me invitó al nuevo proyecto con Arduino. Tres políticas se decidió y se mantuvieron para diferenciarlo del precursor.Hacerlo yo misma con Ready-Made no (o menos).Guardar el girar.Que brillan y
Android aplicaciones para usar con un iPhone: una guía completa para instalar 3 aplicaciones en Android usar reloj junto con un iPhone

Android aplicaciones para usar con un iPhone: una guía completa para instalar 3 aplicaciones en Android usar reloj junto con un iPhone

¿Poseer un reloj Android usar con un iPhone?Aprenda cómo puede ampliar sus capacidades mediante la instalación de 3 aplicaciones de partido abajo!Relojes inteligentes son grandes. Tienen un montón de otras características útiles que no puede ofrecer
Vuelo simulador con Arduino y Python

Vuelo simulador con Arduino y Python

Control de la opción de simulador de vuelo de Google Earth utilizando un Arduino y un acelerómetro.Volar prácticamente todo el mundo; el acelerómetro de inclinación hacia adelante, atrás, izquierda y derecha para controlar el avión Pitching y banca.O
Controlar una cucaracha con Arduino de bajo $30

Controlar una cucaracha con Arduino de bajo $30

Hace unos años VI cucaracha controlada de patio cerebros smartphone, y solo sopló mi mente! He intentado a mi mamá para que me deje comprarlo, pero la mención de las cucarachas convenció de lo contrario. :) Comencé a realizar proyectos con Arduino un
Cómo hacer un mando a distancia controlado por una mano robótica con Arduino

Cómo hacer un mando a distancia controlado por una mano robótica con Arduino

Este es mi proyecto escolar para 5 º año de secundaria (yo soy italiana, tenemos 5 años de secundaria).Consiste en una mano artificial controlada por un guante con sensores de flexión. La mano artificial reproduce los movimientos de la mano con el gu
Libretita: una bajo costo, modular, compatible con Arduino plataforma educativa

Libretita: una bajo costo, modular, compatible con Arduino plataforma educativa

Para mis clases de soft-circuito, hemos estado utilizando un circuito de Attiny85 preprogramado (), o el más caro de compatible con Arduino Lilypad USB. Quería algo entre esos dos extremos que serían:Fácil de construir por los principiantesDe bajo co
Cómo hacer una pantalla LED de 7 segmentos con Arduino

Cómo hacer una pantalla LED de 7 segmentos con Arduino

Voy a mostrarte cómo hacer un 7 segmentos display con LEDS. Combinan con Arduino para crear cuentas regresivas, texto simple y mucho más. Me gusta hacer proyectos originales. He buscado en el conjunto de instructables y no encontrar uno como este. De
Cómo hacer una funda de cinturón de cuero para un cuaderno Moleskine de bolsillo - con lapicera - u otras cosas similares...

Cómo hacer una funda de cinturón de cuero para un cuaderno Moleskine de bolsillo - con lapicera - u otras cosas similares...

Pantalones con bolsillos en la espalda pero no me gusta tener cosas en estoy, sobre todo cuando estoy manejando o haciendo cosas de actividad (como la fijación de un neumático plano..) :-(Al mismo tiempo suele llevar un pequeño cuaderno, el tipo de p
Hacer una catapulta con Arduino

Hacer una catapulta con Arduino

¡ Hola!Este tutorial le dirá cómo hacer una catapulta con un Arduino, también va a jugar un pequeño sonido antes de que fuego. Aquí tenéis un vídeo del producto final.Lo primero es lo primero, aquí está una lista con cosas que se necesita para la ins
El Wireless solo punto llamar sistema con Arduino

El Wireless solo punto llamar sistema con Arduino

ICStation equipo presentar Wireless punto llamar a sistema único basado en la ICStation UNO y el compatible con Arduino ICStation Mega2560 . El único punto de llamar a sistema inalámbrico trabaja bajo el voltaje de 5V DC y utiliza el Módulo sin hilos
Smart termómetro Personal con Arduino

Smart termómetro Personal con Arduino

Este instructable es preparado como parte de nuestra tarea para TfCD (tecnología para el diseño de concepto) el curso en TU Delft. Se prepara el siguiente instructivo:bo Koperdraat: 4209567Karthik Mahadevan: 4501578En este instructable aprenderá a co
Smart alarm: con sensores de Arduino y velostat

Smart alarm: con sensores de Arduino y velostat

Objetivo:Despertar es la parte más difícil del día, y para la mayoría de las personas, es el levantarse de la cama. El propósito del proyecto alarma inteligente es crear un despertador interactivo que requiere el usuario hacer físicamente una acción/