Tabla de contenido:

Reloj de palabras de arco iris con un efecto de arco iris completo y más: 13 pasos (con imágenes)
Reloj de palabras de arco iris con un efecto de arco iris completo y más: 13 pasos (con imágenes)

Video: Reloj de palabras de arco iris con un efecto de arco iris completo y más: 13 pasos (con imágenes)

Video: Reloj de palabras de arco iris con un efecto de arco iris completo y más: 13 pasos (con imágenes)
Video: HARÉ QUE TUS PAREDES SE MUEVAN!🌀 #shorts 2024, Mes de julio
Anonim
Reloj de palabras con arcoíris con efecto arcoíris completo y más
Reloj de palabras con arcoíris con efecto arcoíris completo y más

Metas

1) simple

2) No es caro

3) Tan eficiente energéticamente como sea posible

Rainbow Word Clock con un efecto de arco iris completo.

Una carita en el Word Clock.

Mando a distancia por infrarrojos simple

Actualización 03-nov-18 LDR para el control de brillo de los Neopixels

Actualización 01-jan-19 Reducción del consumo de energía de WS2812B.

Actualización 15-ene-19 Smiley.

Actualización 23-jan-19 Code 1.6

Actualizar enlaces de bibliotecas 10-mar-19

Actualización 14-apr-19 versión 1.7 Opción smiley on / off collor rainbow / fix enz.

Última actualización 01-jun-19 versión 2.0 control remoto IR y rediseño de código

Paso 1: el caso del reloj

El caso del reloj
El caso del reloj
El caso del reloj
El caso del reloj
El caso del reloj
El caso del reloj

Con algunas herramientas simples y un poco de habilidad, no es difícil hacer un reloj con letras. Usé los materiales disponibles para mí.

Para el caso utilicé una barra de pino en bruto en la que corté algunos marcos. Estos harían los cuatro lados de la caja, que estaban pegados y reforzados con un pequeño trozo de madera en las esquinas. Entonces la madera necesita lijar y pintar.

Las letras son cortadas en papel de aluminio por una impresora en escritura espejo. La lámina está en la parte posterior de la placa de vidrio y está cubierta con un papel de patrón de doble capa para una mejor distribución de la luz. El vidrio está fijado con sellador de silicona.

Paso 2: Neopixels

Neopixels
Neopixels
Neopixels
Neopixels
Neopixels
Neopixels
Neopixels
Neopixels

Los LED de Neopixels están dispuestos sobre una placa de madera, en la que primero se taladran agujeros de 3 mm. En la parte delantera están agrandados a tamaño carta a 3/4 de profundidad. Después de eso, los 3 mm en la parte posterior se aumentan a 10 mm, este es el tamaño de un Neopixel. Para algunos personajes, entre otros, la W, el orificio debe ajustarse ligeramente.

Usé madera contrachapada que se astilló rápidamente, MDF puede ser mejor.

Con los LED individuales no está limitado a una distancia fija, como es el caso de las tiras de LED. Los LED deben estar conectados entre sí. Puede hacer esto con todos los trozos cortos de alambre. Pero las dos conexiones mínimas (-) son como las dos conexiones positivas (+) conectadas internamente, por lo que la misma conexión.

Puede ahorrarse mucho trabajo soldando un trozo de cable al LED izquierdo y luego al LED derecho. Luego suelda los intermedios.

La conexión de datos, por supuesto, debe tener partes cortas porque la salida de datos va a la entrada de datos.

Paso 3: ajuste del texto frontal

Ajuste del texto frontal
Ajuste del texto frontal
Ajuste del texto frontal
Ajuste del texto frontal
Ajuste del texto frontal
Ajuste del texto frontal

La placa frontal está ahora en holandés, pero simplemente para convertir en cualquier idioma.

Los leds de NeoPixels se conmutan aquí sucesivamente de 0 a 167. La numeración va desde la primera fila en la parte superior izquierda a la derecha y luego a la segunda fila de derecha a izquierda, etc. El ajuste se puede realizar según sus propias necesidades. El número de NeoPixels está determinado por la cantidad de caracteres. Se pueden ajustar menos o más Neopixels en la siguiente línea

#define NUMPIXELS 168 // ¿Cuántos NeoPixels están conectados al Arduino?

168 es otro número. La numeración comienza en 0. Puede hacer cualquier texto. Si cambia el texto, también tendrá que ajustar las palabras correspondientes. La numeración sigue siendo la misma.

Como ejemplo, DRIE de los minutos, se determina en el código

void zetmDrie () {

Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-drie

}

Si desea hacer la palabra Arduino, entonces es así:

void zetArduino () {

Led_Aan [38] = 1, Led_Aan [50] = 1, Led_Aan [56] = 1, Led_Aan [93] = 1;

Led_Aan [120] = 1, Led_Aan [135] = 1, Led_Aan [147] = 1; // Palabra-arduino

}

Entonces puedes hacer palabras entre.

Para las palabras de reloj, es útil si forman una palabra contigua, pero no es absolutamente necesario. Las letras no utilizadas no necesitan Neonpixels. Los tengo todos llenos para el uso de posibilidades futuras además del tiempo que se muestra.

Si cambia el punto de inicio o cambia la secuencia de sucesión, la numeración debería cambiar en consecuencia.

Paso 4: Efecto arcoíris completo

Efecto arcoíris completo
Efecto arcoíris completo

El reloj está ahora tan programado que se cuenta el número de veces por segundo cuántos neopixsels hay encendidos.

El espectro total es aproximadamente el número de divididos y luego ligeramente desplazados. Como resultado, cada Neopixel tiene un color diferente que cambia continuamente. Neopixel nr 1 y nr 167 se suceden en algunos colores involucrados.

Si prefiere colores menos diferentes al mismo tiempo, esto es fácil de ajustar. El color sigue cambiando en todo el espectro, pero con una parte más pequeña. Neopixel nr 1 y nr 167 ya no se suceden por algún color.

El brillo se puede configurar en la siguiente línea, pixels.setBrightness (150);

Un número menor es menor y un número mayor más brillo.

Paso 5: los diversos componentes

Los diversos componentes
Los diversos componentes
Los diversos componentes
Los diversos componentes
Los diversos componentes
Los diversos componentes

Los siguientes componentes que utilicé

Arduino Pro Mini ATMEGA328 5V / 16MHz

Módulo de reloj DS3231

168 piezas Neopixels led's WS2812 LED Chip y disipador de calor 5V 5050 RGB WS2811 IC incorporado

Plantilla de letras de papel de aluminio

Receptor DCF77

Paso 6: código para el reloj

Aquí está el código. Se agregó un control de brillo y apagado cuando no hay nadie presente y por la noche.

Se agregó el sensor de movimiento de microondas por radar RCWL-0516 (busque RADAR)

Después de 10 minutos sin movimiento, los NeoPixels se apagan.

Acerca de la versión 2.0

El uso de memoria fue demasiado, con advertencias de falta de memoria en el compilador. Por eso he cambiado por completo el código, pero el funcionamiento se ha mantenido igual y se ha añadido un receptor de infrarrojos.

Hay un fragmento de código para proporcionar datos a la EEPROM. Ejecútelo una vez eliminando temporalmente / * y * /. Buscar => ejecutar esto una vez para proporcionar datos a la EEPROM

Al comienzo del bucle vacío hay un código para leer el código desde su propio control remoto. Puede ejecutarlo eliminando temporalmente / * y * /, no olvide volver a colocarlos después. También puede definir sus propios botones. El código leído debe ingresarse en => Defina sus propios botones aquí

El control remoto de Samsung funciona mejor que el simple (muy barato).

Paso 7: la descripción del hardware

La descripción del hardware
La descripción del hardware
La descripción del hardware
La descripción del hardware
La descripción del hardware
La descripción del hardware

Existen diferentes versiones del Arduino Pro Mini. Tenga en cuenta que las conexiones pueden diferir.

Se agregó un sensor de movimiento de microondas RCWL-0516.

Mientras haya movimiento en las proximidades del reloj, el NeoPixel permanecerá encendido.

y tan pronto como no haya más movimiento, el NeoPixel se apagará después de unos minutos.

En la versión 2.0, el receptor DCF77 recibe alimentación a través del pin 13. Este pin se define como salida y se establece en alto cuando se direcciona la rutina DCF77. El receptor DCF77 utiliza 0,28 mA y solo se necesita unos minutos al día.

Desactivar guarda

5 Voltios * 0,28 mA / 1000 * 24 horas * 365 días * Fuente de alimentación de eficiencia 1 / 0,85 = 14,4 vatios al año.

Esto no parece mucho, pero todo ayuda.

Paso 8: LDR para el control de brillo de los Neopixels

LDR para el control de brillo de los neopíxeles
LDR para el control de brillo de los neopíxeles
LDR para el control de brillo de los neopíxeles
LDR para el control de brillo de los neopíxeles

Se agregó un LDR para el control de brillo de los neopíxeles.

He pegado el LDR en el espacio de neopixel 103. Este no se usa en la visualización de la hora y por lo tanto no influye en la regulación. El papel humedece la luz incidente, pero eso no supone ningún problema.

El divisor de voltaje de LDR y la resistencia de 20 kohm va a A0 del Arduino Pro Mini. El voltaje es un indicador de la intensidad de la luz y por lo tanto también un indicador de la cantidad de luz que tienen que dar los neopíxeles.

La fórmula que utilizo me da un buen control de la luz, se puede ajustar según las circunstancias. Dependiendo de la cantidad de luz, el voltaje puede variar entre 0 y 5 voltios que se convierte en 0 a 1024 cuentas que están en "LDRValue".

Si el nuevo valor medido es mayor que el último valor calculado, la intensidad se incrementa en 1, si es menor que se reduce en 1 y si es igual no se hace nada. Para que el valor avance lentamente, de modo que no haya efecto de parpadeo, solo se aumenta o disminuye 1 y debido a que el cálculo está en el bucle, solo se vuelve a calcular después de recorrer el bucle 25 veces.

La intensidad es teóricamente un mínimo de 20 y un máximo de 1024/7 + 45 = 191. El valor máximo que medí fue 902, que equivale a una intensidad de 173. Esto encaja bien con los 150 que he establecido como valor predeterminado. (ver pixels.setBrightness (150))

En la versión 2.0 se puede configurar el control a través del control remoto. Se han agregado los siguientes parámetros: Brightness_min como mínimo y Brightness_max como configuración máxima y Brightness_Offset como parámetro de configuración. Brightness_min y _max son los valores que pueden depender de su propia situación. Brightness_Offset es un valor que se puede configurar con el mando a distancia y con el que se puede configurar más o menos brillo.

También hay una banda muerta de 3 entre los valores LDRValue medidos y BerLDRValue calculados.

Utilice las declaraciones de impresión en el control de brillo vacío para comprobar la configuración de brillo.

Paso 9: Reducir el consumo de energía de WS2812B

Reducción del consumo de energía de WS2812B
Reducción del consumo de energía de WS2812B

Los controladores en los neopíxeles direccionables WS2812B están consumiendo corriente incluso cuando los neopíxeles están apagados, configurados en color 0 (no hay elementos de neopíxeles encendidos).

Cuando los 169 neopíxeles están fuera, mido 69 mA a los neopíxeles. Suponiendo que el reloj está apagado 12 horas al día, el apagado total ahorra: 5 (fuente de alimentación de voltios) * 69/1000 (miliamperios / 1000 = amperios) * 12 (número de horas por día) * 365 (número de días en un año) = 1511 Watt hora. Entonces, sobre una base anual de 1,5 Kwh. Estoy de acuerdo, no es mucho en sí mismo, pero muchos pequeños hacen uno grande.

El circuito es simple El plus de la fuente de alimentación se conmuta mediante un MosFet de canal P. El sensor de radar determina si los neopíxeles están activados o desactivados. He puesto dos pares de MosFet para mantener la resistencia ON lo más baja posible debido a la pérdida de los MosFets. En uso normal, mido 4, 5 milivoltios sobre los MosFets. La puerta está controlada por la salida 4 del Arduino a través de una resistencia de 470 Kohm. Si la salida es baja (0) digitalmente, los neopíxeles están encendidos y en alta (1) están apagados.

Paso 10: Smiley en el Word Clock

Smiley en el Word Clock
Smiley en el Word Clock
Smiley en el Word Clock
Smiley en el Word Clock

Una carita en el Word Clock.

De vez en cuando aparece una carita sonriente en el reloj, pero eso te hace feliz.

El Smiley es activado por el sensor de radar. El número de veces que se mueve (ajustable) es una medida de la apariencia del Smiley. Los signos de% indican que se ha detectado movimiento. Con cada décimo movimiento (ajustable), el Smiley aparece con un Winky Face y después de tres veces un Winky Face aparece la cuarta vez que un Smiley Face saca la lengua.

El Smiley es un pequeño cambio en el código.

Paso 11: Qué bibliotecas se utilizan

Qué bibliotecas se utilizan.

Los uso en Windows 7 con Arduino IDE 1.6 y también se han probado en Windows 10 con Adruino IDE 1.8.8

RTClib-master

Arduino-DS3231-master

Adafruit_NeoPixel-master

Arduino-DCF77-master

Biblioteca IRremote de Ken Shirriff

Debido a que siempre hay confusión sobre la biblioteca utilizada, agrego la que utilizo.

La librería IRremote consume mucha memoria, en el IRremote.h se indica que puedes deshabilitar cualquier protocolo no utilizado

// Cada protocolo que incluye cuesta memoria y, durante la decodificación, cuesta tiempo // ¡Deshabilite (establezca en 0) todos los protocolos que no necesita / desea!

Tengo todo deshabilitado excepto el protocolo NEC y Samsung. Esto da un ahorro de memoria del 10%. Por el momento ya no hay problema con la cantidad de memoria, por lo que por el momento no es necesaria la desactivación.

Paso 12: Control remoto por infrarrojos simple

Control remoto por infrarrojos simple
Control remoto por infrarrojos simple
Control remoto por infrarrojos simple
Control remoto por infrarrojos simple
Control remoto por infrarrojos simple
Control remoto por infrarrojos simple

La Asamblea

Como puedes ver en las fotos, el orificio para el LED 132 ha resultado un poco demasiado grande. Hice un buen uso de esto y le agregué el receptor de infrarrojos. Conecte el pin de datos del receptor IR VS1838 al pin 7 del Arduino. Además, conecte la fuente de alimentación positiva y negativa. El receptor de infrarrojos utiliza 0,21 mA y también se puede conectar a la fuente de alimentación plus después del interruptor FET. Esto se traduce en un ahorro, si el reloj está encendido el 50% del tiempo, de 5 Voltios * 0,21 mA / 1000 * 12 horas * 365 días * 1 / 0,85 fuente de alimentación de eficiencia = 5,4 vatios por año. Esto no parece mucho, pero todo ayuda.

El funcionamiento es el siguiente

Presione cualquier tecla del control remoto por infrarrojos y luego la tecla OK. La primera vez que pulses terminarás en el procesamiento de IR y la segunda vez detectarás si fue una solicitud justificada. La segunda vez, OK debe seguir rápidamente a la primera pulsación de la tecla porque, de lo contrario, vuelve a retroceder. Hice esta construcción de modo que apenas obtuve el primer código correctamente decodificado y por lo tanto no terminé en el manejo de IR.

Una vez en el manejo de infrarrojos, se encienden varios LED para obtener información, para obtener una explicación, lea más y vea la primera imagen.

La descripción es para el control remoto simple, pero puede usar cualquier control remoto y definir sus propias teclas. También usé un control remoto de Samsung.

Las primeras cuatro teclas corresponden a las cuatro filas superiores de LED. Cuatro LED giran hacia la izquierda o hacia la derecha según la configuración. Cuando se presionan las teclas 1 a 4, el estado se invierte y se almacena en la memoria.

1 color fijo o efecto arcoíris

2 segundos de flash desactivado o segundo flash activado

3 emoticonos desactivados emoticonos activados

4 DCF77 desactivado o DCF77 activado

El número de la clave se muestra en las siguientes teclas

5 contador de emoticonos

6 ancho del espectro del arco iris

7 ajuste rojo fijo

8 arregla el ajuste verde

9 arregla el ajuste azul

Las filas 6, 7 y 8 de los LED ahora corresponden al valor establecido, la fila 6 indica las unidades, la fila 7 las decenas y la fila 8 las centenas. Cada fila comienza con el valor cero. Entonces, el primer led de la fila es 0, el segundo es 1, etc.

0 ajuste de hora

/ / ajuste de brillo

Cuando se presiona el botón 0, los "diez" LED se iluminan para indicar que desea configurar la hora y cuando presiona 0 por segunda vez, la hora configurada aparece en la pantalla.

Ahora se puede configurar la hora y se muestra en la pantalla.

Configure la hora correcta y luego, si el minuto es el mismo en un reloj de referencia, presione el botón OK.

Se ajusta el tiempo.

Si no acciona el botón de minutos u horas, no se realizará ningún cambio de hora. Si los presiona, la hora se configurará inmediatamente.

El valor de las teclas 5 a 9 se puede cambiar con las teclas

la derecha es más 1

la izquierda es menos 1

adelante es más 10

el reverso es menos 10.

y para el ajuste de la hora

la derecha es más 1 minuto

la izquierda es menos 1 minuto

adelante es más 1 hora

reverso es menos 1 hora

A veces sucede que la pulsación de tecla no se reconoce o se realiza dos veces. Por lo tanto, preste atención si la configuración va bien; de lo contrario, intente o corrija nuevamente. El control remoto de Samsung que también probé funcionó muchas veces mejor que el control remoto simple (muy barato).

Al configurar el color, verá el cambio directamente en toda la pantalla. Para obtener un sitio con una descripción general de los colores, consulte https://www.helderester.nl/kleurentabel.html. Por supuesto, puede establecer cualquier valor.

Si el ancho del espectro del arco iris tiene un valor de 0, el espectro es muy estrecho y la pantalla tiene un color que cambia constantemente.

La desventaja de establecer la hora de esta manera es que no se puede calcular una transición verano / invierno porque tenemos la fecha incorrecta. No importa para el reloj en sí porque no lo usamos ahora.

Paso 13: ¿Qué sigue?

¿Qué Nexts?
¿Qué Nexts?

Lo que sigue, suena, si la memoria libre aún es suficiente.

Ya tengo las cajas de altavoces. Son de una vieja computadora portátil.

Recomendado: