Striscia RGB LED indirizzabile.

Progetto "Direction indicators".

Schema di connessione dei componenti (Figura 1).

                                                                                                        Figura 1

Schema in FLProg.

Cominciamo con come funziona il circuito e impostiamo i valori di ciascun blocco nel circuito (Figura 2).

                                                                                                     Figura 2 

Blocchi di input

Ci sono tre blocchi di input sul diagramma "Left", "Emergency" e "Right". Quando si creano blocchi per input che saranno collegati a pulsanti con contatti fisici è necessario spuntare le caselle "Pull-up resistor" e "Protection form bounce" e convertire l'output nel blocco trascinato nello schema. Affinché i blocchi di input funzionino, creiamo una catena logica di tre blocchi "OR" (i blocchi "OR" non hanno parametri) (Figura 2).

Generatore di impulsi.

Il generatore di impulsi è costituito da un blocco timer e da un blocco generatore.
Impostazioni blocco timer (ritardo di spegnimento 100ms per lo spegnimento di tutti i LED*) (Figura 3):
Type: TOF(off-Delay) - ritardo per lo spegnimento.
Delay: Constant in Milliseconds (100ms*)
*Questo valore può essere modificato per un risultato migliore, fai esperimenti.

                                                                                                   Figura 3

Impostazioni blocco generatore (multivibratore simmetrico, intervallo 10 ms*) (Figura 4):

Generator type: Symmetrical multivibrator
Pulse length: Constant in Milliseconds (10ms*)
*Questo valore può essere modificato per un altro risultato, fai esperimenti.

                                                                                                   Figura 4

Blocchi "Counter from initial→maximum value". 

Contatore che conta dal valore iniziale al valore massimo specificato, nell'intervallo di tempo dal generatore.
Impostazioni: scegli il parametro e imposta il valore nel campo "Value" (Figura 5).
Nel progetto sono presenti 40 LED suddivisi in 4 strisce da 10 LED (Figura 1), sono numerati da 0 a 39.
Count_Init→Max 1: Initial value = 0, Maximum value = 9
Count_Init→Max 2: Initial value = 10, Maximum value = 19
Count_Init→Max 3: Initial value = 20, Maximum value = 29
Count_Init→Max 4: Initial value = 30, Maximum value = 39 

                                                                                                   Figura 5

Blocchi "Addressable RGB LED strip".

Partiamo dai parametri generali, apriamo la cartella e qui impostiamo la quantità di LED RGB utilizzati nel progetto, impostiamo il pin a cui sono collegati, la modalità di impostazione del colore, il tipo di bitstream*, la frequenza* e la luminosità del LED. I parametri generali vengono impostati una sola volta nel progetto (Figura 6).
*Questi parametri dipendono dal tipo di LED RGB indirizzabili utilizzati nel progetto, vedere la scheda tecnica del prodotto utilizzato.

                                                                                                    Figura 6 

Parametri di ogni istanza.

Modalità costante o input.
Qui dobbiamo attivare l'input "NumberLED", lasciando come costante il ​​resto dei parametri (Figura 7).

                                                                                                    Figura 7 

Parametri di istanza.

Qui impostiamo la luminosità di ogni colore. In questo progetto abbiamo bisogno di un colore arancio (dalla tabella dei colori RGB OrangeRed1 : R-255, G-69, B-0) (Figura 8).

                                                                                                   Figura 8 

Altri blocchi "Addressable RGB LED strip" devono essere impostati allo stesso modo o copiati.

Scarica il file "Direction indicators".

Caratteristiche di connessione del LED RGB indirizzabile.

Ci sono diverse varietà di strisce RGB LED indirizzabili, basate su diversi LED. Considera una linea di controller cinesi chiamata WS28XX. Ora sono popolari due tipi di nastro: sui controller WS2812b e WS2811 (e il nuovo WS2818). Qual è la loro differenza? Il controller WS2812 è posizionato all'interno del LED, quindi un controller controlla il colore di un diodo e il nastro è alimentato da 5 volt. I controller WS2811 e WS2818 si trovano separatamente e 3 LED sono controllati da esso contemporaneamente, quindi puoi controllare il colore da segmenti di 3 diodi. La tensione di alimentazione per tali nastri è di 12-24 Volt.

