Portada! Creando un reloj binario inteligente (Primera parte)

Si la plata no fuera un problema, tu te irías por un reloj de tipo:

  • Display de 7 segmentos

    Votes: 2 16,7%
  • Nixie

    Votes: 7 58,3%
  • Binario

    Votes: 2 16,7%
  • Análogo

    Votes: 1 8,3%
  • Otro (comenta csm!)

    Votes: 0 0,0%

  • Total voters
    12

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.442
Relojes hay en todas las formas y tamaños


En la edición de hoy: @unreal4u estaba aburrido y pensó en hacer un reloj binario: ¿qué tan difícil puede ser?

No, la verdad es que no estaba aburrido sino que como todos los proyectos que alguna vez he empezado, nació de una necesidad. Esa necesidad partió en el hecho de que su querido servidor le instalaron fibra óptica (wiiiiii)! Me imagino que como querido lector debe haber quedado más confundido que el Teniente Bello en pleno año 2023 en Santiago así que sólo diré que mi ISP anterior funcionaba con un TV-Box que convenientemente mostraba la hora: el de ahora no tiene eso, así que cuando estamos mirando tele tenemos que tener el teléfono a mano para saber la hora.

Quiero hacer de mi living un lugar interesante y para cualquier visita (el living es lo primero que ven las visitas cuando entran a mi casa) será un ice-breaker el poder conversar de ese aparato que parece estar cambiando LEDs de forma aleatoria, sólo para llegar con mi shuper intelectualidad y poder decirles que eso es la hora.

Aparte que para qué estamos con cosas: es un proyecto interesante y que requiere de muchos componentes, así que no demos más vueltas al asunto y veamos los requerimientos oficiales de mi proyecto sobre-pensado.

Cabe destacar eso si que en el momento en que escribo esto todavía estoy esperando por piezas que me lleguen del tío Ali, así que serán varias partes las que iré publicando para ir mostrando el cómo llevo a cabo este proyecto, pero al menos he tenido el tiempo para dedicarme a escribir un poco, así que sin más les presento la primera parte: los requisitos!

Parte 1: Requisitos​

Quise abordar este proyecto tal como lo haría en mi trabajo del día a día: me pongo un objetivo, reviso cuáles son los requisitos del proyecto y qué cosas son las que realmente son demasiado complicados y que no implementaré en una primera fase o que simplemente dejo afuera en su totalidad.

Primer requisito: mostrar la hora de alguna forma.​

Y es acá donde me encontré con el primer problema: relojes hay en una variedad infinita!

Mi primera preferencia se fue por el lado steampunk que llevo dentro: aunque visualmente me encantan los relojes Nixie, comprar 6 tubos enanos (IN14, incluyendo los segundos) ya me salía por lo bajo alrededor de CLP 35.000 y a eso había que sumarle todas las piezas adicionales. En principio no habría sido tan gran problema si no fuera por el hecho de que estos tubos (los IN14) funcionan con 170v DC.

Ejemplo de un reloj Nixie ocupando tubos IN14


No me asusta fácilmente la electricidad, pero eso es bastante respetable y si bien es cierto se ve la raja, no tenía el factor de misterio que estaba buscando. Además, estos tubos son delicados y son un culo de reemplazar y soldar. Muy bonitos serán, pero con una hija de 7 años y 2 gatos en casa necesitaba otra cosa.

Después de revisar algunas opciones adicionales, di con una opción interesante que mezcla mi profesión (informático) con la vida cotidiana en la forma de un reloj binario.

Para aquellos que no saben, un reloj binario es un reloj que muestra los números en base 2: nosotros los humanos estamos acostumbrados a hacer todos nuestros cálculos en base 10 (gracias a los 10 dedos que la gran mayoría tenemos) pero los computadores sólo conocen 2 estados: 1 ó 0.

Aunque hay formas más simples (pensando como un computador) de representar la hora, decidí irme por una configuración donde cada dígito representa un número de un dígito a la vez, tal como explica la siguiente imagen:

Explicación gráfica de cómo sumar los números de un reloj binario


Esto lo hice más que nada para poder ayudar al humano que intenta leer la hora: es bastante más simple calcular mentalmente un número del 1 al 10 que del 1 al 60 en binario (aunque esta última opción requeriría de 3 LEDs menos).

Segundo requisito: 0 mantención.​

Ya te imagino quebrarte la cabeza: qué tan complejo puede ser un puto reloj? La respuesta es: no es complejo! Pero son los pequeños detalles los que suman:

  1. No quiero cada 6 meses tener que cambiar la hora. Si algún día acabamos con la tonterita del cambio de hora, tampoco quiero preocuparme de tener que implementar eso. Si lo desenchufo por 6 meses tiene que poder mostrarme la hora después de bootear de forma automática. La única excepción a esta regla es si decidimos irnos a vivir a otro huso horario.
  2. Vemos tele en la noche o durante el día: en todas las circunstancias me tiene que mostrar la hora sin que moleste. El brillo de los LEDs lo tiene que manejar de forma autónoma sin intervención de mi parte. Si es de noche, tiene que bajar el brillo.
  3. Si no hay nadie en el living, pues no es necesario que muestre la hora y prefiero que apague todas las LEDs.

Tercer requisito: Inteligente​

Este fue quizás el requisito más difícil de imaginar, pero es lo que le daría el toque único a este reloj y que no fui capaz de encontrar de forma comercial: quiero integrar una pequeña pantalla OLED de un único color que me vaya mostrando diversas cosas:

  1. Quiero poder corroborar que estoy leyendo bien la hora: necesito un fallback en el mismo aparato que me muestre la hora en un formato 'normal', también considerando el WAF.
  2. Quiero que esta misma pantalla me vaya mostrando información como la fecha y la temperatura tanto dentro como fuera de la casa.
  3. Quiero que me notifique de cada cambio de luz apagado / encendido en la casa: si estoy mirando tele y mi hija prende su luz, quiero poder ver eso en la pantalla, cosa que pueda pausar la película a tiempo si estamos viendo alguna película de Tarantino por ejemplo.
Un pequeño display OLED de 0.92''


Con esto ya queda claro cuáles son las partes que quiero integrar sí o sí... en la próxima entrega del artículo, detallaré la lista de materiales a ocupar y también mostraré más a fondo cuál es el diseño que quiero seguir.

Saludos.
 

eol

12AX7 Dual Core
Se incorporó
5 Octubre 2006
Mensajes
333
En lugar de aburridos LEDs, pueden ser cálidas lámparas de neón
Es una idea.
Una versión con LED y otra con neón.
 

stargeizer

Who cares?
Se incorporó
5 Noviembre 2005
Mensajes
165
Se me viene a la mente una Raspberry Pi pico, con un par de pantallas matriz de led de 8x8, o alguna OLED a gusto del cliente, con algo de python-fu tal vez se pueda hacer algo interesante. ¿quien sabe?.
 

mmirandap

Gold Member
Se incorporó
1 Septiembre 2006
Mensajes
2.451
Hace un tiempo compré esa misma pantalla de la foto y un sensor de humedad/temperatura para usar con una raspberry pi pico w, le meti un script en python que cada minuto leia la temp del dormitorio y grababa el registro en una bd postgresql, ademas de mostrar la fecha y hora

EDIT: Estuve buscando el script y lo perdi, si lo hago nuevamente lo comparto por acá
 

tglaria

InExperto
Se incorporó
10 Febrero 2005
Mensajes
9.693
Si puedes jugar con acrílico, siempre puedes meter lucecitas con iluminación 'lateral'.

Le echaré un vistazo a este proyecto, se entretenido.

EDIT: Estuve buscando el script y lo perdi, si lo hago nuevamente lo comparto por acá
Y por esto me estoy acostumbrando a registrar TODO en repositorios GIT (github o bitbucket)
 

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.442
En lugar de aburridos LEDs, pueden ser cálidas lámparas de neón
Es una idea.
Una versión con LED y otra con neón.

Cabe destacar que esta serie de artículos saldrá con aproximadamente 2 a 4 semanas de desfase por un tema de que de otra forma no podría presentarlos de forma ordenada.

La elección del hardware y cómo se verá ya está decidido en un 80%, pero te puedo adelantar que no serán simples LEDs :)

Se me viene a la mente una Raspberry Pi pico, con un par de pantallas matriz de led de 8x8, o alguna OLED a gusto del cliente, con algo de python-fu tal vez se pueda hacer algo interesante. ¿quien sabe?.

Interesante la opción del rpi pico! Tiene de hecho I²C así que podría funcionar :) Lo único que no tiene es WiFi con lo que no podría sincronizar la hora de forma automática on boot, aunque eso tiene solución en la forma del modelo nuevo que sí trae WiFi. Sin embargo, no tiene compatibilidad con otra herramienta del cual contaré más adelante :)

Muy buena sugerencia si! Hubiese sido casi ideal!

Hace un tiempo compré esa misma pantalla de la foto y un sensor de humedad/temperatura para usar con una raspberry pi pico w, le meti un script en python que cada minuto leia la temp del dormitorio y grababa el registro en una bd postgresql, ademas de mostrar la fecha y hora

EDIT: Estuve buscando el script y lo perdi, si lo hago nuevamente lo comparto por acá

Y para evitar este problema, es que tengo otra solución del cual contaré más adelante.

Si puedes jugar con acrílico, siempre puedes meter lucecitas con iluminación 'lateral'.

Le echaré un vistazo a este proyecto, se entretenido.


Y por esto me estoy acostumbrando a registrar TODO en repositorios GIT (github o bitbucket)

Acrílico de hecho es uno de los materiales que estoy barajando, pero más que nada como una capa de difuminación antes que iluminación lateral. Me encantó el efecto si así que puede que más adelante me haga otro proyecto! :D

Gracias a todos por sus comentarios!

Saludos.
 

Cosme

Gold Member
Se incorporó
27 Febrero 2005
Mensajes
8.255
los nixies son re fáciles de cambiar, si se usan en porta-tubos, no soldados directamente :zippypozo
Nixie-Soporte-de-tubo-adaptador-de-enchufe-para-tubo-fluorescente-en-12.jpg




Lo malo es que creo que actualmente los hace un puro weon en el mundo y son re caros


 
Subir