Tabla de contenido:

Despertador de luz de bricolaje: 7 pasos
Despertador de luz de bricolaje: 7 pasos

Video: Despertador de luz de bricolaje: 7 pasos

Video: Despertador de luz de bricolaje: 7 pasos
Video: 🔴 CÓMO HACER UN DESPERTADOR QUE SE ACTIVA POR LUZ 2024, Noviembre
Anonim
Despertador de luz de bricolaje
Despertador de luz de bricolaje
Despertador de luz de bricolaje
Despertador de luz de bricolaje
Despertador de luz de bricolaje
Despertador de luz de bricolaje

¿Alguna vez has querido probar uno de esos elegantes relojes de alarma que imitan el amanecer para despertarte? ¿Quieres agregar algunas luces de colores a tu habitación? ¿Quieres controlarlo todo desde cualquier dispositivo con un navegador de Internet? Entonces mira este reloj despertador que hice usando lo que aprendí al construir mi comedero automático para peces.

El objetivo principal de Light Alarm es asegurarme de que haya luz en mi habitación cuando me despierto, especialmente en invierno, cuando normalmente todavía está oscuro. La luz se desvanece durante un período de tiempo predeterminado que termina en brillo total a la hora de alarma establecida. Pero ese es solo el primer modo, ¡hay otros 7 modos de iluminación para jugar!

La alarma de luz se controla a través de una página HTML alojada en la placa ESP-8266-12e. Se puede acceder a él desde su red doméstica o se puede configurar para acceder desde cualquier lugar de Internet con reenvío de puertos.

Paso 1: Materiales:

  • Placa ESP-8266-12e (NodeMCU)
  • Último IDE de Arduino
  • Bibliotecas necesarias para el código instalado
  • Notepad ++ (para editar el HTML si lo desea)
  • Navegador (utilicé Chrome, pero cualquiera debería funcionar, especialmente si te permite ver el código html funcionando)
  • Impresora 3D con un área de construcción de al menos 150 mm x 150 mm
  • Filamento de plástico blanco o transparente (para la pantalla, la montura puede ser de cualquier color que tengas)
  • Pantalla de 4 dígitos y 7 segmentos con chip TM1637, utilicé uno de estos
  • Tira de LED RGBW direccionable de 1 metro, sk6812. Mi tira tiene 60 LED / metro, pero ya no se vende. El código arduino está configurado para RGBW, por lo que tendrá que reescribirlo si desea usar una tira RGB. Recomendaría una tira con al menos 60 LED.
  • SI la tira no tiene un respaldo adhesivo: cinta adhesiva y superpegamento
  • Protoboard para montar la placa
  • Cable 24AWG (recomiendo varios colores)
  • Al menos 6 pies de cable para energía. Recomiendo usar lo que venda en su ferretería local para lámparas de mesa.
  • Fuente de alimentación de 5V, usé este
  • No olvide los adaptadores para la fuente de alimentación.
  • Soldador
  • Cable USB para programar la placa
  • pegamento caliente
  • Pines de encabezado (macho y hembra)
  • Paciencia

Paso 2: Programación de la placa

La placa tendrá dos conjuntos de código, el código arduino normal que se ejecuta y el código HTML que envía a su navegador. Carga el código arduino como lo haría con cualquier otra placa. Sin embargo, el HTML requiere un complemento para cargarlo en la memoria SPIFF de la placa.

Para obtener un tutorial sobre cómo usar SPIFF, consulte

Para saber cómo cargar el código HTML, consulte https://www.esp8266.com/viewtopic.php?f=32&t=10081, necesitará instalar un complemento en arduino para hacer esto.

El HTML debe guardarse en una carpeta en la carpeta del proyecto arduino simplemente llamada 'datos'.

Cargar el HTML toma un par de minutos, pude jugar una o dos carreras en línea en Mario Kart 8 mientras esperaba. Debido a esto, si está realizando cambios en el HTML, use notepad ++ para editar y soltar el archivo en un navegador como Chrome para probarlo.

Paso 3: cómo funciona el código

Cómo funciona el código
Cómo funciona el código
Cómo funciona el código
Cómo funciona el código

