Eravamo in terza superiore quando io e Paolo Papinutti realizzammo questo progettino, il tempo vola e son già passati quasi 5 anni. Lo realizammo come progetto da esporre a scuole aperte e per soddisfazione personale. Beh ecco qua Spectrum.
Bando alle ciance, varie persone durante questi anni mi hanno chiesto di condividere il codice e spiegare come è stato realizzato, ho quindi finalmente deciso di riportare il tutto qua. Non è un progetto complesso, anzi per chi ha un minimo di esperienza con arduino e un po’ di manualità può realizzarlo.
Ecco un video dell’ultima versione dello Spectrum
Perchè si chiama “Spectrum I” ?
Beh perchè c’è stata una prima versione e una seconda versione, ciò che cambia tra le due versioni è l’elettronica.
In questo post però illustrerò la prima versione.
La meccanica
La meccanica è abbastanza semplice, è composta da una base in metallo (un profilato a U quadra) abbastanza spessa e pesante in modo da rendere il tutto stabile. La base è stata forata in modo da poter ospitare sette barre filettate da 6mm.
La parte più interessante sono tutti quei parallelepipedi di plexiglas che rendono affascinante questo oggetto. Il materiale lo abbiamo ordinato su internet e sono ricavati da una lastra spessa 1cm, li abbiamo fatti tagliare al laser in striscie larghe 4cm. Poi una volta arrivate Paolo le ha sezionate con la sega a nastro, opacizzato il lato frontale con della carta abrasiva e infine praticato i fori per i led e il fissaggio alle barre filettate.
Per montare il tutto invece sono state utilizzate delle barre filettate da 6mm, dadi e rondelle. Il tutto in acciaio inox per questioni pratiche (niente ruggine) ed estetiche.
L’elettronica
È possibile suddividere l’elettronica in più blocchi:
- Analizzatore di spettro: Sparkfun Spectrum Shield (MSGEQ7)
- Microcontrollore: Arduino Uno
- Display driver: Texas Instruments TLC5940
- Sistema di visualizzazione: Led RGB 5mm ad anodo comune
Analizzatore di spettro
Per comodità è stato utilizzato uno shield per arduino basato sull’integrato MSGEQ7.
In realtà sullo shield sono presenti due integrati (se il segnale è stereo, uno per canale) e presenta anche due jack collegati in parallelo. Questo permette di collegare la fonte audio allo shield e poi uscire verso un dispositivo di riproduzione.
Per l’utilizzo di questo integrato vi rimando a questo articolo.
Microcontrollore
Come micro è stato utilizzato un comunissimo Arduino Uno su cui è stato applicato lo shield, niente di trascendentale. Arduino viene collegato al pc tramite usb solo per il debug, quindi normalmente viene alimentato da un alimentatore o una batteria esterna.
Display driver
Questa è la parte più complessa e laboriosa, la prima versione dello spectrum utilizzava un integrato della Texas Instruments, il TLC5940, un integrato specifico per pilotare led.
È un integrato molto interessante, presenta un interfaccia seriale e può pilotare in corrente fino a 16 led indipendenti, ognuno dei quali con 64 livelli di luminosità (tramite pwm). Inoltre ha altre funzioni interessanti che non sto qua ad elencare (diagnostica e altro).
Sistema di visualizzazione
È costituito da una matrice di piastre in plexiglas, 7 colonne per 8 righe e quindi 48 in totale.
Prototipo
Ecco come si presentava il cablaggio del primo prototipo (collegato solo il colore verde).
PCB
Per la prima versione dello Spectrum è stato creato anche un pcb:
Invece di utilizzare un Arduino Uno è stato inserito un Arduino Pro Mini ma il codice e il funzionamento è lo stesso, di seguito il PCB popolato:
Qui si conclude la prima parte dedicata a questo piccolo progetto.
Mandi!
P.S. ecco il link al secondo articolo!
Dex 21 Febbraio 2018
Hi Denis. Do you mind sharing this code?
Denis Lanfrit 21 Febbraio 2018 — Autore articolo
Hi, I’m writing an article about it, it will be online soon
Dex 23 Febbraio 2018
Alright. Thanks!
>Loris 28 Gennaio 2019
ciao ti volevo chiedere se hai uno schema su come collegare i led rgb su arduino, ma sono collegati su arduino mega? ti chiedo questo perché arduino uno ha pochi pin e non credo riesco a collegare 56 led rgb
Denis Lanfrit 29 Gennaio 2019 — Autore articolo
Ciao Loris, guarda qua: https://www.denislanfrit.com/spectrum-ii-un-piccolo-aggiornamento/
I led utilizzati sono “intelligenti” e riescono a comunicare fra loro, in pratica basta un solo pin di Arduino per controllarli tutti, quindi un Arduino Uno basta e avanza.
Frank 26 Maggio 2019
Hola amigo Denis saludos, mi nombre de Frank y soy de Perú y me gusta tu proyecto estoy pensando en hacerme uno, por favor podrías compartirme el diagrama electrónico de tu tarjeta base (tarjeta grande)
Denis Lanfrit 5 Giugno 2019 — Autore articolo
Hola Frank,
perdóname ma no tengo mas el diagrama electrónico, pasaron como cinco años desde la primera version. Usé los integrados TLC5940 y los connecté asì: link. Però no tengo mas el codigo, mucho mas facil usar los leds WS2812B como en la nueva versìon.