Firmware para un reloj de pared conectado a la blockchain. Implementado mediante una matriz de 32x32 LED's y gobernado por NodeMCU (esp8266)
Necesitaremos:
- Módulo de 32x32 LED's. En el código utilizaremos el módulo FC-16. Utilizan drivers MAX7219 para el control de cada módulo de 8x8 píxeles.
NodeMCU <-> Max7219 (FC-16)
VIN <-> VIN ***
GND <-> GND
D2 <-> CS
D5 <-> CLK
D7 <-> DIN
*** Al conectarlo de este modo, se alimentan los leds desde el puerto USB y no desde la placa NodeMCU. Evita quemar el regulador de tensión integrado en ésta.
La mejor librería probada hasta la fecha (10/9/18) es la librería de de Adafruit MAX72XX. Deberás añadirla junto a la librería Adafruit GFX tal como especifican en sus respectivas guías.
Adicionalmente, deberás añadir el siguiente código a la función setup para la correcta visualización de la pantalla:
for(int i=0; i<16; i++) { matrix.setRotation(i, 1); }
Importante: Crear el archivo Secrets.h
tal como se indica a continuación, añadiendo tus credenciales Wifi y modificando la url de la api de etherscan, sustituyendo "YouApiKeyToken" por el token obtenido en etherscan.
// Wifi definitions
#define SECRET_SSID "Mafred"
#define SECRET_PASS "1h5$#DMe8g"
// Etherscan API URL
#define BLOCKURL "http://api.etherscan.io/api?module=proxy&action=eth_blockNumber&apikey=BXNWDYJKNN9RS2M7IAR2XW12UB6J3E35NA";
- Cómo programar NodeMCU con el IDE de Arduino.
- Librería Adafruit MAX72XX.
- Librería Adafruit GFX.
- Módulo FC-16.