RELOJ BINARIO ARDUINO
Pues bien, este va a ser, con la posible consecuencia de ganarme el puesto de manitas de MV por parte del Sr. LOA, mi proximo proyecto. Tengo otro proyecto mas en mente con Arduino, pero este va a ser para ir tomando un poco de contacto con este microcontrolador y ver como funciona, ya que nunca lo he usado y hay que empezar por algun sitio.
Hace una temporadita que vi un proyecto de un reloj binario en instructables que me gusto mucho, tanto por la construccion, como por la sencillez del proyecto, el diseño y lo freak, por que no decirlo . Como no he visto relojes como este en venta (ni parecidos) y como soy un freak reconocido, ademas de que me gusta el trasteo mas que a un tonto un lapicero, me he decidido a sacarlo adelante para que haga bonito en mi mesita de noche o en mi escritorio.
Aqui os ire poniendo los pasos tal y como hice con la RetroGear. El proyecto lo tengo aun en mente y no he comprado los materiales, pero tengo intencino de hacerlo durante estos dias. El proyecto original en el que me voy a basar esta basado en un Arduino Luigino. Yo, para ahorrar costes, teniendo en cuenta la cantidad de pins de entrada y salida, tanto digitales como analogicos, voy a usar un Arduino Nano compatible, puesto que me sobra con esta placa. Iba a usar en un principio un Arduino Mega que queria comprar para otro proyecto que tengo en mente (un Dron, pero shhh no lo digais por ahi ) pero me parecia un poco grande y caro para lo que iba a ir destinado, asi que la eleccion final ha sido el Nano.
Podeis ver el proyecto original en este link de la mano de un tal Cello62, al cual doy gracias por explicar su proyecto y hacerlo publico para todo el mundo:
http://www.instructables.com/id/My-Arduino-Binary-Clock/?ALLSTEPS
Y aqui un video del funcionamiento del reloj de Cello62:
Como veis, el proyecto original usa un Arduino Luigino. Como consecuencia de esto, Cello62 tiene que alojar la placa en la parte trasera del marco y en el exterior. La idea principal que tengo es de alojar todo en el interior del marco, saliendo solo al exterior el cable de alimentacion del reloj. De ahi la eleccion tambien, del Arduino Nano para el proyecto.
LA LISTA DE LA COMPRA
En este caso, y para que no me pase como con la RetroGear, voy a hacer un presupuesto inicial con los precios que he visto por eBay, que va a ser el lugar donde comprare la mayoria de los componentes. Finalmente editare para poner la lista de los componentes con el precio final que he pagado por cada componente.
Asi que manos a la obra y al tajo. Para hacer el reloj binario vamos a necesitar lo siguiente:
- Arduino Nano: 3,14€
- Marco Ikea Ribba: 2,50€
- 24 resistencias de 220Ohm: 1,60€ un set de 200
- 4 resistencias de 150Ohm: 1,60€ un set de 50
El valor de las resistencias va a variar dependiendo de los LED que se usen para hacer el reloj, ya que no todos trabajan al mismo voltaje.
Los LED los elegiremos segun el diseño que queramos darle. En mi caso los LED que elegire seran los siguientes:
- 7 LED blancos
- 4 LED morados
- 8 LED azules
- 3 LED rojos
- 2 LED amarillos
Respecto al diseño original no voy a incluir las letras "Binary Clock". Sabiendo esto, tenemos que aproximadamente los LED costaran unos 5€.
Asi pues tenemos un presupuesto, a falta de saber el coste de las hojas imprimibles transparentes y del carton para alojar los LED y hacer los separadores, de unos 13,84€.
EL MONTAJE
La cosa ya marcha y poco a poco se van viendo avances. Como siempre ire poniendo mis impresiones sobre lo que voy viendo respecto al trabajo que hizo Cello62 y al que yo estoy haciendo. Para comparar podeis seguir el enlace que os deje arriba en el que podeis ver los pasos y materiales con los que el procedio.
Los materiales no van a ser exactamente los mismos y esto me esta llevando a ver ciertas cosas que ire mejorando en mi diseño por detalles que voy viendo en la construccion.
Bueno pues para empezar, tenemos los marcos de Ikea. Estos marcos son los mas economicos, de 2,50€ cada uno y esta disponible, al menos en el Ikea de mi zona, en varios colores (rojo, negro, gris, madera natural, blanco...) y ademas hay disponibles marcos mas grandes, pero tambien mas caros y de la misma construccion, por lo que el diseño y las dimensiones aqui pueden quedar a criterio de cada uno.
La plantilla a usar la he cogido tambien del hilo de Cello62. Con Photoshop la podemos voltear, cambiar tamaño o lo que nos plazca. Incluso cambiar el color.
Una vez con los marcos en casa (he cogido dos con intencion de hacer dos relojes), he cogido la misma plantilla que ha usado Cello62 en su reloj, pero aqui podemos ser mas ingeniosos y hacer un diseño diferente. Yo como he sido un poco vaguete, he mantenido el mismo. Lo unico que voy a omitir van a ser los leds de las letras inferiores.
Para sacar la plantilla bien impresa, lo que he hecho ha sido coger el papel del Ikea que venia en el interior del marco, he cogido el cartoncito interior que hace de marco interior y he marcado esa hoja con el tamaño del hueco interior. Despues la he escaneado y he adaptado la plantilla a ese tamaño. Una vez impreso el reloj se ve asi:
Ahora tocaba pensar como hacer el interior. El diseño original no me convencia demasiado y explico el por que. Cello62 hace el interior con unas divisiones que a mi para nada me convencian. El por que es muy simple, elimina un monton de espacio interior y empuja las plantillas hacia el cristal, por lo que podian producirse deformaciones.
Para alojar los LED, he cogido una tapa de una carpeta vieja que tenia por aqui y que es dura. Despues he marcado los agujeros y los he hecho. Como se puede ver en la foto. Quedaria un mejor resultado y acabado con un trozo de madera cumen o similar que fuese un poco mas gruesa.
Acto seguido, en lugar de hacer las divisiones, lo que he hecho ha sido usar unos tacos de 8mm de golpe (no me han costado nada) y los he cortado en cachitos de unos 10 mm. Usando una madera gruesa evitariamos estos tacos, ya que los LED irian alojados en la misma madera.
Un cacho para cada LED, y en la zona de las letras he hecho, con el mismo carton que me sobraba, unas divisiones interiores para alojar varios LED. Asi que vamos pegandolos con silicona termica y lo vamos viendo tal que asi:
Una vez todos cachitos de los tacos pegados, empezamos con la electronica. Toca coger los LED y meterlos a su sitio. El esquema de montaje es bien sencillo. Solo hay que tener en cuenta que LEDs van a cada PIN del arduino y cuales no. El esquema de montaje, tambien cogido del instructable de Cello62, y teniendo en cuenta que yo no voy a usar LEDs para iluminar las letras de abajo, es este:
Algunos LED, por la construccion de los tacos, quedan flojos y otros no. Esto implica que probablemente en algunos haya que usar silicona termica para fijarlos, pero tampoco es un problema tan grave. Tambien hay que soldar las resistencias, asi que pienso en la mejor forma de ir alojando todo para que no me estorbe nada a la hora de montar y va quedando asi la cosa:
Y una vez soldados los primeros LED y las primeras resistencias, blancos para las letras y verdes para los numeros, me pudieron las ganas de verlos encendidos, asi que cogi la fuente de alimentacion y ale, a probar. La cosa va tomando forma:
Aqui me doy cuenta de un pequeño error que no se puede considerar como tal. Al ser de carton duro, la tapa se deshilacha por asi decirlo por la zona de los agujeros. He intentado quitar en la medida de lo posible todos los hilitos de carton que se veian, pero aun asi siempre queda alguno. Esto lo que produce es que haga como una especie de sombra que al final se transfiere a la plantilla.
Una forma de haber evitado esto hubiese sido hacer los agujeros mas grades y haber encajado los tacos en los agujeros, con lo que ademas ganariamos ese espacio de fondo. O bien haber cogido un tablero de cumen o madera lo suficientemente gruesa como para que los LED no sobresaldan de la madera. Obviamente esta ultima opcion seria la mejor, pero tambien la menos economica a no ser que tengamos algun amigo o familiar que sea carpintero.
Aun asi, el reloj luce genial. Como no he pegado mas que un LED a los tacos, si algun dia me hago con un trozo de madera de un grosor suficiente, lo que hare sera un reemplazo para que luzca todo como es debido.
Seguimos pues con los LED de los segundos digitos del reloj, las columnas de 4 LED. En mi caso he elegido para ello el color azul. Ahora a la hora de soldar, tengo que tener en cuenta que la alimentacion de estos LED va a ser independiente. El polo positivo es el que va a ir a cada PIN del arduino. Con el polo negativo hay que proceder como con los otros LED siempre teniendo en cuenta el diseño de la electronica para que no nos estorbe en la circuiteria y el cableado. El resultado es este:
Y si, me impacientaba otra vez y la foto la saque con los cocodrilos listos para encender los LED con la fuente de alimentacion . Asi luce ya nuestro retoño cuadrado:
Despues de que me han llegado los LED, me he puesto con ello para terminar de ponerlos todos. Al final he optado por poner dos columnas azules y dos rojas. El amarillo me parecia que no tenia suficiente intensidad de luz y no queria soltar las resistencias ya soldadas para limitar la lud del resto de LEDs.
Una vez soldados los LEDs y resistencias que me quedaban por soldar y el reloj ya empieza a tomar una forma decente y se ve asi:
Teniendo ya el arduino en casa (pedi dos para poder trastear con uno cuando me aburra ) ya puedo seguir con el montaje del reloj, asi que al lio. Como se puede ver, el Arduino Nano es muy pequeño, por lo que es perfecto para alojarlo en el interior y evitar que se vea el arduino como en el proyecto original. Asi pintan los dos Arduino Nano al lado de una pua de guitarra:
Para empezar, os voy a presentar un pequeño aparatito que he adquirido recientemente. Se trata de una estacion de soldadura china MLink H4. Por un precio de unos 85€ tengo un soldador de aire caliente para SMD y un cautin con temperatura regulable. Tuve que comprarla porque me he puesto a reparar tablets y moviles y en estos aparatos las soldaduras son extremadamente pequeñas, pero bueno, este no es el lugar adecuado para hablar de ella. A modo de comentario, decir que la he probado con varias cosas y es una gozada. Como todo aparato chino que se precie, habra que ver como va durando al paso del tiempo y al uso. El cacharro en cuestion es este:
Cuando vi el Arduino Nano me di cuenta de que iba a sacar partido a las puntas que me venian con el cautin del soldador por el tamaño de las pistas a soldar. Lo primero que hice fue coger una de las placas y soldarle los pines que me venian junto a ellas para poder alojarla en la placa de pruebas.
Aqui tuve una pequeña metedura de pata y los 6 pines que se ven a la izquierda de la foto los solde por abajo en vez de por arriba, por lo que tuve que volver a desoldar para despues colocarlos arriba:
Una vez soldados los pines y alojado el Arduino en la placa de pruebas, lo siguiente es probar toda la esquematica del reloj y ver que todo funciona perfectamente. En mi caso he suprimido el boton del apagado de los LED porque tengo intencion de mejorar el diseño y programar el Arduino para que baje la intensidad (el voltaje en este caso) entre ciertas horas del dia, por lo que solo he alojado los botones para establecer la hora correcta despues de encender el reloj.
Vamos al lio y nos ponemos manos a la obra. He seguido el esquema original de Cello62 para este fin con la diferencia de que, por el momento, yo he conectado los LED de adorno (las letras y los numeros) de forma directa a 5V sin pasar por ningun pin digital a esperas de hacer el diseño para la intensidad de los LED segun la hora del dia. Tambien he usado un trozo de placa perforada para hacer un par de soldaduras con 4 cables, que de otra forma quedarian muy guarras en el arduino y muy toscas. Pero bueno esto ya es decision de cada uno.
El esquema de Cello62 como antes he puesto, es el siguiente:
En mi caso he hecho una modificacion con los LED y es que he cambiado la posicion de la polaridad de los LED de adorno para dejarlos igual que los LED del reloj, con la idea mas adelante de aprovechar esto en una salida digital para bajar la intensidad. Explicando un poco el esquema la cosa quedaria asi:
- Todos los LED estan conectados a un pin digital del Arduino Nano (en mi caso el positivo de los LED de adorno estan colocados al pin 5V).
- Los dos pulsadores estan conectados a dos pines analogicos del arduino.
Al igual que en el esquema de Cello62, la forma de conectar los LED al Arduino es la siguiente:
Los LED que proporcionan la hora, estan conectados al Arduino de forma que el negativo va a una resistencia y la resistencia a uno de los pines digitales del Arduino como se ve en el esquema. Asi que quedan de forma correlativa (LED 1 al pin digital 1, LED 2 al pin digital 2 y sucesivamente hasta el 13)
Los LED de adorno, en mi caso los he conectado de forma que el negativo pasa por una resistencia y esta despues va a masa (un pin GND del Arduino) y el positivo al pin 5V. Mas adelante aprovechare el pin digital 0 que ha quedado libre para regular la intensidad.
Los pulsadores van conectados por un lado a un pin analogico del Arduino y por el otro lado a un pin GND. Uno se encargara de configurar la hora (sumando una hora por cada pulsacion) y otro de los minutos (sumando un minuto por cada pulsacion).
Dicho esto, siguiendo el esquema de conexiones, solo queda probar que todo vaya bien y programar el Arduino (dejare el Sketch al final para que lo descargueis):
Despues de probar solo queda pasar las conexiones al arduino mediante soldadura y tendremos ya el reloj listo. Como os habia dicho, yo he usado una placa perforada para soldar los cables de masa y el cable que va al 5V para no amontonarlos en el Arduino y que este quede mas libre de soldaduras. despues los he pegado con silicona termica en una zona libre al lado de LED para que queden ocultos y para que se puedan sacar en caso necesario sin problema. Siento no poner fotos del alojamiento, pero cerre el reloj (sujete la tapa con silicona termica) sin darme cuenta de hacer la foto pertinente.
Para alojar los pulsadores he hecho exactamente lo mismo procedimiento que Cello62, por lo que se puede ver el procedimiento en el instructable del mismo.
Una vez todo cerrado, y usando el tipico cargador de movil USB de 500mA y 5V para enchufarlo, el reloj pinta asi de bien sobre una estanteria:
COMENTARIOS FINALES Y DESCARGAS
La lista de materiales final queda de la siguiente manera:
- 8 LED azules
- 5 LED rojos
- 4 LED verdes
- 7 LED blancos 3,50 € por 100 LED, 25 de cada color
- 2 microswitch (pulsadores) 2 € 10 pulsadores
- Marco Ikea Ribba 2,50 € varios colores
- Arduino Nano (Clon DCDuino con CH340) 3,30 €
- Resistencias 2 € aproximadamente para 100 resitencias
- Cable USB a Mini-USB + Enchufe a corriente 2,50 €
Estos materiales salen un total de 15,80 €. Los materiales todos los he pedido por eBay. En el caso de las tapas duras para alojar los LED la he sacado de una carpeta que tenia por casa, pero como ya he dicho, mejor usar un cacho de madera para alojarlos que sea de algo mas de grosor que la largura del propio LED. El trozo de madera seguro que cualquier carpintero puede regalar un par de cachos de sobra. En cualquier caso, la lista de la compra no debe superar los 20€.
Mejoras:
- Usar cable plano para dejar mas curiosa la instalacion interior.
- Regular la intensidad de los LED segun la hora del dia para que no de demasiada luz por la noche.
- Alojar los led en un trozo de madera para un mejor acabado.
Por ultimo solo me queda dejaros el codigo del Sketch del reloj:
Como siempre, un placer enseñaros estas cosas. Os animo a que los hagais vosotros mismos. No tiene mucho misterio y si no sabes programar no pasa nada, ya que tienes todo el codigo ya hecho. En mi caso se programar y por eso me voy a permitir el lujo de añadir mejoras en un futuro espero no muy lejano y que por supuesto os ire enseñando.