Styring af LED Strip Light ON / OFF og Brightness med enhver fjernbetjening

Prøv Vores Instrument Til At Fjerne Problemer





I dette indlæg skal vi konstruere LED strip controller kredsløb ved hjælp af Arduino, som kan tænde / slukke og reducere / øge lysstyrken på LED'er ved hjælp af almindelig IR (Infrarød) fjernbetjening.



Hvad er LED Strip Light? (For noobs)

Hvis du ikke er fortrolig med LED-striplys, så lad os forstå, hvad det er.

LED-strimler (undertiden kaldet båndlys) er fleksible printkort, der består af en række lyse lysdioder og controller-kredsløb, komponenterne på LED-striben er overfladehugget (SMD).



Det bruges til at dekorere hjem, festlokaler og udendørs i festivalsæsonen osv.

Det har klæbrigt lag på bagsiden, som kan klæbe på vægge, træ eller enhver glat overflade uden behov for klæbemiddel.

Det kommer i forskellige længder, bredde, farver. I dette projekt skal vi styre enfarvet LED-strip. Men hvis du vil kontrollere RGB-farver individuelt, kan du ændre den givne kode og kredsløb.

LED-strips fungerer ved 12V eller 24V afhængigt af specifikationen, men i dette projekt er 24V ikke egnet, da arduino-kort ikke er designet til at håndtere 24V. USB-type LED-strips er også tilgængelige, som kan fungere ved 5V og kun kan bruges i dette projekt efter korrekt modifikation af kredsløbet.

Nu ville du have forstået LED-lysstråle.

LED strip Light har brug for controller kredsløb, som er let tilgængelige på markedet, men de er dyre. I dette projekt konstruerer vi et simpelt og billigt kredsløb, der kan styre LED-striplys via enhver IR-fjernbetjening.

Kredsløbsdiagram:

LED strip lys controller med Arduino

Kredsløbet består af få komponenter: spændingsregulator med koblingskondensatorer, TSOP1738 IR-sensor, MOSFET IRFZ44N, LED-strip og hjerne fra projektet arduino Uno. Du kan vælge dit foretrukne arduino bord til dette projekt.

TSOP1738-sensoren modtager IR-signaler fra fjernbetjeningen og afkoder på en sådan måde, at mikrokontroller kan forstås. N-kanal MOSFET forstærker signalerne fra arduino og føres til LED-strip.

Spændingsregulatoren driver arduino og LED-strip. Sørg for, at din strømforsyning kan levere tilstrækkelig strøm til LED-strip.

Det foreslåede kredsløb er designet til 12V LED-strips, du kan ændre spændingsregulator afhængigt af LED-stripspecifikation. Det tilrådes ikke at bruge en LED-strip, der har en spænding, der er højere end 20V, da arduinos absolutte maksimum er 20V.

Dette kredsløb kan tænde og slukke for LED-stripen, det kan justere lysstyrken op og ned i 5 trin, dette opnås ved at anvende forskellige PWM-signaler på LED-stripen.

Sådan testes

Følg instruktionerne nedenfor for at udføre disse operationer:

• Vælg en hvilken som helst 3 knap på fjernbetjeningen, som du skal styre kredsløbet. Vi har brug for at kende den hexadecimale kode for disse knapper

• Åbn IDE, gå til fil> eksempler> IRremote> IRrecvDemo.

• Tilslut USB til arduino og pc (uden ekstern strøm), når den er afsluttet, og upload koden og åbn seriel skærm.

• Tryk nu på hver knap en gang, du vil se dens hexadecimale kode på seriel skærm og notere den. Disse hexadecimale koder skal uploades med det givne program til arduino.

BEMÆRK:

Det foreslåede kredsløb er designet til styring af enfarvet LED-strip. Hvis du har flerfarvet LED-strip korte RGB-terminaler (giver hvid farve), er resten af ​​kredsløbet det samme.

Programkode:

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

BEMÆRK:
Udskift 0x80C, 0x810 og 0x811 med fjernbetjeningens hexadecimale kode, der starter med '0x'




Forrige: Transistor Stray pickup Falsk udløsende problem Næste: Automatisk madvarmerlampe til hoteller