- Se incorporó
- 2 Octubre 2005
- Mensajes
- 13.599
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.
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:
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:- 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.
- 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.
- 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:- 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.
- Quiero que esta misma pantalla me vaya mostrando información como la fecha y la temperatura tanto dentro como fuera de la casa.
- 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.
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.