Управление включением / выключением светодиодной ленты и яркостью с любого пульта дистанционного управления

Попробуйте наш инструмент устранения неполадок





В этом посте мы собираемся построить схему контроллера светодиодной ленты с использованием Arduino, которая может включать / выключать и уменьшать / увеличивать яркость светодиодов с помощью обычного ИК (инфракрасного) пульта дистанционного управления.



Что такое светодиодная лента? (Для новичков)

Если вы не знакомы со светодиодными лентами, давайте разберемся, что это такое.

Светодиодные ленты (иногда называемые ленточными лампами) представляют собой гибкую печатную плату, которая состоит из серии ярких светодиодов и схем контроллера, компоненты на светодиодной полосе имеют поверхностную форму (SMD).



Он используется для украшения домов, комнат для вечеринок и на открытом воздухе во время фестивалей и т. Д.

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

Она бывает разной длины, ширины, цвета, в этом проекте мы будем управлять одноцветной светодиодной лентой. Но если вы хотите управлять цветами RGB индивидуально, вы можете изменить данный код и схему.

Светодиодные ленты работают при напряжении 12 В или 24 В в зависимости от спецификации, но в этом проекте 24 В не подходят, поскольку плата Arduino не предназначена для работы с 24 В. Также доступны светодиодные ленты USB-типа, которые могут работать при напряжении 5 В и могут быть использованы в этом проекте только после соответствующей модификации схемы.

К настоящему времени вы бы уже поняли, что такое светодиодная лента.

Светодиодная лента нуждается в схемах контроллера, которые доступны на рынке, но стоят дорого. В этом проекте мы построим простую и недорогую схему, которая может управлять светодиодными лентами через любой ИК-пульт.

Принципиальная электрическая схема:

Контроллер светодиодной ленты с Arduino

Схема состоит из нескольких компонентов: стабилизатор напряжения с конденсаторами связи, ИК-датчик TSOP1738, MOSFET IRFZ44N, светодиодная лента и мозг проекта Arduino Uno. Вы можете выбрать свою любимую плату Arduino для этого проекта.

Датчик TSOP1738 принимает ИК-сигналы от пульта дистанционного управления и декодирует их таким образом, чтобы микроконтроллер мог их понять. N-канальный MOSFET усиливает сигналы от Arduino и поступает на светодиодную ленту.

Регулятор напряжения питает ардуино и светодиодную ленту. Убедитесь, что ваш блок питания может обеспечить достаточное количество тока для светодиодной ленты.

Предлагаемая схема предназначена для светодиодных лент на 12В, в зависимости от спецификации светодиодной ленты можно менять регулятор напряжения. Не рекомендуется использовать светодиодную ленту с номинальным напряжением выше 20 В, поскольку абсолютный максимум для Arduino составляет 20 В.

Эта схема может включать и выключать светодиодную ленту, она может регулировать яркость вверх и вниз на 5 шагов, это достигается путем подачи различных сигналов ШИМ на светодиодную ленту.

Как протестировать

Для выполнения этих операций следуйте инструкциям, приведенным ниже:

• Выберите любые 3 кнопки на пульте дистанционного управления, которыми вы собираетесь управлять схемой. Нам нужно знать шестнадцатеричный код этих кнопок.

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

• После завершения настройки подключите USB к Arduino и ПК (без внешнего питания) загрузите код и откройте последовательный монитор.

• Теперь нажмите каждую кнопку один раз, вы увидите шестнадцатеричный код на последовательном мониторе и запишите его. Этот шестнадцатеричный код необходимо загрузить с данной программой в arduino.

ПРИМЕЧАНИЕ:

Предлагаемая схема предназначена для управления одноцветной светодиодной лентой. Если у вас есть короткие выводы 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».




Предыдущая: Проблема с ложным срабатыванием транзисторного датчика Следующая статья: Лампа для автоматического подогрева пищи для гостиниц