Difference between revisions of "Reloj LED"

From Wiki Makespace Madrid
Jump to: navigation, search
(Mejora de formato)
Line 2: Line 2:
  
  
== Objetivo ==
+
= 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  
 
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  
Line 9: Line 9:
  
  
== Motivación ==
+
= 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.
 
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.
Line 17: Line 17:
 
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.
 
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 ==
+
= 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.
 
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 ==
+
= Métodos y técnicas utilizadas =
  
 
La parte electrónica ya est´a funcionando correctamente sobre Arduino UNO
 
La parte electrónica ya est´a funcionando correctamente sobre Arduino UNO
Line 29: Line 29:
  
  
=== Electrónica ===
+
== 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:
 
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:
Line 37: Line 37:
 
* Una batería externa para alimentar los LED, ya que el Arduino no puede alimentar los LEDS.
 
* Una batería externa para alimentar los LED, ya que el Arduino no puede alimentar los LEDS.
  
==== LEDS RGB ====
+
=== LEDS RGB ===
 
Los LEDS están basados en el controlador WS2801 ([http://www.world-semi.com/uploads/soft/120505/1-120505110Q7.rar datasheet]). Se controlan muy fácilmente con la librería [http://fastled.io fastLED].
 
Los LEDS están basados en el controlador WS2801 ([http://www.world-semi.com/uploads/soft/120505/1-120505110Q7.rar datasheet]). Se controlan muy fácilmente con la librería [http://fastled.io fastLED].
  
==== Reloj de tiempo real ====
+
=== 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.
 
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 ====
+
=== Sketch de Arduino ===
  
 
La versión actual del sketch se puede descargar del [https://gitlab.com/dardoware/Arduino_LEDClock/tree/master repositorio del proyecto del Reloj LED en GitLab].  
 
La versión actual del sketch se puede descargar del [https://gitlab.com/dardoware/Arduino_LEDClock/tree/master repositorio del proyecto del Reloj LED en GitLab].  
  
=== Bricolaje ===
+
== Bricolaje ==
  
 
El prototipo inicial estaba construido sobre una caja de cartón. Ahora estoy utilizando piezas de plástico moldeado mediante impresión 3D.
 
El prototipo inicial estaba construido sobre una caja de cartón. Ahora estoy utilizando piezas de plástico moldeado mediante impresión 3D.
Line 57: Line 57:
 
Son necesarias doce piezas para formar la esfera.
 
Son necesarias doce piezas para formar la esfera.
  
== Progreso del proyecto y roadmap ==
+
= Progreso del proyecto y roadmap =
  
=== Nomenclatura ===
+
== Nomenclatura ==
  
 
A continuación dejo notas sobre la nomenclatura
 
A continuación dejo notas sobre la nomenclatura
  
==== Prototipos ====
+
=== Prototipos ===
  
 
Cada prototipo es un reloj funcional en si mismo, es decir, un objeto del mundo real.  
 
Cada prototipo es un reloj funcional en si mismo, es decir, un objeto del mundo real.  
Line 69: Line 69:
 
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.
 
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 ====
+
=== Hitos ===
  
 
Cada hito es una fase en la escritura del firmware del reloj, es decir una funcionalidad o mejora.  
 
Cada hito es una fase en la escritura del firmware del reloj, es decir una funcionalidad o mejora.  
Line 75: Line 75:
 
Para cada hito utilizo un nombre en clave que cada vez comienza por la letra siguiente del alfabeto. La secuencia comienza en la A.
 
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 firmwara 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.
+
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.
 
Cada hito tiene una serie de asuntos que tienen que completarse para considerarse finalizado.
Line 110: Line 110:
 
# '''Fomalhaut: Sensores ambientales para la temperarura'''
 
# '''Fomalhaut: Sensores ambientales para la temperarura'''
  
== ¡Construye tu reloj! ==
+
= ¡Construye tu reloj! =
  
 
Seguramente esto es lo que más te interesa.
 
Seguramente esto es lo que más te interesa.
Line 116: Line 116:
 
En las siguientes secciones se especifica que te hace falta para construir cada modelo.
 
En las siguientes secciones se especifica que te hace falta para construir cada modelo.
  
=== Aquila ===
+
== Aquila ==
  
====Lista de materiales====
+
===Lista de materiales===
  
 
* Una tira de 60 LEDS RGB con el chipset WS2801
 
* Una tira de 60 LEDS RGB con el chipset WS2801
Line 134: Line 134:
  
  
==== Montaje ====
+
=== Montaje ===
  
Instrucciones asequibles para que cualquiera pueda monmtarse su reloj.
+
Instrucciones asequibles para que cualquiera pueda montarse su reloj.
  
 
Instrucciones para montar un reloj como el prototipo "Aquila":
 
Instrucciones para montar un reloj como el prototipo "Aquila":
Line 147: Line 147:
 
# Dar corriente al arduino y a los LEDs. ¡EL ARDUINO NO PUEDE ALIMENTAR LOS LEDS! Necesitan su propia fuente de alimentación.
 
# Dar corriente al arduino y a los LEDs. ¡EL ARDUINO NO PUEDE ALIMENTAR LOS LEDS! Necesitan su propia fuente de alimentación.
  
==== Uso ====
+
=== Uso ===
  
 
El prototipo Aquila tiene tres botones.
 
El prototipo Aquila tiene tres botones.
Line 163: Line 163:
 
* Pulsación larga: Determinar que unidad de tiempo se suma(pulsar una vez para horas, dos para días, etc...)
 
* Pulsación larga: Determinar que unidad de tiempo se suma(pulsar una vez para horas, dos para días, etc...)
  
== Conclusiones ==
+
= Conclusiones =
  
 
La realización de este proyecto hasta su estado actual me ha proporcionado las siguientes experiencias:
 
La realización de este proyecto hasta su estado actual me ha proporcionado las siguientes experiencias:
Line 182: Line 182:
  
  
=== Referencias ===
+
= 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
 
* 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
 
* Librería FastLED para Arduino y para Teensy; http://fastled.io

Revision as of 13:35, 27 May 2015

Reloj LED
Sin foto (aún)
Estado: En curso
Miembros: Samuel
Colaboraciones: Proyecto personal
Este es un fantástico proyecto que se está desarrollando por alguno de los simpáticos makers de la comunidad Makespace Madrid


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

  1. Prototipo actual: AQUILA (Águila) (Abril 2015)
    1. Estructura: de plástico impreso en 3D
    2. Píxeles: basados en LEDs RGB con chipset WS2801
    3. Controles: Tres pulsadores
  2. Próximo prototipo: BOÖTES (Boyero, pastor de bueyes) (Mayo/junio 2015)
    1. Estructura: de plástico impreso en 3D (modelo 2)
    2. Píxeles: basados en LEDs RGB con chipset WS2811
    3. Controles: por determinar


Lista de hitos:

  1. Altair: Reescritura desde cero de lo que ya tenía
    1. Sustitución de las librerías Time y DS1307 por RTClib
    2. Todos los parámetros de configuración en el mismo punto.
  2. Betelgeuse: Paletas de color
    1. Inclusión de paletas de color que se pueden cambiar al pulsar un botón
  3. Capella: Multiples modos de representar la hora
    1. Modo normal (ya implementado)
    2. Sectores (ya implementado)
    3. Estelas (implementado, pero no funciona de la manera esperada)
    4. Circulos
    5. Invertido (implementado)
  4. Deneb: Posibilidad de cambiar la hora manualmente con un encoder o botones
  5. Etamin: Soporte para display con la fecha
  6. Fomalhaut: Sensores ambientales para la temperarura

¡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

Lista de materiales

  • Una tira de 60 LEDS RGB con el chipset WS2801
  • Doce piezas impresas "soporte LEDS" modelo 1
  • 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
  • Tubo de 12mm de pared exterior
  • Recipiente hermético redondo para meter la electrónica.
  • Una resistencia variable de 10k.


Montaje

Instrucciones asequibles para que cualquiera pueda montarse su reloj.

Instrucciones para montar un reloj como el prototipo "Aquila":

  1. Descargar todos los ficheros del repositorio:
  2. Conectar el arduino y cargar los programas que aparecen en el directorio arduino
  3. Imprimir las doce piezas que aparecen en el directorio 3D/STL)
  4. Unir las piezas con adhesivo para plásticos y usar bridas para mantenerlas juntas hasta que se sequen
  5. Montar los LED
  6. Conectar las cosas como pone en el sketch de Arduino (pendiente de especificar)
  7. 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 Aquila tiene tres botones.

Funciones del botón 1.

  • Pulsación corta: Cambio de paleta de colores
  • Pulsación larga: Modo de visualización

Funciones del botón 2.

  • Pulsación corta: restar tiempo
  • Pulsación larga: Determinar que unidad de tiempo se resta (pulsar una vez para horas, dos para días, etc...)

Funciones del botón 3.

  • Pulsación corta: sumar tiempo
  • Pulsación larga: Determinar que unidad de tiempo se suma(pulsar una vez para horas, dos para días, etc...)

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