Reloj LED
Reloj LED |
---|
Estado: En curso (Prototipo funcional expuesto en el espacio) |
Miembros: Samuel |
Colaboraciones: Proyecto personal |
Reloj con luces LED en lugar de saetas |
Contents
Objetivo
Construir un reloj de pared utilizando luces LED para representar la hora en lugar de saetas. Además tendrá una alarma horaria que se podrá desactivar
automáticamente en horario nocturno (configurable).
Motivación
Los relojes LED son muy estéticos y me gustan mucho y como primer proyecto con Arduino me parece un proyecto interesante que presenta varios desafíos.
Además así practico un poco de bricolaje y manualidades.
Este es un proyecto de aprendizaje, por lo que es más una exploración que un proceso industrial, aunque lo documentaré para que sea repetible, e incluso se pueda industrializar la producción del mismo si a alguien le interesa.
Antecedentes
Existen numerosos relojes LED, con distintos estilos., el que me ha inspirado a mi es el que aparece en el vídeo de la sección de otras referencias.
Métodos y técnicas utilizadas
La parte electrónica ya est´a funcionando correctamente sobre Arduino UNO
Para el soporte estoy utilizando una pieza de plástico impresa en 3D, pero estoy teniendo problemas para ensamblarla. Tengo que seguir trabajando en esta parte.
Electrónica
El cerebro del reloj está basado en Arduino UNO y no utilizo ningún otro componente que no se pueda encontrar en el Starter kit de Arduino a excepción de:
- Tira de LEDs basada en leds RGB controlados mediante el chip ws2801 (dos tiras de 50, aunque sólo usamos 60 LEDS en total)
- Módulo TinyRTC (Reloj de tiempo real basado en DS1307)
- Una batería externa para alimentar los LED, ya que el Arduino no puede alimentar los LEDS.
LEDS RGB
Los LEDS están basados en el controlador WS2801 (datasheet). Se controlan muy fácilmente con la librería fastLED.
Reloj de tiempo real
Para obtener el tiempo se utiliza un reloj de tiempo real (RTC) basado en el chip DS1307. Hay otros más precisos, a base de incrementar el precio.
Sketch de Arduino
La versión actual del sketch se puede descargar del repositorio del proyecto del Reloj LED en GitLab.
Bricolaje
El prototipo inicial estaba construido sobre una caja de cartón. Ahora estoy utilizando piezas de plástico moldeado mediante impresión 3D.
La pieza del modelo 3D que estoy usando ahora es el de este fichero (STL).
Los ficheros para poder modificar y generar el sólido están en el repositorio del proyecto (SCAD).
Son necesarias doce piezas para formar la esfera.
Progreso del proyecto y roadmap
Nomenclatura
A continuación dejo notas sobre la nomenclatura
Prototipos
Cada prototipo es un reloj funcional en si mismo, es decir, un objeto del mundo real.
Para cada prototipo del reloj tiene un nombre clave que empieza cada vez por una letra diferente del alfabeto, comenzando por la A. Ese nombre siempre es el nombre latino de una constelación. Si no hay constelación por esa letra paso a la siguiente.
Hitos
Cada hito es una fase en la escritura del firmware del reloj, es decir una funcionalidad o mejora.
Para cada hito utilizo un nombre en clave que cada vez comienza por la letra siguiente del alfabeto. La secuencia comienza en la A.
De esta manera si pongo un firmware para descarga y su nombre empieza por una letra que alfabéticamente va más atrás en el diccionario se trata de un firmware más avanzado.
Cada hito tiene una serie de asuntos que tienen que completarse para considerarse finalizado.
Roadmap
- Prototipo: AQUILA (Águila) (Abril 2015)
- Estructura: de plástico impreso en 3D
- Píxeles: basados en LEDs RGB con chipset WS2801
- Controles: Tres pulsadores y una resistencia variable
- Sensores: LDR (luz ambiente)
- Prototipo actual: BOÖTES (Boyero, pastor de bueyes) (Mayo/junio 2015)
- Estructura: de plástico impreso en 3D (modelo 2) + Piezas tapadera
- Píxeles: basados en LEDs RGB con chipset WS2811
- Controles: Un mando a distancia
- Pendiente de sensorizar
- Próximo modelo: CYGNUS (Cisne) (Pendiente de determinar)
- Características penidentes de determinar
Lista de hitos:
- Versión alfa (Versión 1) (abandonada)
- Versión beta (Versión 2) (reescritura del firmware desde cero)
- Altair: Reescritura desde cero de lo que ya tenía
- Sustitución de las librerías Time y DS1307 por RTClib
- Todos los parámetros de configuración en el mismo punto.
- Betelgeuse: Paletas de color
- Inclusión de paletas de color que se pueden cambiar al pulsar un botón
- Capella: Multiples modos de representar la hora
- Modo normal (ya implementado)
- Sectores (ya implementado)
- Estelas (implementado, pero no funciona de la manera esperada)
- Circulos
- Invertido (implementado)
- Deneb: Posibilidad de cambiar la hora manualmente con un encoder o botones
- Etamin: Soporte para display con la fecha (característica no implementada)
- Fomalhaut: Sensores ambientales para la temperarura
- Altair: Reescritura desde cero de lo que ya tenía
- Versión gamma 0 (3.0) (reescritura del firmware desde cero con experiencia aprendida de versiones anteriores)
- Soporte para mando a distancia
- Comando Cambiar modo de brillo (manual/automático(
- Comando Letargo (apagar display)
- Comando Despertar (encender display)
- Comando Brillo+
- Comando Brillo-
- Comando Siguiente Paleta
- Comando Siguiente modo e visualización
- Dos modos de visualización
- Modo Simple
- Modo Arcos
- Cuatro paletas de color
- Parchís (Rojo, verde, azul, amarillo)
- Fuego (Rojo, Naranja, Amarillo y blanco)
- Cielo (Azules y blanco)
- Bosque (Verder y marrón)
- Sensor de luz ambiental para el ajuste de iluminación automático
- Sensor de temperatura
- Display LCD para mostrar datos de sensores, fecha y hora
- Soporte para mando a distancia
- Versión Gamma 1 (Versión 3.1)
- Nuevos Comandos
- Cambiar hora con mando a distancia
- Nuevas visualizaciones
- Modo invertidos
- Corrección de las paletas de color
- Paleta Bosque con colores más diferenciados
- Correcciones: Puntos para las horas, ahora mismo no funciona, por lo que está desactivado
- Sensor de humedad
¡Construye tu reloj!
Seguramente esto es lo que más te interesa.
En las siguientes secciones se especifica que te hace falta para construir cada modelo.
Aquila
El reloj LED modelo Aquila no está soportado. El proyecto está abandonado, por lo tanto no habrá actualziaciones sobre el proceso de construcción o uso
Bootes
Lista de materiales
- Una tira de 60 LEDS RGB con el chipset WS2811
- Doce piezas impresas "soporte LEDS" modelo 2
- Placa arduino UNO o compatible
- Cables de conexión
- Módulo Tiny RTC u otro módulo compatible
- Adhesivo para plásticos duros
- Bridas de plástico
- 3 pulsadores para PCB
- Cables de conexión y placa de prototipado
- Pieza impresa en 3D modelo "núcleo"
- Una resistencia variable de 10k.
- Un conector jack de alimentación hembra encastrable
- Un interruptor deslizante de dos posiciones
Montaje
Instrucciones asequibles para que cualquiera pueda montarse su reloj.
Instrucciones para montar un reloj como el prototipo "Bootes":
- Descargar todos los ficheros del repositorio:
- Conectar el Arduino y cargar los programas que aparecen en el directorio arduino
- Imprimir las doce piezas de soporte que aparece en el directorio 3D/STL)
- Imprimir seis copias de la tipo "tapa" que aparece en el directorio 3D/STL)
- Unir las piezas con adhesivo para plásticos y usar bridas para mantenerlas juntas hasta que se sequen
- Montar los LED en el soporte
- Unir las piezas de soporte con adhesivo de para plástico y sujetar con bridas
- Tapar la corona con las piezas "tapa" y pegarlas con adhesivo para pásticos. Sujetar con bridas para que no se desplacen las piezas mientras se seca el adhesivo.
- Conectar las cosas como pone en el sketch de Arduino (pendiente de especificar)
- Dar corriente al arduino y a los LEDs. ¡EL ARDUINO NO PUEDE ALIMENTAR LOS LEDS! Necesitan su propia fuente de alimentación.
Uso
El prototipo Bootes utiliza un mando a distancia
Funciones del botón blanco.
- Brillo de los LEDS Manual/Automático
Funciones del morado
- Pasar a la siguiente paleta de colores
Funciones del azul
- Pasar al siguiente modo de visualización
Función de los botones "flecha arriba" y "flecha abajo"
- Subir y bajar el brillo de los LEDs (solo cuando están en modo "brillo manual")
Conclusiones
La realización de este proyecto hasta su estado actual me ha proporcionado las siguientes experiencias:
Experiencias de aprendizaje técnicas:
- Aprendizaje de la plataforma Arduino
- Aprendizaje de diseño 3D para impresión 3D
- Aprendizaje de reparación básica de impresoras 3D
- Recuperación de los conocimientos de electrónica que creía olvidados y mejora de los mismos.
- Aprendizaje de soldadura electrónica básica
- Aprendizaje de manejo de gran cantidad de LEDs
Experiencias de autodescubrimiento:
- Puesta en práctica de metodologías de gestión del tiempo y el esfuerzo
- Descubrimiento de mi gusto por la iluminación artística.
Referencias
A continuación dejo una lista de referencias interesantes relacionadas con el proyecto
- Vídeo inspirador para realizar este proyecto: http://www.youtube.com/watch?v=yNa9Gh7nMeU
- Librería FastLED para Arduino y para Teensy; http://fastled.io