Reloj infinito controlado por teléfono inteligente: 5 pasos (con imágenes)
Reloj infinito controlado por teléfono inteligente: 5 pasos (con imágenes)
Anonim
Image
Image
Reloj infinito controlado por teléfono inteligente
Reloj infinito controlado por teléfono inteligente
Reloj infinito controlado por teléfono inteligente
Reloj infinito controlado por teléfono inteligente

He visto muchos proyectos de Infinity Mirrors e Infinity Clocks en Instructables, así que decidí hacer el mío. Puede que no sea muy diferente a los demás … pero lo hice yo mismo, ¡así es!

Imagen
Imagen

En caso de que aún no lo sepas:

¿Qué es un reloj infinito?

¡Un reloj infinito usa múltiples reflejos entre un espejo y un espejo semirreflectante para dar la ilusión de una gran profundidad mientras solo tiene un centímetro de profundidad!

El tiempo está indicado por LED que se reflejan muchas veces entre estas interfaces y dan esta impresión de profundidad.

Imagen
Imagen

Múltiples reflexiones dan la impresión de profundidad.

Los LED son direccionables y multicolores, por lo que es fácil utilizarlos para realizar animaciones luminosas.

Quería hacerlo interactivo y cambiante, así que agregué un control de teléfono inteligente mediante comunicación Bluetooth. Existe una comunicación real de dos vías entre el reloj y el teléfono inteligente. El usuario puede utilizar la HMI (Human Machine Interface) para cambiar los distintos parámetros, como animaciones, colores. Pero también puede enviar comandos directos, por ejemplo, para cambiar la hora, y el reloj responde para decir que el comando se acepta o no.

La HMI se realizó usando una aplicación de Android programable, por lo que solo tuve que diseñarla y codificar la comunicación en el lado de Arduino.

Imagen
Imagen

Empecemos ahora…

Paso 1: ¿Qué necesitas?

¿Que necesitas?
¿Que necesitas?
¿Que necesitas?
¿Que necesitas?
¿Que necesitas?
¿Que necesitas?
¿Que necesitas?
¿Que necesitas?

Para construir este reloj infinito, esto es lo que necesita (los precios son indicativos):

  • Un Arduino nano (2 USD)
  • Una tira de led direccionable, como leds WS2812, 60 leds por metro (6 USD)
  • Un módulo bluetooth, como el HC-05 (3 USD)
  • Una protoboard (1,5 USD)
  • Un suministro de 5 V, capaz de entregar 4 A o más
  • Algunos cables eléctricos
  • Un teléfono inteligente con Android y la aplicación Bluetooth Electronics de KeuwlSoft
  • Algunas piezas de tablero de fibra de densidad media (MDF, una de 3 mm de espesor y otra de 10 mm de espesor)
  • Una placa de plexiglás transparente o metacrilato (alrededor de 15 a 20 USD)
  • Películas adhesivas para espejos y espejos semirreflectantes (de 4 a 15 USD)
  • Conectores, resistencias y una capacitancia de 1000 µF
  • Un poco de pegamento y cinta adhesiva.
Imagen
Imagen

Diagrama de principio de la geometría del reloj

La placa de plexiglás debe tener un grosor de 2 a 3 mm para que permanezca firmemente en su lugar cuando esté en uso.

El diagrama de arriba explica la geometría del reloj. La tira de led se coloca entre los dos espejos. Por supuesto, necesitas 60 de esos leds en la tira. Puedes encontrar tiras de leds online con 60 leds por metro, así que una de esas es buena. Entonces el perímetro del círculo de led es de 1 m, su diámetro es de 100 / PI = 31,8 cm (aprox. 12,53 pulgadas).

Prepare sus componentes

Corta un círculo de este diámetro en el tablero de MDF de 3 mm. Para hacer esto, fui al fablab local y pedí usar el cortador láser. Incluso pueden hacerlo por ti, si lo pides amablemente y vienes con la tabla: solo te lleva unos segundos. Mientras esté allí, corte el mismo disco en su placa de plexiglás.

De la placa de MDF, ahora tiene un disco y la placa con el orificio circular. Guárdelos para más tarde.

Para mantener los LED en su lugar, corte también en el MDF de 1 cm de espesor un cilindro delgado del mismo diámetro. El grosor no es importante siempre que no sea demasiado frágil. La tira de LED se colocará dentro de este cilindro, por lo que es importante que el perímetro interior sea el mismo que la longitud de la tira. Demasiado largo o demasiado corto, y algunos leds pueden estar espaciados irregularmente, así que sea muy preciso aquí.

Cortar una placa tan gruesa puede llevar un poco más de tiempo que cortar la delgada. Pregúntele al propietario de la fábrica si su cortadora láser es lo suficientemente potente como para cortar ese grosor. Para mí, el láser tuvo que pasar más de diez veces por esa parte, en comparación con solo dos para la otra placa.

Tú también puedes…

También es posible utilizar aquí tableros de plexiglás transparentes o de colores en lugar de MDF. El plexiglás existe en varios colores, desde el negro hasta el amarillo, pasando por el verde y el morado, así que no dudes en probarlos.

Imagen
Imagen

El fablab sabe cómo cortarlos, y cortar plexiglás es muy "limpio" en comparación con la madera que puede "quemarse" (me refiero a cambiar de color debido a la energía del láser) en la trayectoria del láser. También existe el plexiglás espejo, que puede evitarle comprar la película de espejo. Solo recuerda, mientras lo cortas, enviar el láser a la parte trasera del espejo …

A continuación se muestran los archivos de geometría para el corte por láser.

Paso 2: arma el reloj

Ensamblar el reloj
Ensamblar el reloj
Ensamblar el reloj
Ensamblar el reloj
Ensamblar el reloj
Ensamblar el reloj
Ensamblar el reloj
Ensamblar el reloj

Para hacer el reloj, solo necesita ensamblar las partes, de acuerdo con el esquema.

Prepara el caso

Primero, pegue la película de espejo en el disco de MDF. Será la parte inferior del reloj.

En segundo lugar, pegue la película semitransparente en el disco de plexiglás. Esto forma el cristal frontal del reloj. Este disco se insertará en la placa de MDF, en el orificio circular: péguelo con cola para madera si es necesario, o use goma de silicona.

Por último, prepare los LED. Los LED WS2812 utilizan 3 almohadillas de conexión: suministro de voltaje, tierra y comando. Si ya hay 3 cables eléctricos conectados, utilícelos. De lo contrario, suelde 3 cables a las almohadillas de conexión. Recuerde que los LED son dispositivos polarizados: esto significa que la corriente fluye en una sola dirección. Esta dirección se indica en la tira con una flecha. Luego, debe soldar los cables en el extremo de la tira de donde vienen las flechas (no el extremo al que apuntan las flechas).

Pegue los LED dentro del cilindro de MDF grueso y ensamble las 3 partes, con pegamento y / o cinta.

Imagen
Imagen

Entonces la parte electronica

Coloque el Arduino en la placa de pruebas y cree el circuito como se muestra arriba. Asegúrese de que todas las conexiones a tierra (GND) estén conectadas (GND de Arduino, módulo HC-05, tira de LED y suministro).

  • Los pines RX y TX del módulo Bluetooth HC-05 están conectados a los pines D3 y D2 del Arduino
  • La línea de datos de la tira de LED está conectada al pin D12, puede insertar una resistencia de 300 ohmios en el medio si tiene una.

Si desea cambiar los pines, cambie sus definiciones en el código en consecuencia (líneas 7 y 13 del archivo ino).

Tenga en cuenta que el módulo HC-05 requiere un divisor de voltaje para su pin RX, como se muestra a continuación. Entonces necesita una resistencia de 1000 ohmios y una de 2000 ohmios.

Imagen
Imagen

El suministro se utiliza tanto para el Arduino como para la tira de LED. Primero conecte el capacitor de 1000µF en un terminal de tornillo (dominó). Puede usar un conector rápido si tiene alguno. Consulte aquí para obtener más detalles.

Imagen
Imagen

Este condensador también puede estar polarizado: asegúrese de que las patas + y - estén conectadas a + y - de la fuente. Como se puede ver en la imagen del capacitor, la pierna - está etiquetada con un gran signo menos.

Imagen
Imagen

Luego, desde el conector, enchufe los cables eléctricos para conectar la tira de LED y la placa Arduino. Como se dijo anteriormente, todos los GND deben estar conectados entre sí. Desde el potencial positivo de la fuente, conecta el cable de 5V de la tira y dibuja un cable al pin de 5V del Arduino: déjalo desconectado por el momento, lo conectarás al final.

Revisa todo … dos veces

Verifique todas las conexiones dos veces … Use un multímetro si tiene uno para verificar la continuidad eléctrica.

Si todo está correcto, su reloj está casi listo. No lo suministre por ahora.

Paso 3: Cargue el código

Sube el código
Sube el código
Sube el código
Sube el código
Sube el código
Sube el código

¡Programemos

Para cargar el código en el Arduino nano, use el IDE de Arduino. Coloque todos los archivos en una carpeta llamada "Horloge_LED3_nano_BTOK" en su carpeta Arduino. Abra el IDE, seleccione los parámetros adecuados (tipo de placa, puerto COM, etc.) y haga clic en el botón de carga.

Imagen
Imagen

En su teléfono inteligente Android, instale la aplicación Bluetooth Electronics, puede encontrarla fácilmente en Google Play. Descargue el archivo "BluetoothElectronicsCode.txt" de este Instructable y cambie la extensión a zip: obtendrá un archivo zip con el código para que la interfaz del teléfono inteligente se ejecute con Bluetooth Electronics.

Cuando esté listo, conecte el suministro. Los LED se encenderán, el módulo HC-05 también parpadeará para buscar la conexión. Inicie la aplicación de Android y siga las instrucciones para emparejar el módulo Bluetooth con su teléfono inteligente. Cuando esté listo, inicie la HMI: ¡está listo para jugar!

