home

WS2812B, SK6812 e WS2813: quanta corrente chiedono, quale alimentatore, condensatore e resistenza sui dati, segnale a 3,3 V e strisce lunghe alimentate in più punti

· A cura di Ada Intelisano · redazione tecnica di informaticait.it

LED indirizzabili NeoPixel: alimentazione e collegamenti

Un anello da dodici LED si accende anche dal pin 5V di Arduino. Un metro di striscia da 144 LED, a bianco pieno, secondo Adafruit arriva invece a 8,6 A. Quasi tutti i guai con i NeoPixel (colori sbagliati in fondo alla striscia, primo LED bruciato, effetti che impazziscono) nascono dall'alimentazione e da un paio di collegamenti fatti male. Qui trovi quelli da non sbagliare, con i dati dei datasheet e della guida ufficiale di Adafruit. Strisce, anelli, matrici e LED singoli sono in LED indirizzabili NeoPixel.

Cosa sono

NeoPixel è il nome che Adafruit dà ai LED RGB con un piccolo circuito di comando all'interno: WS2812B di Worldsemi, SK6812 e compatibili. I contatti essenziali sono quattro: alimentazione, massa, ingresso dati (DIN) e uscita dati (DOUT). Il microcontrollore manda una fila di bit a 800 kbps; il primo LED tiene per sé i suoi bit (in un LED RGB sono 24, 8 per colore, nell'ordine verde, rosso, blu) e passa il resto al successivo. Con un solo pin comandi centinaia di LED, ognuno con il suo colore.

  • WS2812B: il più diffuso, RGB.
  • SK6812: compatibile, esiste anche RGBW, con un quarto LED bianco. Nella libreria Adafruit_NeoPixel si dichiara NEO_RGBW al posto del solito NEO_GRB (o NEO_GRBW, se i colori escono sbagliati).
  • WS2813: ha una seconda linea dati di riserva. Se un LED si guasta, il successivo prende il segnale dalla riserva e il resto della striscia continua a funzionare. Worldsemi raccomanda di collegare a massa l'ingresso di riserva (BIN) del primo LED.

Quanta corrente chiedono

Per i suoi prodotti Adafruit calcola fino a 60 mA per LED a bianco pieno, cioè rosso, verde e blu al massimo. È il caso peggiore: con colori misti e luminosità più bassa si consuma molto meno, e per le animazioni normali Adafruit usa come regola grossolana un terzo, 20 mA per LED.

Il conto è semplice: numero di LED × 20 (oppure × 60, per stare larghi) ÷ 1000 = ampere dell'alimentatore. Con 60 LED fanno 1,2 A con la regola dei 20 mA e 3,6 A nel caso peggiore. Per le strisce, Adafruit indica il consumo massimo per metro a 5 V: circa 1,8 A con 30 LED/m, 3,6 A con 60 LED/m, 8,6 A con 144 LED/m.

Se vuoi tenere bassa la corrente, chiama setBrightness() una volta sola nel setup(): limita la luminosità per tutto lo sketch. Adafruit avverte che non è fatta per le animazioni, perché modifica i colori già salvati in memoria.

Quale alimentatore

  • Pochi LED: il pin 5V di Arduino. Secondo Adafruit la UNO da quel pin dà in continuo circa 500 mA, giusti per un anello o una barretta. Dal pin USB di una scheda, invece, Adafruit sconsiglia di alimentare più di qualche LED.
  • Strisce: un alimentatore switching a 5 V separato, con qualche ampere in più del necessario. Adafruit lo riassume così: ampere in più vanno bene, volt in più no. Per il WS2812B Worldsemi indica 5,3 V come massimo assoluto.
  • Alimentatori da banco: alcuni all'accensione danno un picco di tensione che brucia i LED. Accendi prima l'alimentatore, aspetta che si stabilizzi, poi collega la striscia, massa per prima.
  • A batteria: tre stilo alcaline danno 4,5 V, quattro ricaricabili NiMH 4,8 V; quattro alcaline arrivano a 6 V, troppi. Una LiPo da 3,7 V va bene per spezzoni corti. Attenzione ai power bank: molti si spengono da soli se la corrente è bassa.

Il condensatore e la resistenza

Sono due componenti da pochi centesimi, che Adafruit consiglia in ogni progetto con molti LED o con un alimentatore grosso.

  1. Un condensatore elettrolitico tra + e − della striscia, dove entra l'alimentazione: Adafruit indica valori fino a 1000 µF, con tensione di almeno 6,3 V. Fa da piccola riserva quando la luminosità cambia di colpo, una causa frequente di sfarfallii. Rispetta la polarità.
  2. Una resistenza da 300 a 500 Ω in serie sul filo dei dati, montata vicino al primo LED e non vicino al microcontrollore. Protegge il primo LED dai picchi sulla linea. Alcuni prodotti ce l'hanno già a bordo; Adafruit precisa che metterne una in più non fa danni.

L'uscita dati dell'ultimo LED resta scollegata. Negli schemi dei produttori c'è anche un condensatore da 100 nF per ogni LED: su strisce, anelli e moduli è già montato, ma se saldi LED singoli tocca a te.

Collegare nell'ordine giusto

  • Massa per prima, poi il +5 V, poi i dati. Per scollegare, l'ordine inverso. Meglio ancora: collega tutto a circuito spento.
  • Masse in comune: se LED e microcontrollore hanno alimentazioni diverse, le due masse vanno unite.
  • Prima i LED, poi la scheda: con un alimentatore separato, dai tensione ai LED prima che al microcontrollore. Altrimenti i LED cercano di alimentarsi dalla linea dati e il pin del microcontrollore ne soffre.
  • Filo dei dati corto: per Adafruit uno o due metri di solito vanno bene, oltre il segnale diventa incerto.
  • Segui le scritte stampate sulla striscia (DIN, 5V, GND) e le frecce del verso dei dati: Adafruit raccomanda di fidarsi di quelle, non del colore dei fili.

3,3 V o 5 V sui dati

ESP32, Raspberry Pi Pico e le altre schede a 3,3 V mandano un segnale più basso di quello che un LED alimentato a 5 V si aspetta. La soglia d'ingresso cambia da una versione all'altra del datasheet del WS2812B, e il risultato è quello che Adafruit chiama «funziona sul banco ma non sul posto». La soluzione che indica è un traslatore di livello come il 74AHCT125 o il 74HCT245 tra il pin e il primo LED. Se invece i LED sono alimentati direttamente da una LiPo da 3,7 V, i dati a 3,3 V vanno bene. Tutto il discorso dei livelli è spiegato nella nostra guida Livelli logici 3,3 V e 5 V: far parlare ESP32 e Arduino.

Strisce lunghe: l'alimentazione in più punti

Il rame dei binari della striscia ha una sua resistenza, e lungo la striscia la tensione cala. Il sintomo tipico: i LED in fondo, sul bianco, tirano al marrone, perché il blu e il verde vogliono più tensione del rosso. Adafruit ricorda che ai NeoPixel non importa da che parte arrivi l'alimentazione: puoi portarla in testa, in coda, a metà o, meglio, in più punti. Per colori uniformi, nessun LED dovrebbe stare a più di circa un metro da un punto di alimentazione. Con impianti grandi pensa l'alimentazione come i rami di un albero, non come una linea unica.

Con più alimentatori le masse vanno tutte collegate insieme, mentre il +5 V di ciascuno va solo al suo tratto di striscia: i positivi di alimentatori diversi non si uniscono.

Un'ultima avvertenza di Adafruit: i NeoPixel non sono pensati per illuminare una stanza tutti i giorni per anni. Per quello esistono le strisce LED bianche normali. Per cominciare, invece, c'è la nostra guida L'anello di LED: dodici colori con un solo pin, con Arduino e un anello da 12 LED.

Hai un progetto con tanti LED?

Scrivici quanti LED vuoi usare, su quale scheda e dove andranno montati: ti aiutiamo a scegliere striscia, alimentatore e collegamenti.

Altre novità

Tutte le novità e gli ultimi arrivi →

Caricamento in corso ...
Torna all'inizio