Управление на включена / изключена светлина на LED лента и яркост с всяко дистанционно управление

Опитайте Нашия Инструмент За Премахване На Проблемите





В този пост ще изградим верига на контролер за LED ленти, използвайки Arduino, която може да включва / изключва и намалява / увеличава яркостта на светодиодите, използвайки обикновено IR (инфрачервено) дистанционно управление.



Какво е LED лента? (За noobs)

Ако не сте запознати с LED лентовите светлини, нека разберем какво представлява.

LED лентите (понякога наричани лентови светлини) са гъвкави печатни платки, които се състоят от серия от ярки светодиоди и контролни схеми, а компонентите на LED лентата са повърхностно нанесени (SMD).



Използва се за декориране на домове, парти зали и на открито по време на фестивални сезони и т.н.

Той има лепкав слой от задната страна, който може да залепва по стени, дърво или всякаква гладка повърхност без нужда от лепило.

Той се предлага с различни дължини, ширина, цветове, в този проект ще контролираме едноцветна LED лента. Но ако искате да контролирате RGB цветовете поотделно, можете да промените дадения код и схема.

LED лентите работят при 12V или 24V в зависимост от спецификацията, но в този проект 24V не е подходящ, тъй като платката arduino не е проектирана да обработва 24V. Предлагат се и LED ленти от тип USB, които могат да работят при 5V и могат да се използват в този проект само след правилна модификация на веригата.

Досега бихте разбрали за LED лента Light.

LED лента Light се нуждае от контролер, който е лесно достъпен на пазара, но е скъп. В този проект ще изградим проста и евтина схема, която може да управлява LED лентовите светлини чрез всяко IR дистанционно.

Електрическа схема:

LED лентов контролер за светлина с Arduino

Схемата се състои от няколко компонента: регулатор на напрежение с кондензатори за свързване, IR сензор TSOP1738, MOSFET IRFZ44N, LED лента и мозък на проекта arduino Uno. Можете да изберете любимата си дъска за arduino за този проект.

Сензорът TSOP1738 получава IR сигнали от дистанционното и декодира по такъв начин, че микроконтролерът да може да разбере. N-каналният MOSFET усилва сигналите от arduino и се подава към LED лента.

Регулаторът на напрежение захранва arduino и LED лента. Уверете се, че вашето захранване може да достави достатъчно количество ток за LED лента.

Предложената схема е предназначена за 12V LED ленти, можете да промените регулатора на напрежението в зависимост от спецификацията на LED лентата. Препоръчително е да не се използва LED лента с напрежение по-високо от 20V, тъй като абсолютният максимум на arduino е 20V.

Тази схема може да включва и изключва LED лентата, тя може да регулира яркостта нагоре и надолу с 5 стъпки, това се постига чрез прилагане на различни PWM сигнали към LED лента.

Как да тествате

За да изпълните тези операции, следвайте инструкциите, дадени по-долу:

• Изберете произволни 3 бутона на дистанционното, с които ще управлявате веригата. Трябва да знаем шестнадесетичния код за тези бутони

• Отворете IDE, отидете на файл> примери> IRremote> IRrecvDemo.

• След завършена настройка свържете USB към arduino и компютър (без външно захранване) качете кода и отворете сериен монитор.

• Сега натиснете веднъж всеки бутон, ще видите шестнадесетичния му код на серийния монитор и ще го запишете. Тези шестнадесетични кодове трябва да бъдат качени с дадената програма в arduino.

ЗАБЕЛЕЖКА:

Предложената схема е предназначена за управление на едноцветна LED лента. Ако имате многоцветни LED ленти къси RGB терминали (дава бял цвят), останалата част от веригата е същата.

Код на програмата:

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

ЗАБЕЛЕЖКА:
Заменете 0x80C, 0x810 и 0x811 с ​​шестнадесетичния код на дистанционното, започвайки с „0x“




Предишен: Транзисторен разсеян пикап Фалшив задействащ проблем Напред: Автоматична лампа за затопляне на храна за хотели