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.
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.
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.
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.
Nessun commento on "Maxi Termometro ArduTempLED"