Il nastro è "intelligente" ed è controllato da uno speciale protocollo digitale. Ciò significa che se si collega semplicemente l'alimentazione al nastro, non accadrà assolutamente nulla, ovvero non è possibile controllare il nastro senza un controller di controllo. Se tocchi l'ingresso digitale del nastro, molto probabilmente alcuni LED si illumineranno con colori casuali, perché introduci rumore casuale, che viene percepito dai controller del diodo come comandi. Per controllare il nastro vengono utilizzati controller già pronti, ma è molto più interessante guidare manualmente il nastro, utilizzando, ad esempio, la piattaforma Arduino, per la quale il nastro deve essere collegato correttamente. Ed ecco alcuni punti critici:

  • I comandi nel nastro vengono trasmessi da diodo a diodo. Il nastro ha un inizio e una fine, la direzione del movimento dei comandi su alcuni modelli è indicata dalle frecce. Ad esempio, considera WS2812B, ha tre contatti. Due per l'alimentazione (5V e GND), ma il terzo (per il controllo) all'inizio del nastro è chiamato DI (ingresso digitale) e alla fine - DO (uscita digitale).
  • Se è possibile una situazione nel circuito in cui l'alimentazione a 5 V non viene fornita al nastro, ma viene inviato un segnale dal microcontrollore, il nastro inizierà ad essere alimentato dal pin dati. In questo caso, sia il primo LED nel nastro che il pin del controller potrebbero bruciarsi. Non sfidare la fortuna, collega un resistore da 200-500Ω (precisione e potenza del resistore, qualunque) tra i pin del controller e l'ingresso digitale del nastro (DI) (Figura 1).
  • Se c'è una grande distanza tra il nastro e il controller, ad es. cavi lunghi (più lunghi di 50 cm), quindi il filo del segnale e la terra devono essere attorcigliati per proteggere dalle interferenze, poiché il protocollo di comunicazione del nastro è abbastanza veloce (800kHz), è fortemente influenzato dalle interferenze esterne e lo schermo con la terra lo farà aiuta ad evitarlo. Senza questo, si può osservare quanto segue: il nastro non funziona finché non si tocca il filo del segnale con la mano.
  • Quando si collega il nastro ai microcontrollori con logica 3.3V (esp8266, ESP32, STM32), si verifica un problema: il nastro è alimentato da 5V e il segnale ricevuto 3.3V. La scheda tecnica indica la differenza massima tra l'alimentazione e il segnale di controllo, se viene superata, il nastro non funzionerà o funzionerà in modo instabile. Per risolvere la situazione è possibile inserire un convertitore di livello da 3,3 a 5 V sul segnale di controllo.
  • Il punto più importante, che chissà perché tutti ignorano: il segnale digitale viaggia su due fili, quindi il filo del segnale non è sufficiente per trasmettere, il secondo filo è GND. Il pin GND del nastro e il pin GND di Arduino devono essere collegati.
  • Alimentazione. Un colore di un LED alla massima luminosità consuma 12mA. Ci sono tre colori in un LED, totale ~36mA per diodo. Supponiamo di avere un metro di nastro con una densità di 60 diodi/metro, quindi 60 * 36=2.1A alla massima luminosità del bianco, rispettivamente, è necessario prendere un alimentatore in grado di gestirlo. Devi anche pensare a come funzionerà il nastro. Se parliamo di modalità di tipo "arcobaleno", la potenza può essere considerata la metà del massimo. Continuando il tema dell'alimentazione, voglio sottolineare l'importanza della qualità delle prese di saldatura (collegamento di un filo a un nastro, collegamento dello stesso filo a un alimentatore), nonché dello spessore dei fili. Come dimostra la mia esperienza, devi prendere un filo con una sezione trasversale di almeno 1,5mm² se hai bisogno della piena luminosità. Esempio: su filo 0,75mm². a una lunghezza di 1,5 metri con una corrente di 2A, caduta di tensione e di 0,8V, che è critica per un'alimentazione a 5 volt. Il primo segno di un calo di tensione: il colore bianco impostato dal programma non brilla bianco, ma irradia giallo/rosso.  Più rosso, più cadute di tensione!
  • Un nastro lampeggiante crea interferenze sulla linea di alimentazione e se il nastro e il controller sono alimentati dalla stessa fonte, l'interferenza va al microcontrollore e può causare instabilità, anomalie e persino riavvii (se l'alimentatore è debole). Per appianare tali interferenze, si consiglia di installare un condensatore elettrolitico da 6,3V con una capacità di 470μF per alimentare il microcontrollore, nonché un condensatore da 1000 o 2200μF per alimentare il nastro. Sono facoltativi, ma altamente consigliati. Se noti blocchi e anomalie nel sistema (Arduino + nastro + altro hardware), il motivo del 50% è solo l'alimentazione (Figura 1).
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia