Maxi Termometro ArduTempLED

0

 

Di Giovanni Carrera

Rispetto alle versioni a display tradizionale, i termometri elettronici a scala lineare si distinguono per l’immediata facilità di lettura, pur mantenendo tutta la flessibilità offerta dal controllo digitale.
In questo articolo realizziamo un termometro di grandi dimensioni con una striscia di smart led RGB e Arduino

L’idea mi è venuta sperimentando le strip led RGB intelligenti, ossia dotate di microchip di controllo, come la NEOPIXEL basata su chip WS2812B. La cosa interessante è quella che basta un solo bit per controllare numerosi led. Il numero dei pixel non è limitato dal livello del segnale, sempre ritrasmesso da ogni chip, ma dalla velocità di trasmissione.
In rete si trovano diverse librerie, io ho provato sia la FastLED-master sia l’Adafruit_NeoPixel, entrambe possono pilotare vari chip di led intelligenti e di controller. Per misurare la temperatura ho provato tre tipi di sensori ma nella versione finale ho usato un LM35.
Naturalmente questo display lineare si presta per visualizzare altre grandezze fisiche e si può facilmente aumentare il numero dei led.

I led WS2812B

Essi possono essere montati su una striscia di circuito stampato flessibile e adesivo, il cui aspetto è mostrato in figura 1.

Figura 1. – Aspetto tipico di una striscia WS2812

 

La densità è pari a 60 led per metro. I chip, alimentati a +5V con C=100nF di by-pass, sono collegati in cascata secondo lo schema mostrato in figura 2.

 

Figura 2 – Schema elettrico della striscia led.

Il protocollo seriale di comunicazione è di tipo NRZ (Non Return to Zero) e il dato è a 24 bit, otto bit per colore nell’ordine GRB (Green, Red, Blue) con il bit più significativo per primo. In questo modo si realizzano fino a 2^24 = 16777216 colori. Il bit rate può variare da 400 a 800 [kbit/s].
La figura 3 mostra i diagrammi dei pacchetti trasmessi e come vengono interpretati dai singoli chip.

 

Figura 3 – Diagrammi di comunicazione.

 

Il primo pacchetto, inviato dalla MPU, è acquisito dal primo chip D1 che ritrasmette il secondo e i successivi. Il secondo chip D2 acquisisce il secondo pacchetto e ritrasmette i successivi, e così via. Alla fine del ciclo una pausa di almeno 50 µs resetta il sistema. Ogni led consuma fino a 20 mA, quindi 60 mA massimi per chip. Se volessi rappresentare una barra luminosa con 30 led di luce bianca, ossia con i tre colori accesi, avrei un consumo di ben 1.8 A con considerevole dissipazione e variazione di corrente. Tranne che negli estremi, in cui faccio un flash di due led per un secondo, preferisco accendere un solo led alla volta e usare un solo colore.
Inoltre posso variare la luminosità del led tra 0 e 255.

This content has been restricted to logged-in users only. Please login to view this content.

Informazioni sull'autore

Sono nato a Genova nel 1947, ingegnere elettronico e professore universitario. Appassionato di elettronica sin da ragazzo. Ho praticamente assistito all’evoluzione dei computer a iniziare da quelli con memoria a nuclei magnetici da 32kB e con i disk pack da 80MB fino ai moderni PC con SSD. Dalla fine degli anni ’70 ho progettato moltissimi sistemi basati su cpu 6502, 8085, e infine sui PIC e Arduino. Nei primi tempi ho progettato e anche auto-costruito molti sistemi di sviluppo e di programmazione dei microcontrollori. Ho iniziato a sviluppare il firmware sui 6502 con compilatori Assembler, Forth e Basic per poi passare al Pascal per i PIC e al C con Arduino e derivati. Su PC utilizzo prevalentemente i linguaggi Matlab/ Octave (per elaborazione e analisi dati), Simulink (per la simulazione), ed Excel. Uso il CAD per la simulazione dei circuiti e per la realizzazione degli schemi. I prototipi li realizzo su schede millefori con sottili fili di connessione con isolamento resistente al calore come il Kynar o il PTFE. Negli anni mi sono fatto un laboratorio elettronico molto ben attrezzato che mi permette di eseguire misure accurate sui miei prototipi. Per la ricerca universitaria e per i corsi che tenevo, ho acquisito notevoli conoscenze su strumentazione di bordo e di laboratorio, sensori e attuatori, sistemi di acquisizione e automazione, analisi dati, simulazione di impianti, radiotecnica e GPS. Ho anche progettato moltissime apparecchiature analogiche e digitali per specifici impieghi nel campo della ricerca, come sistemi di monitoraggio strutturale e controllo di servo-attuatori idraulici. Ho anche messo a punto, a partire dal 2002, alcuni sistemi per rilevare i moti nave mediante una rete di ricevitori GPS carrier phase tracking, con accuratezza centimetrica. Dal 2015, ho incominciato a pubblicare, in lingua inglese per avere maggiore diffusione, sul mio blog “ArduPicLab” molte idee e progetti originali, in parte pubblicati anche sui siti americani Hackster.io e Hackaday.io. Da quell’anno ho pubblicato anche nove progetti su riviste italiane, sei su “Fare Elettronica” e tre su “Elettronica Open Source”.

Nessun commento su "Maxi Termometro ArduTempLED"

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.