Управление Arduino с помощью ТВ-пульта
Введение
Один интересный способ управлять Arduino - это пульт телевизора. В этом проекте я покажу вам, как вы можете использовать любую из кнопок на стандартном инфракрасном пульте дистанционного управления для активации функций на Arduino.
Необходимые материалы

Микроконтроллер Arduino
Модуль инфракрасного приемника 38 кГц
Моментный переключатель
Резистор 100 кОм
2 x 100 Ом резистор
Зеленый светодиод
Красный светодиод
Реле (5 В 20 мА)
диод
Макет или печатная плата
Провода для перемычек
Загрузка и установка библиотеки IRRemote
В этом проекте используется многопротокольная инфракрасная библиотека, разработанная Кеном Шириффом. Эта библиотека позволяет Arduino как декодировать, так и передавать инфракрасные сигналы, которые используются в большинстве коммерческих систем дистанционного управления. Я настоятельно рекомендую прочитать его учебник о том, как использовать библиотеку.
Вы можете загрузить копию библиотеки IRRemote, перейдя на его страницу GitHub и нажав кнопку «Загрузить ZIP» в правой части страницы.
Затем извлеките все файлы. Переместите папку «IRRemote», которая была извлечена в ваш каталог библиотек Arduino. В последних версиях программного обеспечения Arduino есть еще одна папка, уже находящаяся в каталоге библиотеки под названием «RobotIRremote». У этого есть вложенная папка, которая также называется «IRRemote». Если обе папки находятся в библиотеке, Arduino не будет знать, какой из них ссылаться, и он будет генерировать ошибку. Самый простой способ решить эту проблему - просто удалить папку RobotIRremote. Если вы не хотите его удалять, вы можете войти в подпапки и переименовать все папки, которые вызывают конфликты.

Подключение модуля инфракрасного приемника

Модуль инфракрасного приемника имеет три контакта. Как показано на рисунке ниже, правый штырь подключается к 5V. Центральный контакт подключается к GND. Левый штырь является выходным выводом и подключается к одному из цифровых контактов на Aduino, установленном в режим ввода. Эта конфигурация контактов может отличаться в зависимости от производителя вашей детали. Поэтому всегда проконсультируйтесь с данным изготовителем перед его подключением. Это единственная часть, которая вам нужна для приема инфракрасных сигналов с вашим Arduino. После того, как вы установили эти соединения, вы готовы настроить код.

Код Arduino
Используя этот код, Arduino будет постоянно контролировать выход модуля ИК-приемника. Когда он обнаруживает сигнал с пульта, он декодирует сигнал и преобразует его в числовое значение. Это значение сохраняется в переменной и может использоваться для активации любых функций, которые вы хотите добавить в код. Используя инструмент «Серийный монитор», вы можете увидеть числовые значения, которые генерируются каждой кнопкой на вашем пульте дистанционного управления. После того, как вы знаете значения, все, что вам нужно сделать, это добавить их в свой код и настроить условные операторы, которые будут выполнять требуемые действия всякий раз, когда эта кнопка нажата на пульте дистанционного управления. При написании кода имейте в виду, что многие пульты будут отправлять один и тот же код несколько раз или последовательность кодов каждый раз, когда вы нажимаете кнопку.
Скачать код
Пример проекта

Чтобы лучше проиллюстрировать, как вы можете использовать эту технику с проектами Arduino, вот пример. Я настроил свой Arduino для активации реле всякий раз, когда обнаружен определенный сигнал. Это позволит вам включать и выключать подключенные устройства с помощью пульта дистанционного управления. Я также добавил кнопку «Программа», которая позволила бы мне изменить установленный удаленный код, пока система все еще работает.

Сначала модуль ИК-приемника подключен к 5V, GND и PIN 12. Затем между GND и выводом 10 подключается резистор 100 кОм. Между контактом 10 и 5V подключается мгновенный переключатель. Светодиод и резистор серии 100 Ом подключены как к контакту 8, так и к контакту 7. Наконец, между цифровым выводом 4 и массой подключается реле и обратный диод. В общем случае выходные выводы Arduino не должны выводить более 20 мА. Поэтому, если ваше реле требует более 20 мА, вы должны управлять им с помощью силового транзистора.


Я подключил реле и диод на отдельной плате и заключил их в изолированный проектный корпус. Это позволяет мне безопасно управлять приборами переменного тока.
Затем загрузите прикрепленный код.
Когда вы нажмете кнопку, первый светодиод включится, показывая, что система находится в «режиме программирования». Следующий сигнал, который система получает с пульта, будет сохранен в качестве кода активации. Поэтому выберите кнопку на пульте дистанционного управления, которую вы хотите использовать, и нажмите ее. Когда система получает код, второй светодиод загорится, указывая на то, что код установлен. Теперь, когда вы нажимаете эту кнопку на пульте дистанционного управления, реле включается или выключается.

Следует отметить, что запрограммированные функции будут сброшены, если Arduino выключен. Если вы хотите, чтобы запрограммированная функция была permenant, вы должны записать значения в код.
Скачать код
Попробуйте этот проект сами! Получить спецификацию.