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 !!!

Articoli Correlati