Controlul luminii de bandă LED ON / OFF și luminozitatea cu orice telecomandă

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest post vom construi un circuit de control al benzii cu LED-uri folosind Arduino, care poate porni ON / OFF și reduce / crește luminozitatea LED-urilor folosind telecomanda IR (infraroșu) obișnuită.



Ce este LED Strip Light? (Pentru noobs)

Dacă nu sunteți familiarizați cu luminile cu benzi LED, să înțelegem ce este.

Benzile cu LED-uri (uneori numite lumini cu bandă) sunt PCB flexibile care constă din serii de LED-uri strălucitoare și circuite de control, componentele de pe banda LED sunt montate pe suprafață (SMD).



Este folosit pentru decorarea caselor, sălilor de petreceri și în aer liber în timpul sezoanelor festivalului etc.

Are un strat lipicios pe partea din spate care se poate lipi pe pereți, lemn sau orice suprafață netedă fără a fi nevoie de adeziv.

Acesta vine la diferite lungimi, lățime, culori, în acest proiect vom controla banda LED cu o singură culoare. Dar dacă doriți să controlați culorile RGB individual, puteți modifica codul și circuitul dat.

Benzile LED funcționează la 12V sau 24V, în funcție de specificații, dar în acest proiect 24V nu este potrivit, deoarece placa arduino nu este concepută pentru a gestiona 24V. Sunt disponibile și benzi LED de tip USB, care pot funcționa la 5V și pot fi utilizate în acest proiect numai după modificarea corectă a circuitului.

Până acum ați fi înțeles despre lumina cu bandă LED.

Banda LED cu lumină are nevoie de un circuit de control care este ușor disponibil pe piață, dar care este scump. În acest proiect vom construi un circuit simplu și ieftin care poate controla luminile cu benzi LED prin orice telecomandă IR.

Diagrama circuitului:

Controler cu bandă LED cu Arduino

Circuitul este format din câteva componente: regulator de tensiune cu condensatori de cuplare, senzor IR TSOP1738, MOSFET IRFZ44N, bandă LED și creierul proiectului arduino Uno. Puteți alege placa arduino preferată pentru acest proiect.

Senzorul TSOP1738 primește semnale IR de la telecomandă și decodează în așa fel încât microcontrolerul să poată fi înțeles. MOSFET-ul cu canal N amplifică semnalele de la arduino și este alimentat pe banda LED.

Regulatorul de tensiune alimentează arduino și banda LED. Asigurați-vă că sursa de alimentare poate furniza o cantitate adecvată de curent pentru banda LED.

Circuitul propus este proiectat pentru benzi LED de 12V, puteți schimba regulatorul de tensiune în funcție de specificația benzii LED. Se recomandă să nu utilizați o bandă LED cu tensiune nominală mai mare de 20V, deoarece maximul absolut al arduino este de 20V.

Acest circuit poate porni și opri banda LED, poate regla luminozitatea în sus și în jos cu 5 pași, acest lucru se realizează prin aplicarea diferitelor semnale PWM pe banda LED.

Cum se testează

Pentru a realiza aceste operațiuni, urmați instrucțiunile de mai jos:

• Alegeți orice 3 butoane de pe telecomandă pe care urmează să le controlați circuitul. Trebuie să știm codul hexazecimal pentru aceste butoane

• Deschideți IDE, accesați fișier> exemple> IRremote> IRrecvDemo.

• După configurarea finalizată, conectați USB-ul la arduino și PC (fără alimentare externă) încărcați codul și deschideți monitorul serial.

• Apăsați fiecare buton o dată, veți vedea codul hexazecimal al acestuia pe monitorul serial și îl veți nota. Acest cod hexazecimal trebuie încărcat cu programul dat în arduino.

NOTĂ:

Circuitul propus este proiectat pentru controlul benzii LED cu o singură culoare. Dacă aveți benzi LED multicolore terminale RGB scurte (oferă culoare albă), restul circuitului este același.

Codul programului:

//---------Program developed by R.Girish---------//
#include
int X
int Y
int output = 9
int W = 5
int receive = 10
IRrecv irrecv(receive)
decode_results Z
void setup()
{
irrecv.enableIRIn()
Y=0
X=255
pinMode(output,OUTPUT)
}
void loop()
{
if (irrecv.decode(&Z))
{
if (Z.value==0x80C) // Hex code for ON/OFF
{
if(Y==0)
{
digitalWrite(output,HIGH)
Y=1
}
else
{
digitalWrite(output,LOW)
Y=0
X=255
}}
if (Z.value==0x811 && Y==1) // Hex code for reducing Brightness
{
if(X-255/W<0)
{
analogWrite(output,X)
}
else
{
X=X-255/W
analogWrite(output,X)
}}
if (Z.value==0x810 && Y==1) // Hex code for increasing Brightness
{
if(X+255/W>255)
{
analogWrite(output,X)
}
else
{
X=X+255/W
analogWrite(output,X)
}}
irrecv.resume()
}}
//---------Program developed by R.Girish---------//

NOTĂ:
Înlocuiți 0x80C, 0x810 și 0x811 cu codul hexazecimal al telecomenzii începând cu „0x”




Precedent: Transistor Stray Pickup False Triggering Problem Următorul: Lampă automată pentru încălzirea alimentelor pentru hoteluri