Un reloj binario tipo BCD con Arduino y Nodejs
Todo el código de este script esta explicado en mi blog
Un reloj binario que nos muestre la hora en una matriz de Leds, además se incluye una pantalla LCD que nos muestra la hora y la fecha, para complementar nuestro reloj binario.
Lectura
Más info sobre relojes binarios:
El script esta listo para ejecutarse, pero existen opciones addicionales:
-
Se incluye una función para depurar usando la consola de Nodejs, que se puede habilitar o deshabilitar.
var debugMode = false; // o true
-
El LCD es opcional y se puede habilitar o deshabilitar.
var LCDisEnable = true; // o false
-
Se puede ajustar la intensidad de los LEDs facilmente.
var matrixBrightness = 2; // 0-100
-
Se puede ajustar la velocidad de la repetición facilmente, en caso de detectar un desfase o una desincronización entre el LCD y la matriz de Leds.
var intervalMS = 1000; // valor en ms. Recomendado: 1000
Nota: el LCD tiene que tener instalado I2C. En la imagen, no lo es, pero los cables estan conectados como si fuera I2C
Placa Arduino UNO o similar
- Más información sobre este producto en Adafruit
- Para adaptar este script a otro dispositivo, consulta Johnny-five API
LCD 20x4 con I2C
- Más información sobre Pantalla LCD en Adafruit
- Más información sobre I2C Backpack en Adafruit
- Para adaptar este script a otro dispositivo, consulta Johnny-five API
Para mejorar la usabilidad es recomendable tapar los leds que no se usaran e incluir una ayuda a la lectura.
Nota: Esta versión que vemos en la foto esta hecha con un post-it y es solo un prototipo.
Es necesario contar con Nodejs y Npm en tu sistema.
Para este script es necesario instalar Johnny-Five:
sudo npm install -g johnny-five
Desde la carpeta donde esta BCDClock.js
node BCDClock