Tabla de contenido:

UCL-lloT-Outdoor-light disparada por el amanecer / atardecer: 6 pasos
UCL-lloT-Outdoor-light disparada por el amanecer / atardecer: 6 pasos

Video: UCL-lloT-Outdoor-light disparada por el amanecer / atardecer: 6 pasos

Video: UCL-lloT-Outdoor-light disparada por el amanecer / atardecer: 6 pasos
Video: The Diaries and Letters of Sir Ernest Mason Satow [Chapter 2, Part 1] #ernestsatow #satow 2024, Noviembre
Anonim
UCL-lloT-Outdoor-light Activada por el amanecer / atardecer
UCL-lloT-Outdoor-light Activada por el amanecer / atardecer

¡Hola a todos! Con un poco de trabajo, algunas partes y código, he reunido este instructivo que les mostrará de principio a fin exactamente cómo producir esta luz para exteriores. La idea nació de mi padre, quien durante el verano tenía que salir manualmente y cambiar cuando la luz estaba encendida. Con la puesta del sol y la salida del sol rápidamente cambiantes durante todo el año, me preguntó si podía encontrar una forma automática de hacerlo. Y así estamos aquí. Un proyecto relativamente pequeño.

Paso 1: Lista de IO y lo que necesitará

Lista de IO y lo que necesitará
Lista de IO y lo que necesitará
Lista de IO y lo que necesitará
Lista de IO y lo que necesitará
Lista de IO y lo que necesitará
Lista de IO y lo que necesitará

Arduino MEGA 2560. Es lo que he usado al menos, sé que fácilmente podrías usar otro.

DS3231 y su biblioteca. (https://rinkydinkelectronics.com/library.php?id=73… Es importante saber que los pines configurados para SDA y SCL son diferentes según el Arduino que esté utilizando.

I052116 Módulo de sensor de detector de movimiento por infrarrojos por infrarrojos. Este módulo en particular se puede cambiar por el sensor de su elección, honestamente, es opcional para todo.

Paso 2: diagrama de flujo

Diagrama de flujo
Diagrama de flujo

Como se ve en el diagrama de flujo simple, gran parte del trabajo pesado reside en Node-Red. Con nodos relativamente simples, la idea es que desde Node-Red acceda a un sitio web que sepa a qué hora se pone y sale el sol. Una vez que lo tenga, enviará la información al Arduino diciéndola. Desde el Arduino obtendremos una señal que indica con precisión cuando las luces están realmente encendidas, para que puedas comprobar desde tu casa justo cuando las luces se queman, también desde el Arduino obtendremos información de que se ha activado el sensor de proximidad., que tiene la luz encendida durante x cantidad de tiempo.

Paso 3: Fritzing

Fritzing
Fritzing

En comparación con otros proyectos, el cableado aquí es bastante simple. Lo que debe tener en cuenta es que necesitará un módulo WIFI para mantenerse en contacto con el servidor Node-Red, u obtener una computadora desechable para alojar el servidor Node-Red que está conectado al Arduino. No se muestra en la imagen la conexión entre Arduino y Laptop, ¡y me disculpo de antemano por la pobre imagen de Fritzing!

Paso 4: codificación

Codificación
Codificación
Codificación
Codificación

Si hay algo que encontré es que con Firmata (para la comunicación de Arduino con Node-Red), la biblioteca DS3231 y más, había muchas bibliotecas cargadas. En el momento de su publicación, la codificación no está terminada, por lo que se incluye un pseudocódigo.

En la biblioteca del DS3231 se incluyen pines preestablecidos para cada una de las placas Arduino, y en el caso de Mega son los pines 20 y 21, ya que son los pines SDA y SCL en el mega. Una vez conectado, se le puede decir al reloj exactamente qué día es y qué debería estar siguiendo. Lo que encontré que es más fácil de trabajar cuando se trata de realizar un seguimiento de los números, es usar int en lugar de string. Entonces, lo que hice es convertir los números de una cadena en int, pero como int no puede usar: para separar un reloj, decidí hacer otra cosa en su lugar. En lugar de trabajar con horas, estaremos trabajando con minutos. Muchos minutos Si el reloj son las 13:21, por ejemplo, tendré los dos primeros dígitos separados y cronometrados con sesenta. Ahora estamos en 801 minutos, ya que 13 por 60 es igual a 780 y sumas los últimos 21 minutos. Si nuestro Node-Red dice que el sol se pone a las 16:58 (en caso de invierno), conseguimos que las luces exteriores se enciendan entre 1018 minutos y una hora de apagado predefinida, que será 1380 (23:00). Si nuestro temporizador está entre esos, las luces se encienden. Las matemáticas anteriores son básicamente todo el programa, sin los pasos de hacer que Node-Red se conecte al Arduino y se comunique. También se usará un sensor que se asegura de que las luces se enciendan (después de la puesta del sol, de todos modos), pero de lo contrario, ese es el programa completo anterior.

Paso 5: Node-Red

Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red

No es un flujo particularmente grande, no es que deba serlo en este caso. Las primeras 2 filas de nodos son la gran parte del programa. Usando una función GET, recuperamos el pronóstico de hoy sobre cómo saldrá y se pondrá el sol. A partir de ahí, usamos un selector de CSS para recuperar nuestra información específica, generalmente a la que se accede en un sitio web "Inspeccionar elementos" en un Firefox como se indica en las imágenes. Tenga en cuenta que no todos los sitios web funcionan de esta manera y el que yo uso funciona perfectamente de esta manera. A partir de ahí, escribirá información en el pin 13 porque eso es lo que lo he designado, aunque las pruebas aún deben determinar si es factible que un pin llegue a diferentes momentos. Como se describe en la parte de codificación, la información vendrá de Arduino a Node-Red, donde luego se indicará en un sitio web accesible donde se puede verificar fácilmente. Necesitará Firmata para esto si desea usar las funciones de Arduino. adquirido a través de la biblioteca node-red-node-arduino en Node-Red. Aunque aún no está completamente configurado, y se actualizará cuando termine el proyecto, he adjuntado el código para Node-Red Flow en un documento de texto para facilitar el acceso.

Paso 6: Implementación y uso

Implementación y uso
Implementación y uso

Y para terminar nuestro instructable, es la parte práctica. Dado que pocas casas tienen este nivel de luz automática, una solución para todo el año es bienvenida por muchos propietarios. Para conectar esto con lámparas que usan electricidad que no es un Arduino, no recomiendo hacerlo usted mismo a menos que sepa exactamente lo que está haciendo. Con el proyecto terminado, me encargaré de esta tarea con la ayuda de un electricista solo para estar seguro. Iluminando su camino de entrada con un sensor o estrictamente en el tiempo, le recomiendo que se base en lo que ya he hecho si Me refiero a ponerlo en uso más allá de esta fase de prueba en la que se encuentra actualmente. La mayor parte de mis problemas con el proyecto estaban estrictamente en la parte Node-Red to Arduino, y espero haber logrado explicar lo más claramente posible cómo eso está hecho.

Recomendado: