Introduzione al LED RGB NeoPixel / WS2812
[Riproduci video]
In questo Instructable, esploreremo il LED RGB indirizzabile (WS2812) o popolarmente noto come Adafruit NeoPixel. NeoPixel è una famiglia di anelli, strisce, schede e bastoncini di LED in miniatura colorati e pulsanti. Questi sono concatenabili da uno all'altro in modo da poter alimentare e programmare insieme una lunga fila di NeoPixels per formare una serie infinita di LED. Puoi usare queste strisce LED per aggiungere effetti di illuminazione complessi a qualsiasi tuo progetto.
Puoi trovare tutti i miei progetti su: //www.opengreenenergy.com/
Viene fornito con un piccolo pacchetto da 5050 (5 mm x 5 mm) per montaggio su superficie che include tre LED luminosi (rosso, verde e blu) e un chip driver integrato (WS2811). Richiede solo un input di dati per controllare lo stato, la luminosità e il colore di tutti e tre i LED. Collegando il pin di output dei dati al pin di input dei dati delle strisce successive, è possibile collegare i LED a una lunghezza teoricamente arbitraria.
Con combinazioni di valori RGB (0 - 255) è possibile riprodurre praticamente qualsiasi colore, quindi in un certo senso un LED RGB controllabile è un LED universale.
Passaggio 1: parti e strumenti utilizzati

Parti :
1. 8 x 8 Neo Matrix (Banggood)
2. Arduino Uno (Amazon)
3. Alimentatore 5V / 2A (Amazon)
4. DC Jack (Amazon)
5. Jumper Wires (Amazon)
6. 8 x 32 flessibile WS2812 Matrix (Sparkfun)
Utensili :
1. Saldatore (Amazon)
2. Tagliafili / spellafili (Amazon)
Passaggio 2: Tipo di striscia LED RGB


Esistono 2 tipi principali di strisce LED RGB: strisce analogiche e strisce digitali
1. Striscia analogica:
Tutti i LED nelle strisce sono collegati in parallelo, quindi si comporta come un unico enorme LED tricolore. È possibile impostare un colore particolare su intere strisce / stringhe. Sono molto facili da usare e poco costosi, ma la limitazione in questo tipo di Le strisce LED indicano che non puoi controllare i colori dei singoli LED.
Su ciascuna di queste strisce vedrai (da sinistra a destra) prima il LED, seguito da una resistenza SMD.
2. Striscia digitale:
Una striscia digitale è che indirizzi ogni LED singolarmente e lavori in un modo diverso. Hanno un chip per ogni LED, per utilizzare la striscia è necessario inviare i dati con codifica digitale ai chip. A causa della complessità aggiuntiva del chip, sono più costosi.
Notare le frecce che indicano la direzione Dati. Se si collega la striscia nella direzione opposta, non funzionerà.
Passaggio 3: Tipi di strisce LED RGB indirizzabili




I LED indirizzabili sono disponibili con diversi numeri di modello come WS2801, WS2811, WS2812 o WS2812B. Se non hai familiarità con questo tipo di LED, potresti confonderli tra loro, in modo da poterli identificare prima. Fondamentalmente WS2801 e WS2811 sono il nome dell'IC che può controllare un massimo di 3 LED. Tuttavia WS2812 è una versione migliorata in cui un IC WS2811 è integrato direttamente in un pacchetto LED RGB 5050. Il modello più recente è WS2812B.
In questo tutorial useremo l'ultimo modello WS2812B .
Fonte immagine: Adafruit, Sparkfun, Polou
Passaggio 4: pin WS2801 e WS2811 / WS2812


Il modello WS2801 ha 4 pin di ingresso (Vcc, GND, Data, Clock) mentre i modelli WS2811 e WS2812 hanno solo 3 pin
(Vcc, GND e dati)
PIN ---> WS2801
5 V -> Potenza (+ 5 V)
CI -> Ingresso segnale orologio
CO -> Uscita segnale orologio
DI -> Inserimento dati
DO -> Uscita dati
GND -> Terra
PIN -> WS2812
5 V -> Potenza (+ 5 V)
CI -> N / A
CO -> N / A
DI -> Inserimento dati
DO -> Uscita dati
GND -> Terra
Passaggio 5: alimentatore

Prima di iniziare qualsiasi progetto di striscia LED, la prima cosa che dovresti pensare è Power Supply.Uno di questi LED RGB contiene 3 LED (rosso, blu e verde). Sappiamo che un singolo LED assorbe circa 20 mA di corrente alla massima luminosità, quindi un singolo LED WS2812 può assorbire 3 x 20 mA = 60 mA alla massima luminosità - bianco.
Posso eseguire direttamente da Arduino?
La risposta è semplicemente NO. Poiché la quantità di corrente richiesta per l'intera striscia sarà molto più di quanto Arduino possa gestire.
È necessario un alimentatore regolato separato per esso. L'alimentatore deve fornire la tensione corretta e in grado di fornire corrente sufficiente. Nella maggior parte delle strisce WS2812, la tensione operativa è di 5 volt DC.
Esempio: per WS2812 matrice 8 x 8 (64 LED) sono necessari 64 x 60 mA = 3840 mA (3, 84 A) in tutti i LED impostati sulla luminosità massima (Colore bianco). Ma non è consigliabile, mantenere la luminosità più bassa per ottenere la massima durata.
Posso consigliare di impostare una luminosità inferiore al 50%. Quindi hai bisogno di 3, 84 x 0, 5 = 1, 92 A.
Quindi, prendendo un po 'di margine, l'alimentazione consigliata è di 5 V / 2 A.
Passaggio 6: preparazione dell'alimentatore




È molto facile controllare la striscia LED WS2812B senza circuiti aggiuntivi e componenti discreti. Se hai un Arduino, un alimentatore da 5 V e pochi cavi jumper, puoi giocare con esso.
Preparazione dell'alimentatore:
Ho usato un alimentatore regolato 5V / 2A per far funzionare i LED NeoPixel.
Abbiamo bisogno di due connessioni GND: una alla striscia LED e l'altra all'Arduino.
Quindi ho saldato due fili al terminale negativo e un filo al terminale positivo della presa CC.
Connessione Arduino:
La connessione Arduino è molto semplice.
Striscia LED DIN -> Arduino D6
Alimentatore GND -> Arduino GND
Se si utilizza l'alimentatore esterno per alimentare sia la striscia LED che Arduino, è necessario collegare l'alimentazione 5V al pin Arduino 5V.
Buone pratiche secondo Adafruit:
1. Aggiunta di un grande condensatore (1000 µF, 6, 3 V o superiore) attraverso i terminali + e -. Ciò impedisce che l'assalto iniziale di corrente danneggi i pixel.
2. L'aggiunta di una resistenza da 300 a 500 Ohm tra il pin di dati del microcontrollore e l'ingresso di dati sul primo NeoPixel può aiutare a prevenire picchi di tensione che potrebbero altrimenti danneggiare il primo pixel. Aggiungi uno tra il tuo micro e NeoPixels.
3. Quando si collega NeoPixels a qualsiasi fonte di alimentazione o microcontrollore in tensione, COLLEGARE SEMPRE LA TERRA (-) PRIMA DI QUALUNQUE ALTRO. Al contrario, scollegare la terra per ultima durante la separazione.
Passaggio 7: guida di una Neo Matrix 8x8





La matrice LED contiene 64 LED RGB che utilizzano il driver WS8211. Ogni pixel è indirizzabile individualmente e avrai bisogno di un solo pin Arduino per controllare tutti i LED.
Nella parte posteriore della matrice ci sono due porte: Input (3pins) e Output (3pins).
La porta di ingresso è collegata all'alimentatore esterno Arduino e 5 V. La connessione è la seguente
Matrix -> Arduino
DIN -> D6
GND -> GND
Matrice -> Alimentazione
5 V ---> 5 V.
GND -> GND
Nota: non dimenticare di collegare il GND sia dell'alimentatore che di Arduino.
Ora accendi il circuito e carica il codice per guardare alcune animazioni. Ho impostato la luminosità dei LED a circa il 30%.
Codice Arduino:
Il codice e le librerie sono allegati nel file zip. Scaricalo. Puoi guardare il video per sapere come usare il software.
allegati
Scarica NeoPixel.zip
Passaggio 8: guida di una MATRIX RGB 8X32 WS2812 flessibile


La matrice flessibile 8x32 è piuttosto interessante, l'ho ordinata da Sparkfun. Puoi creare animazioni, giochi o persino incorporarli in un divertente progetto di e-textiles. Inoltre, grazie al suo supporto flessibile, questa matrice LED può essere piegata e piegata per adattarsi a quasi tutte le superfici curve.
La connessione con Arduino è simile all'altra matrice / striscia LED NeoPixel.
Matrix è dotato di cavi terminali, quindi non è necessario saldare.
Giallo: GND
Rosso: + 5 V.
Verde: dati
Se ti è piaciuto questo articolo, non dimenticare di passarlo!
Seguimi per altri progetti e idee fai-da-te. Grazie !!!