Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Создайте свою собственную светодиодную ленту с дистанционным управлением для индивидуального освещения комнаты!
Большинство светодиодных лент RGB управляются с помощью инфракрасного пульта дистанционного управления. Чтобы выключить, включить или изменить цвет, вы должны находиться перед приемником. Это скучно и не очень умно. Чтобы управлять светом более холодным способом, я разработал плату с дистанционным управлением, чтобы установить правильный цвет полосы. Код RC может быть отправлен с Raspberry Pi, подумайте о IFTTT. Это намного умнее, чем ИК-пульт.
Вещи, которые нужно:
- rgb-led-strip, например, это поможет
- ATTiny85
- Приемник 433 МГц (и опционально отправитель)
- Регулятор 5в (L7805)
- 3 NPN транзистора, я использовал массив darlingtonarray
- Конденсатор 1 мкФ
- Конденсатор 10 мкФ
- Блок питания 12в
- полоса монтажная плата
- несколько проводов
- Программатор ATTiny, arduino-mega или arduino-uno
- опционально Raspberry Pi для отправки сигналов
Шаг 1: припаяйте печатную плату
Если у вас есть все компоненты, вы должны припаять печатную плату.
Для светодиодной ленты требуется 12 В, ATTiny и приемника радиоуправления - 5 В, из-за чего схема получает 12 В.
Для ATTiny и приемника RC я использую регулятор 5 В, моя схема была вдохновлена sooraj619
Плата переключает три цвета: красный, зеленый и синий на светодиодную полосу за 3 мс. Каждый цвет в правильном процентном соотношении для достижения указанного цвета. Поскольку продолжительность расписания составляет 3 мс, вы не видите переключения трех цветов: красный, зеленый и синий, но вы видите только правильный цвет (например, желтый, смешанный с красным и зеленым). В моем наборе инструментов был массив darlingtonarray, поэтому я использовал этот массив для переключения цветов. Вы можете использовать любые NPN-транзисторы.
Не забудьте антенну диаметром 17 см на приемнике.
Шаг 2: прошейте ATTiny
Пришло время прошить ATTiny правильным arduino-скетчем.
Для прошивки микроконтроллера я использовал arduino ide. У меня нет программатора, поэтому я использовал свою ардуино-мега. Вы можете использовать свой arduino-uno или arduino-mega для прошивки ATTiny, как описано здесь или здесь
В скетче для приема сигнала используется библиотека rc switch, вы можете скачать ее здесь.
Библиотека переключателей rc была написана для плат Arduino, поэтому в ней используются некоторые подпрограммы, недоступные в микроконтроллере ATTiny. Из-за ATTiny строки с 153 по 165 очень радикально инициализируют прерывание. Вы также должны сделать метод handleInterrupt из «частного» в «общедоступный» в библиотеке переключателей rc.
Шаг 3. Отправьте код со своего Raspberry Pi
Пришло время включить свет.
Чтобы отправить сигнал, вы должны подключить rasperry pi к отправителю rc. Несколько веб-сайтов демонстрируют отправку rc-кодов с помощью raspberry pi. Например здесь, здесь и здесь. На изображении показана светодиодная лента за экраном телевизора, но это фотомонтаж из трех изображений с одним цветом.
Минимальная программа на c для отправки кода может выглядеть следующим образом:
#include "RCSwitch.h" #include
#включают
int main (int argc, char * argv ) {
int PIN = 0;
int сообщение = atoi (argv [1]);
если (wiringPiSetup () == 1) возврат 1;
printf ("отправка сообщения [% d] n", сообщение);
RCSwitch mySwitch = RCSwitch ();
mySwitch.enableTransmit (PIN);
mySwitch.send (сообщение, 32);
}
Цвет кодируется целочисленным значением с 4 байтами. Самый левый байт должен быть равен 10, см. 178 в скетче. Следующие три байта содержат интенсивность цвета для каждого цвета (красного, зеленого и синего).
Чтобы установить зеленый свет с интенсивностью 66%, введите команду: sudo sendInt 167815680, где sendInt - это скомпилированная выше программа.
Выключите светодиод командой: sudo sendInt 167772160
Представьте себе возможности с IFTTT, например, 3-секундный синий свет для электронной почты, зеленый для уведомления в календаре Google. Это немного умнее, чем нажимать ИК-пульт перед ресивером;)
Шаг 4: Создайте корпус
Создайте корпус из 3D-печати.
В конструкции есть отверстие для кабеля питания и зазоры в верхней части для подключения светодиодной ленты.
Я использовал Fusion 360 для проектирования корпуса и экспортировал результат в виде файла.step.
Netfabb позволяет тесселяцию, а также подготовку к работе над сборкой. Я прикрепил 3mf, который содержит верх и низ корпуса. Netfabb также поддерживает создание gcode.
Наконец, я использовал prusa i3 mk2 для печати корпуса.