Ик-управление самодельными устройствами

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

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

Давайте попробуем посмотреть, как можно реализовать нечто подобное! Для этого нам нужно загрузить библиотеку IRremote:

После загрузки перейдите к примерам, приложенным к этой библиотеке, и откройте пример под названием IRrecvDemo:

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

Этот код позволяет делать следующее: считывать коды, передаваемые ИК-пультом дистанционного управления.

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

Подключите ИК-приемник к контакту, указанному в вашей схеме:

фото

Приведенный выше пример предназначен для подключения к esp32. Но если есть какие-то излишества, потому что контакт 15 дает сигнал ШИМ при запуске esp32, согласно этой таблице, просто переключите сигнальный провод на другой контакт, согласно приведенной выше таблице.

Читайте:  Как удалить "холодную" сварку с алюминиевой поверхности?

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

Стоит отметить, что некоторые пульты постоянно меняют алгоритмы передаваемых кодов кнопок. Я с этим не сталкивался, но слышал об этом. Так что если вам не повезло и ваш пульт такой, лучше купить другой. Или вы можете устроить мозговой штурм и найти свой алгоритм изменения кода и внедрить его в свой код (но лично мне было бы лень это делать, и я бы просто купил другой пульт 🙂 ).

Этот код вы можете в дальнейшем использовать в своих проектах. То есть, следуя логике "если у вас есть этот код — сделайте его".

На примере ниже я показал, как будет выглядеть, если мы используем код, полученный от приемника, для мигания встроенного светодиода в esp32 (конечно, вы понимаете, что это всего лишь пример, и в действительности он может управлять чем угодно — включать/выключать двигатели, открывать/закрывать рольставни и т.д.).

Но это еще не все! Инфракрасное управление имеет две опции, которые я считаю наиболее интересными:

 

  • оптический канал не глушится в сложных радиоусловиях (или даже специально затухает);
  • возможность собрать действительно миниатюрное и недорогое устройство, которое можно использовать для дистанционного управления, поскольку оно не требует сложных схем, радиосхем;

Ик-управление своими руками.

Думаю, вы уже поняли, к чему я клоню — уйти от популярных плат типа Arduino или esp32 и использовать микроконтроллер напрямую! Конечно, это не совсем корректно, и для стабильности и надежности все еще необходим некоторый интерфейс, но теоретически такое устройство может быть очень крошечным: если мы используем, например, чип Attiny13 и инфракрасный приемник, то все наше устройство может поместиться на кончике пальца! Отличный результат для застройщика — и по размеру, и по цене:

Читайте:  Проверка и ремонт блока розжига ксенона: 4 признака неисправности устройства

 

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

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

Более сжатую версию можно найти по этой ссылке.

Код, показанный выше, делает именно это:

В приведенном выше примере используется ИК-приемник из серии TSOP, а именно TSOP4838.

"TSOP4838" — это модуль ИК-приемника для систем дистанционного управления. Он содержит ИК-фильтр, PIN-диод и предусилитель. Демодулированный выходной сигнал от ИК-приемника может быть подан непосредственно на микроконтроллер/микропроцессор".

 

  • Фотодетектор и предусилитель в одном корпусе.
  • Внутренний фильтр для частот PCM.
  • Улучшенное экранирование для защиты от электромагнитных помех.
  • Диапазон напряжения питания от 2,5 В до 5,5 В.
  • Дальность передачи 45 м.
  • Повышенная устойчивость к внешнему свету.
  • Несущая частота 38 кГц.
  • Направленность 45°.
  • Ток питания 950 мА.
  • Диапазон рабочих температур от -25°C до 85°C.

фото
Источник изображения: radioprog.ru

 

Детали программирования Attiny13 довольно хорошо объяснены здесь, так что вы можете читать дальше.

ИК приемник arduino — управление устройствами с ИК пульта.

Конечно, программирование Attiny13 довольно простое, оно осуществляется на языке C, который может оказаться не совсем "удобным", особенно если вы привыкли работать только в Arduino IDE. С другой стороны, это дает больше возможностей для творчества.

Если все пойдет хорошо, в итоге может получиться что-то вроде корабля с инфракрасным управлением:

Ну, вот и все! Наконец, я хотел бы сказать, что, несмотря на распространение более современных и быстрых способов связи и управления, инфракрасное излучение далеко не устарело и может использоваться во многих областях.

Читайте:  6 способов обновления ванной комнаты советы специалиста

Чтобы получить некоторую информацию, вы можете прочитать эту хорошую обзорную статью о микроконтроллерах AVR.

Еще одну хорошую статью о 4-канальном управлении можно найти здесь.

Удачи вам в строительстве!

P.S. В небольшом отступлении от описываемой темы хочу сказать, что автор рассматривает возможность использования инфракрасного метода связи для создания интересного самодельного "USB-свистка", к которому можно подключить инфракрасный пульт дистанционного управления и который будет управлять переключением видеофайлов в проигрывателе ПК.

UFO прилетел и оставил промо-код для читателей нашего блога здесь:

— 15% скидка на все тарифы VDS (кроме тарифов Warm Up) — HABRFIRSTVDS .