Un orologio a matrice LED 64×16 con Raspberry Pi e diffusore stampato in 3D

Quattro pannelli RGB 16×16 incatenati formano un unico display da 64×16, per 1.024 pixel totali. Le cifre bianche dell’ora si disegnano su un campo di colore animato. A completare il tutto c’e’ un diffusore stampato in 3D, la parte più economica della build, che trasforma i singoli LED in pixel netti da pixel art. Il progetto è di OzzMaker e si realizza in circa 2 ore.

Il cuore della parte elettronica è un Raspberry Pi 3 Model B. I quattro pannelli OzzMaker 16×16 RGB LED si incatenano da sinistra a destra, collegando l’uscita OUT di un pannello all’ingresso IN del successivo. Così il Raspberry Pi li vede come un’unica striscia larga 64 pixel. Perciò l’alimentazione va dimensionata con cura, perché 1.024 pixel accesi insieme assorbono corrente.

Quattro pannelli RGB LED 16x16 affiancati con Raspberry Pi e diffusore
Quattro pannelli RGB LED 16×16, il Raspberry Pi e il diffusore.

Il collegamento tra la scheda e i pannelli passa dal connettore LED di OzzMaker. Il software usa la libreria rpi-rgb-led-matrix di Henner Zeller, che spinge i bit ad alta velocità verso la matrice. Il codice di OzzMaker sta in un repository di codice su GitHub, dove si trovano il programma e la logica di rendering.

Il diffusore stampato in 3D e il rendering a 20 fps

Davanti ai pannelli c’e’ un diffusore stampato in 3D. È una griglia che isola ogni LED in una celletta, trasformando i punti luminosi in quadrati uniformi e netti. Le pareti interne sono stampate in PLA nero, quindi fermano le perdite di luce tra un LED e l’altro. Inoltre il diffusore funge anche da supporto meccanico per l’intero display.

Diffusore LED stampato in 3D con il suo supporto
Il diffusore LED e il supporto.

Sul lato software, tutto viene renderizzato prima in un buffer in memoria da 64×16 di tuple RGB. Solo alla fine il frame viene inviato all’hardware. Le cifre dell’ora usano un renderer a sette segmenti. Il programma gira in un solo processo con due thread:

  • un render thread che possiede la matrice e gira a circa 20 fps
  • il server web, che comunica con il render thread solo tramite oggetti thread-safe

Il pannello web Flask è raggiungibile sulla porta 8080. Offre slider e menu per regolare luminosità, palette, effetto e transizioni, con anteprima dal vivo. Le impostazioni sono salvate in settings.json e sopravvivono al riavvio. Quindi non si perde la configurazione ogni volta che si spegne il display.

Cosa serve per rifare l’orologio a matrice LED

La lista dei componenti è breve. Serve un Raspberry Pi 3 Model B, quattro pannelli OzzMaker 16×16 RGB LED e il connettore LED di OzzMaker per il Raspberry Pi. Poi servono un alimentatore adeguato ai 1.024 pixel e il filamento per il diffusore.

Sul lato software la base è Raspbian. Sopra girano la libreria rpi-rgb-led-matrix e il pannello web Flask con settings.json. Il tempo di realizzazione indicato è di 2 ore, quindi il montaggio resta alla portata anche di chi ha poca esperienza con le matrici LED.


Fonte: https://github.com/ozzmaker/ozzMaker-LED-matrix

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Menu