В этой статье мастер-самодельщик расскажет нам, как он изготовил плату на базе Arduino, которая может управляться с помощью любого универсального ИК-пульта дистанционного управления. Плата имеет 3 реле и может использоваться для управления различной нагрузкой (вентиляторы, освещение и т.д.) мощностью менее 1000 Вт.
Инструменты и материалы:
-Паяльные принадлежности;
-Мультиметр;
-Провода;
-Релейный модуль - 3 шт;
-Транзистор BC547 - 3 шт;
-Оптопара PC817 - 3 шт;
-Atmega328p или Arduino;
-Кристалл 16 МГц;
-Резистор 1 кОм - 9 шт;
-Резистор 10К;
-Конденсатор 22 пФ - 2 шт;
-Конденсатор 100 нФ;
-Винтовые клеммы - 3шт;
-5 мм красный светодиод - 3шт;
-Резистор 100 Ом;
-Печатная плата;
-Батарея 9В;
-Диод 1N4007 - 3 шт;
-ИК-приемник TSOP 1738;
Шаг первый: декодирование сигнал ИК-пульта
Каждая цифра / кнопка ИК-пульта дистанционного управления имеет идентификационный номер. Он выдается микроконтроллером внутри пульта дистанционного управления и передается через ИК-светодиод. Эти данные представлены в виде чередований 0 и 1. Чтобы понять какой код "передается" каждой кнопкой, нужно захватить их и декодировать. Сделать это можно с помощью несложной схемы на базе Ардуино.
Подробней как декодировать любой ИК-пульт с помощью Arduino можно ознакомится по этой ссылке.
Шаг второй: схема и плата
Согласно принципиальной схеме мастер производит монтаж платы. Сначала устанавливает все реле и соответствующие им винтовые клеммы. Затем устанавливает все остальные компоненты: транзистор, оптрон, резисторы, диоды и светодиоды. Используя ту же идею, можно увеличить количество каналов с одного до трех и даже больше. Максимальное количество каналов ретрансляции, которые могут поддерживаться этим методом, - 12.
После блока управления схемой устанавливает микроконтроллер и схему питания. Для этого мастер использует популярный микроконтроллер Arduino Atmega328p- 8bit. Этого более чем достаточно для проекта такого типа, Atmega328p работает на кристалле 16 МГц и также имеет функцию EEPROM (память). EEPROM помогает запоминать последнее состояние реле при отключении или отключении питания.
Наконец, подключает ИК-приемник TSOP-1738 и для считывания значения шестнадцатеричных данных с помощью цифрового входного вывода Arduino. Код точно включает / выключает соответствующее реле, как указано в коде.
Батареи на 9В достаточно для правильного питания схемы. Микроконтроллер и реле работают от 5В, поэтому при использовании 9-вольтовой батареи необходимо использовать регулятор 5В (7805).
Плату можно сделать самостоятельно или заказать ее изготовление промышленным способом. Файлы для изготовления платы можно скачать здесь
.
Шаг третий: работа устройства
Каждая кнопка на ИК-пульте имеет разные шестнадцатеричные числа (код). Если нужно включить / выключить устройство, понадобятся две кнопки ИК-пульта. Одна для включения, другая для выключения того же устройства.
Для включения/выключения 3-х канального реле нужны шесть кнопок. Кроме того, если нужно включить / выключить все устройства одновременно, понадобятся еще две кнопки. Всего на ИК-пульте должно быть 8 кнопок.
При нажатии кнопки на пульте ИК-данные будут захвачены на стороне приемника, и микроконтроллер декодирует данные, немедленно включив / выключив соответствующий контакт.
Этот код управляет только цифровыми выводами Arduino. Для включения / выключения любой нагрузки нельзя напрямую установить реле на какой-либо микроконтроллер без схемы управления и переключения. Вот почему здесь используется комбинация оптопары и транзистора NPN в качестве переключателя для правильного управления реле. Соответствующую библиотека ИК можно загрузить здесь
.
Шаг четвертый: код
Соответствующую библиотека ИК можно загрузить здесь
Этот код написан для 4-х канального реле, но он отлично работает и на этой плате 3-канального реле.
Код можно скачать ниже.
Все готово.
В будущих обновлениях мастер планирует сделать эту схему более компактной и увеличить скорость микроконтроллера - просто заменив ее версией STM. Так же планируется функция EEPROM в коде и возможность подключения Bluetooth или Wi-Fi.
Источник (Source)
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Бесконтактный диспенсер для конфет на Arduino