Tenga en cuenta que…

El primer LED de la tira debe colocarse en la parte superior del reloj. Si no lo colocó allí, puede cambiar el valor del parámetro de compensación en el código (línea 65 del archivo ino). Se encarga de eso.

Cuando pegó la tira de LED dentro del cilindro poco profundo, había 2 opciones: la tira giraba en el sentido de las agujas del reloj o en el sentido contrario. Si lo hizo de manera incorrecta, ¡las manecillas del reloj girarán en la dirección incorrecta! No hay problema. Simplemente cambie el valor de la variable booleana sens_horaire a verdadero (línea 77 del archivo ino)

Imagen
Imagen

Paso 4: ¡Disfruta

¡Disfrutar!
¡Disfrutar!
¡Disfrutar!
¡Disfrutar!
¡Disfrutar!
¡Disfrutar!

Un último ajuste …

Ahora, establezca la hora. Esto se puede hacer usando comandos simples que escribe en la pequeña consola en la parte inferior izquierda de la HMI.

  • Hxx: establezca las horas en xx (por ejemplo, H4)
  • Myy: establece los minutos (p. Ej.: M15)
  • Szz: establece los segundos (ej: S30)

Los comandos se pueden encadenar insertando una estrella entre ellos, por ejemplo: H4 * M15 * S35

El ajuste de horas y / o minutos restablecerá los segundos a cero.

Luego verá que la hora se registra mediante un LED ROJO, los minutos mediante un LED VERDE:

Imagen
Imagen

¡Son las 9:52:00!

El color de los segundos se puede cambiar usando el control deslizante en la HMI

Imagen
Imagen

Cuando mueve el control deslizante, el pequeño círculo del lado derecho muestra el color actual. Cuando el control deslizante se detiene, envía el color al reloj y el LED de los segundos cambia en consecuencia.

Los controles deslizantes ANIMACIÓN y PALETA se pueden usar para seleccionar y personalizar las animaciones de luz en el reloj. Pruébelos y mire el video para ver algunos ejemplos. Cuando cambia algunas configuraciones en la HMI, la pequeña consola muestra la respuesta del Arduino.

Animaciones …

  • 0: solo muestra la hora, puede cambiar el color de los segundos usando el control deslizante.
  • 1: Un fondo de color (puede cambiar el color) de amplitud variable.
  • 2: arco iris giratorio
  • 3: Una banda de color (que se puede cambiar) que da una vuelta por segundo.
  • 4: Una franja de color que rebota en el segundero.
  • 5: Un fondo de color (puede cambiar la paleta) de amplitud aleatoria.
  • 6: Solo muestra la hora, el segundero cambia su amplitud luminosa.
  • 7: Banderas giratorias (cambia la paleta para cambiar la bandera entre 4 posibles)
Imagen
Imagen

La bandera francesa - son las 7:11:51

Recientemente se agregó otra animación, que cambia cada 15 segundos para una animación elegida al azar.

El botón MINUTES enciende y apaga los LED blancos cada 5 minutos en el reloj.

Imagen
Imagen

Son las 7:11:25

Tenga en cuenta que el video y las fotos se hicieron con un teléfono inteligente y, por lo tanto, son de mala calidad. Los colores son mucho más brillantes y precisos en el reloj que como se ven en el video …

¿Qué otra cosa?

Espero que te guste hacer este reloj infinito. Queda mucho por hacer: puedes pintar la placa frontal de MDF para hacerlo más agradable, agregar otra tira de LED en el lado exterior del cilindro para tener un poco de luz animada en la pared también, etc.

Imagen
Imagen

Paso 5: Nueva versión para mantener el tiempo exacto

El reloj del Arduino nano tiende a ir a la deriva en el tiempo, ya que no tiene un reloj preciso. Hice otra versión usando un reloj en tiempo real (RTC) para mantener una hora precisa.

Existen RTC en varios modelos, recomiendo usar un módulo DS3231, que es muy preciso (en comparación con DS1307). Esta nueva versión del programa utiliza la biblioteca MD-DS3231, disponible aquí. Simplemente cree una nueva carpeta llamada Horloge_LED3_nano_BT_RTC en su carpeta Arduino y descargue todos los archivos.

Conecte el DS3231 como un dispositivo I2C, es decir, SDA a A4 y SCL (o SCK) a A5

Primero, debe establecer la hora del RTC. Vea, por ejemplo, este Instructables o este tutorial.

Sube el archivo Horloge_LED3_nano_BT_RTC.ino en tu Arduino nano y ejecútalo. La hora se actualiza cada 30 minutos, por lo que el reloj sigue siendo preciso todo el tiempo.

Por supuesto, necesita tener la batería en el módulo RTC, porque mantiene vivo el RTC incluso si no es suministrado por Arduino, y puede mantener la hora exacta.

Recomendado: