Smart Appliance Switch (3 / 5 paso)

Paso 3: codificación

Al principio parecía simple lógica: si es oscuro y hay movimiento - encienda el aparato (lámpara en mi caso), si no lo apaga. Espera a n segundos y vuelva a comprobar.

Pero como estuve probando y agregando nuevos modos a mi dispositivo, ninguno de los arriba mencionado trabajado que simple.

Si no se puede utilizar (oscuro == true & & movimiento == verdadero) entonces {encender} else {Apagar}; Delay (n);

¿porque obtendrá desagradables retroacción: oscuro? ¿-sí, movimiento? -sí y luego encienda; esperar; ¿Dark? ¿-no (porque sólo hemos encendido las luces), movimiento? -sí y luego apagarlo; ¿Dark? -sí... Así con esta lógica que obtendrá constante centelleo.

Esa es la razón por la cual en el procedimiento light_on() primero comprobamos si es oscuro y luego ir en bucle, encender luz y constantemente comprobando si existe movimiento. No comprobar estas dos condiciones simultáneamente.

En cuanto a la demora del comando (n), que se detiene la ejecución de números milisegundos, nosotros no podemos usarlo porque durante la demora, si pulsas los botones de modo permanente o manual, Arduino no lo notará, porque duerme. Es por eso que utilizamos en el mismo bucle, que controles de movimiento en light_on () procedimiento, función millis() y asignar su valor a la variable "ahora". Millis() devuelve el número de milisegundos que pasado desde Arduino estaba activada. Esta manera somos capaces de salir del bucle cuando ahora + delay_time > millis().

Por lo tanto, todas las condiciones para salir del lazo en light_on() procedimiento:

  • no hay ningún movimiento;
  • delay_time ha pasado desde la última vez que se detecta movimiento;
  • modo de dispositivo fue cambiado pulsando uno de los botones.

Otros comentarios que he incluido en el código sí mismo.

Hice dos clases: fotocélula y pir.

Para botón contra rebotes uso biblioteca Bounce2 que se puede descargar desde aquí. Descargar biblioteca y desempaquete su contenido en ~/Documents/Arduino/libraries (en un Mac) o My Documents\Arduino\libraries (en una máquina Windows).

Photocell.h

PIR.h

Eso es todo el código que usted necesita. Ahora usted puede subir a su Arduino y prueba, si todo funciona como debería, antes de ocuparse de alta tensión y montaje caso para su dispositivo.

También os adjunto los archivos con los códigos. En mi máquina todo compila sin problemas.

Artículos Relacionados

Domótica, Smart Switch Interruptor Inteligente - DOMOTICA -

Domótica, Smart Switch Interruptor Inteligente - DOMOTICA -

En esta oportunidad les ofrezco un proyecto en el cual estado trabajando, y del cual esperaría recibir comentarios, ideas, mejoras, con el fin de lograr alguno de los mejores sistemas disponibles en la red.En el presente artículo encontrará todo el d
Switch SMART

Switch SMART

El mundo ha cambiado tan rápidamente y es todo por la ciencia y la tecnología. Las cosas han mejorado, la nueva era ha llegado de un mejor y un mundo inteligente. Pero según yo hay una cosa que no ha cambiado todavía... Un interruptor! Sí un interrup
Samsung Galaxy - transferencia de archivos con la aplicación de Samsung Smart Switch

Samsung Galaxy - transferencia de archivos con la aplicación de Samsung Smart Switch

Paso a paso sobre cómo transferir archivos de un teléfono de Samsung a otro.
[Rokit Smart] Robot de sumo

[Rokit Smart] Robot de sumo

¿Qué es el Robot de Sumo y cuál es su finalidad?El Robot de Sumo es un robot autónomo que podrás empujar a tu oponente (probablemente otro robot de sumo) fuera del ring de batalla.¿Qué tiene de especial este robot?Este robot utiliza dos motores DC pa
ESP8266 y Visuino: mando a distancia WiFi Smart coche Robot con Wii Nunchuck

ESP8266 y Visuino: mando a distancia WiFi Smart coche Robot con Wii Nunchuck

Que coche elegante se establece cuando se combinan con Los módulos de controladores Motor L298N, ofrecen una de las maneras más fáciles de fabricar coches robot. Ya hice un Instructable sobre cómo puede controlar coche Smart con Arduino y Joystick. S
Smart Cap

Smart Cap

Hola,En este instructable, voy a presentar mi nueva idea de 'El Smart Cap.' Sé que muchos de ustedes tendrán la pregunta, ¿qué es smart cap y lo hacen exactamente?Básicamente esto se hace por mí, para mi madre. Mi madre se pierda un montón de llamada
Mi cuarto proyecto: Smart tanque chasis con Bluetooth

Mi cuarto proyecto: Smart tanque chasis con Bluetooth

Es mucho mejor si el tanque se mueve según mi instrucción en el instante en lugar de las direcciones antes de. Después de algunas investigaciones planeo controlar el tanque con mi teléfono móvil a través del módulo Bluetooth.Paso 1: partesMódulo de B
Un 3D impreso Panel de Switch automotriz

Un 3D impreso Panel de Switch automotriz

En este IBLE vas demostrando el diseño y construcción de un Panel de Switch automotriz.Yo estaba pensando en hacer esto durante mucho tiempo para sustituir el panel interruptor existente en mi 1923 modelo T Street Rod como fue compilado como un arreg
Android Motion Sensor Smart Mirror

Android Motion Sensor Smart Mirror

Decidimos que necesitábamos un espejo en nuestra cocina, y también era consciente de que mi familia utiliza sus teléfonos inteligentes para comprobar el tiempo, calendario de citas etc. antes de llegar a los niños listos y dirigirse hacia fuera para
Smart RimGuard

Smart RimGuard

¿Qué es Smart RimGuard?Automáticamente baja sus retrovisores mientras que marcha atrás y vuelve a la inicial posición cuando aparcamiento. Ahora puede comprobar lo cerca que estás a la acera y guardar tus llantas de caras abolladuras y arañazos! Como
Reloj Led RGB con Bluetooth Smart

Reloj Led RGB con Bluetooth Smart

Este instructable muestra cómo utilizar un ciprés-BLE-Devkit para construir un reloj LED RGB.Necesita muy pocas cosas:Tira de RGB LED con 30 o 60 LEDs WS2812b.un tablero de PC del estilo de cuadrículaalgunos pins del jefe del perno y un poco de alamb
Smart router con WiFi conexión visualización

Smart router con WiFi conexión visualización

Aquí comparto mi último proyecto, un router con cáscara de acrílico y algunos leds.Este router tiene las siguiente funciones:Saber cuántos dispositivos habían conectado a su routerMostrar la velocidad de red en tiempo real por diferentes colores de l
Smart Board: Edison de Intel y salesforce CRM

Smart Board: Edison de Intel y salesforce CRM

Utilizando intel edison para monitorear parámetros del entorno (peligro, confort) de aula, invocar un incidente al sistema escolar de salesforce salesforce y notifique automáticamente el administrador de la escuela y el respectivo preferido proveedor
Smart Cup

Smart Cup

Somos prototipos una taza inteligente para bares y fiestas. La Copa cuando la persona bebiendo de él se convierte en un pasivo mediante la observación de signos de comportamiento de riesgo, advierte el host. Por ejemplo, un sensor de alcohol Nota Cua