El código de este proyecto se divide en dos archivos: el código que ejecuta la placa y el HTML almacenado en la memoria de la placa que envía al navegador cuando navega a la página web.

Cuando conecta la placa a la alimentación, el código de la placa comienza, como cualquier arduino. Se conecta al WiFi de su hogar y luego se comunica con un servidor NIST para obtener la hora actual para configurar el reloj interno. Una vez configurado el reloj, se inicia el servidor web y puede conectarse a través de su navegador favorito.

Tienes que conectarte por la dirección IP de la placa, así que asegúrate de reservar una IP estática en tu enrutador. También cambié el puerto de mi lámpara, así que para conectarme, navego a 192.168.0.170:301/. Si desea conectarse a su lámpara desde cualquier lugar del mundo, deberá configurar el reenvío de puertos en su enrutador. Luego, tendrá que conectarse a la dirección IP que ve cuando se conecta a https://www.whatsmyip.org/ y al puerto en el que configuró la IP local de la lámpara.

Una vez que se conecta, la placa envía el archivo HTML a su navegador, que lo decodifica y muestra la página. Los cambios que realice no afectarán al tablero hasta que presione uno de los botones. en la página web. Cuando presiona un botón, su navegador envía un formulario html al tablero con la configuración actual y el tablero adopta esas configuraciones y configura las pantallas.

La configuración es bastante sencilla. La página se adapta al ancho de su navegador y se ve un poco mejor en dispositivos móviles. Para cambiar la apariencia de la página de configuración, tendrá que editar el HTML, y hay muchos otros tutoriales en línea para eso. Como esta era la primera vez que usaba HTML, aprendí principalmente usando

Cuando se cargue la página, verá cuatro botones, un control deslizante y un menú desplegable. El botón superior es el botón principal "entrar" o "activar". Los dos botones siguientes alternan la visualización de la hora digital y si muestra la hora en formato de 12 horas o de 24 horas. El control deslizante controla el brillo del reloj digital, que se actualiza cada vez que cambia el modo de visualización o enciende el reloj. Se supone que el último botón apaga todas las luces, pero por alguna razón no funciona con esta versión del código. En cambio, al presionar el botón "Engage" sin ninguna configuración seleccionada, se apagarán las luces.

El menú desplegable contiene 7 modos de sistema; al seleccionar uno, se mostrarán los ajustes necesarios a continuación.

  • Modo 1: alarma. Ingrese el tiempo que desea que la luz alcance el brillo total y cuánto tiempo desea que el desvanecimiento sea en minutos enteros. El valor predeterminado es 6:00:00 AM y 15 minutos. La luz permanecerá en su brillo máximo durante el mismo tiempo que se desvanece antes de apagarse automáticamente. El valor predeterminado se puede cambiar en código HTML.
  • Modo 2: Reloj analógico. Elija tres colores para representar las manecillas de la hora, los minutos y los segundos en un reloj analógico. Un control deslizante sobre los tres selectores de color colocará automáticamente los colores fríos o cálidos preestablecidos si se establece a la izquierda o a la derecha, respectivamente. Si el control deslizante se establece hacia la izquierda o hacia la derecha, luego se devuelve al centro, entonces todos los selectores de color se configuran en negro (0, 0, 0, 0) [R, G, B, W]. Cuando se envía un color todo cero al tablero, se aleatoriza. * Esto puede hacer que las luces parpadeen excesivamente. * Si desea que una luz permanezca apagada, establecer cualquier valor en 1 resultará en 'negro' (todos los valores predeterminados en 1 (01, 01, 01, 01) cuando los selectores de color están inicializado). El selector de color y los controles deslizantes RGB están vinculados, mientras que el control deslizante W es independiente.
  • Modo 3: Color. Elija un color para configurar las luces. Esto permanecerá hasta que el usuario lo cambie.
  • Modo 4: ciclo de color. Elija tres colores para recorrer e ingrese el tiempo para mantener cada color. Se aplican los mismos métodos para elegir los colores que en el Modo 2. Los colores aleatorios funcionan mejor con este modo.
  • Modo 5: Cilindro de color. Elija tres colores (igual que el anterior) y las RPM del cilindro. Las luces se mostrarán como un patrón de rayas que giran alrededor del eje. a las RPM que eligió. Las RPM predeterminadas son 60 o 1 rev / seg. ¡Los colores aleatorios pueden resultar en luces intermitentes!
  • Modo 6: Vórtice de color. Establezca tres colores y las RPM. Este modo no es perfecto, pero la idea es que las luces giran durante todo el día. Hay aleatoriedad incorporada, por lo que es mejor usar el control deslizante de temperatura para elegir si el vórtice comienza cálido o frío.
  • Modo 7: Arco iris. Configure la velocidad del ciclo, las RPM son bastante inútiles aquí. Este fue un ejemplo prefabricado de la biblioteca de Neopixel con algunas ediciones para permitir que la placa aún responda a las entradas del usuario.

Una vez elegida la configuración, al presionar cualquier botón se enviará un formulario HTML al tablero, que utiliza los valores del formulario para cambiar la configuración de visualización. El botón "Engage" envía todos los ajustes, mientras que los dos botones del reloj envían solo el brillo del reloj. Se supone que el botón "apagado" simplemente apaga la tira de LED, sin embargo, hay un error que impide que funcione. Presionar "Engage" sin cambiar ninguna configuración parece funcionar en su lugar. Una vez que el tablero ha analizado la configuración, redirige su navegador a la página HTML inicial.

Nota: La configuración de la hora de la alarma cambia el modo del sistema a 1, lo que detendrá cualquier modo que se estuviera ejecutando antes y restablecerá todos los ajustes. Sin embargo, iniciar un modo diferente después de configurar la hora de la alarma no cambia la hora que configuró, por lo que puede configurar su alarma y luego iniciar un nuevo modo. Si el nuevo modo no se apaga antes de que la alarma comience a desvanecerse en la luz blanca, esto puede causar parpadeo. Para evitar esto, la placa está codificada para apagar todas las luces y configurar el modo del sistema en 1 (alarma) a las 2 a.m. sin cambiar la hora de alarma configurada. Este tiempo de corte estricto se puede cambiar en el código arduino.

Paso 4: Configuración de su red y conexión

Configuración de su red y conexión
Configuración de su red y conexión

Este paso es un poco vago ya que cada enrutador es diferente. Busque en Google su modelo de enrutador particular para encontrar la configuración que necesita cambiar.

Necesita iniciar sesión en su enrutador y probablemente activar el modo avanzado. En mi enrutador, tengo que ir al servidor DHCP para reservar una dirección IP. Encuentre la dirección MAC de su ESP8266; será el que está en la lista de clientes DHCP (o el equivalente de su enrutador) que desaparece cada vez que desconecta el ESP.

Utilice la dirección MAC para reservar la dirección IP de la lámpara. Asegúrese de que la entrada esté habilitada si su enrutador tiene esa configuración.

Si desea conectarse desde fuera de su red personal, deberá buscar en Google su enrutador para averiguar cómo configurar el reenvío de puertos.

Paso 5: Piezas impresas en 3D

Las piezas impresas deben caber en la mayoría de las impresoras. Hay dos partes: el monte y la sombra.

La montura es lo que envuelve la tira de LED, en un patrón en espiral, y su diámetro es tal que una tira de 1 metro de 60 LED debe enrollarse 3 veces y todos los LED deben alinearse axialmente. Si está utilizando una tira donde los LED están espaciados de manera diferente y no se alinean en el soporte como deberían, cambie el diámetro con los modelos proporcionados. El diámetro es C / pi, donde C es la circunferencia y es 1/3 de la longitud de la tira. Las aberturas semicirculares en el lado de la pared del soporte permiten el paso del cable de alimentación y el flujo de aire. Los tirantes transversales proporcionan rigidez y una superficie para aplicar tiras de comando para el montaje.

La pantalla tiene un ajuste por fricción con el soporte y hay una muesca para alinear la pantalla con el soporte. La muesca debe estar en la posición de las 12 o las 6 en punto cuando se monta en la pared, y la pantalla del reloj de 7 segmentos debe estar alineada con la muesca. La pantalla actúa como difusor de las luces y, como resultado, es muy fina. Lo imprimí con una boquilla de.5 mm, y la mayoría de las impresoras comerciales vienen con boquillas de.4 mm, por lo que debería haber algunos problemas, pero asegúrese de revisar su cortadora para asegurarse de que la pantalla se imprima correctamente. También asegúrese de usar un plástico blanco o translúcido para la sombra. Otros colores distorsionarán los colores de las luces o bloquearán demasiada luz.

Asegúrese de verificar que la pantalla del reloj digital que está utilizando se ajuste a la sombra. Está diseñado para encajar por fricción en su lugar con suficiente espacio para los cables del reloj. Utilice los modelos para cambiar el soporte del reloj. Al cambiar el modelo de la pantalla, asegúrese de mantener el grosor de la cara frontal por debajo de 1 mm, para que el reloj sea visible a través de ella con poca difusión.

Paso 6: cableado y montaje de la placa

Montaje de cableado y placa
Montaje de cableado y placa
Montaje de cableado y placa
Montaje de cableado y placa
Montaje de cableado y placa
Montaje de cableado y placa

La placa y el cableado son mucho menos complicados que mi alimentador de peces. Simplemente suelde un par de filas de clavijas de cabezal hembra a un protoboard para que se asiente el ESP-8266-12e, así como dos filas de clavijas de cabeza macho para conectar la alimentación. Soldé los dos cables de datos del reloj y el cable de datos de la tira de LED a sus respectivos pines en el protoboard, y todos los cables de alimentación y tierra se soldaron a los respectivos rieles de alimentación que hice en la parte posterior de la placa.

El otro lado de estos cables deben ser conectores hembra para el reloj y el conector de la tira de LED para la tira de LED. Es posible que necesite soldar pines macho al reloj y recomiendo pines en ángulo para ello. Los cables de la tira de LED y los cables de alimentación deben enrutarse hacia el lado de la pared de la placa (el lado con el ESP) y los cables del reloj deben enrutarse hacia el lado frontal (donde están todas las juntas de soldadura).

Para una línea eléctrica, usé 6 pies de alambre de cobre trenzado de 16-26. Era un poco grueso, así que dividí cada cable entre tres pines hembra para conectarlos a los rieles de alimentación y de tierra. El otro lado debe ser cualquier conector que tenga para su fuente de alimentación.

Pegue con pegamento caliente todas las juntas de soldadura expuestas (especialmente en el cable de alimentación, y ESPECIALMENTE si hay cobre expuesto como el mío) para aislar todo de cortocircuitos accidentales. También puede pegar en caliente el reloj a la placa (la parte posterior del reloj al lado de la placa de soldadura), pero descubrí que esta era una unión débil y no era tan necesaria una vez que todo estaba montado.

Enrolle la tira de LED alrededor del exterior del soporte. ASEGÚRESE de probar la tira en el modo 2 para comprobar que el reloj analógico va en la dirección correcta. Asegúrese de dejar un espacio de ~ 5 mm desde el borde frontal para la sombra. El primer LED de la tira (el LED en el que aparece el color de los segundos en la parte superior de cada minuto, en un extremo de la tira) se sitúa en la posición de las 12 en punto. cuando la lámpara está montada en la pared. Cuando tenga la tira de LED en su lugar, use su respaldo adhesivo (si tiene uno) o pegamento para pegarlo al soporte. El superpegamento funcionará mejor si la tira no tiene un respaldo adhesivo. Use cinta adhesiva para mantener la tira en su lugar mientras prueba y mientras se seca el pegamento.

Pase los cables LED a través de los orificios semicirculares en el soporte para conectarlos a la placa. El cable de alimentación también se pasa por aquí, asegúrese de hacer un agujero en el que el cable no tire debido a la gravedad o tirones accidentales.

Paso 7: Montaje

Para montar en la pared, simplemente use 3-4 tiras de comando 3M, o tantas como desee. Use la muesca en el soporte para verificar que esté nivelado. Después de montar el soporte, conecte el cable de alimentación y los cables del LED a la placa e inserte el reloj en la pantalla. Luego, simplemente coloque la pantalla en el soporte y conecte el cable de alimentación a la fuente de alimentación.

Recomendado: