Управляем Ардуино ИК пультом.
ссылка на канал YOUTUBE
Сегодня мой рассказ будет как собрать пульт на Ардуино
Всего одной кнопкой на пульте можно включить сразу несколько устройств.
Например, включить одновременно телевизор, компьютер, вентилятор, и выключить свет.
А можно выключить сразу всё и лечь спать.
Для удобства просмотра подключим семисегментный светодиодный (LED) индикатора к Ардуино для вывода нажатия кнопки.
Посмотрим, что у нас получилось. Мы подключили ИК приёмник к Ардуино, подключили семисегментный индикатор, блок реле, и электромоторчик.
Вложенные файлы.
Новости
На выставке CES 2020 также было представлено новое поколение плат Arduino Portenta. Оно было разработано на требовательные промышленные приложения. Portenta H7 поддерживает код Arduino, Python и JavaScript, что делает его доступным для разработчиков с различными знаниями языков .
Теперь можно управлять ЛЮБЫМ прибором с помощью одного пульта ДУ! Одна из самых полезных самоделок!
Производитель Arduino запускает новую серию плат Nano — Arduino Nano 33 BLE. Платы имеют те же размеры, что и плата Ардуино Нано, на чипе U-blox NINA-B306 с микроконтроллером Nordic nRF52840 и беспроводным модулем Bluetooth BLE
Источник: arduino-kid.ru
Универсальный IR пульт своими руками
Сегодня я задумал сделать ИК пульт на Ардуино.
Давайте определимся с аббривиатурой «ИК».
ИК — в расшифровке означает Инфракрасный.
Что такое инфра и почему оно красное, если его не видно?
Все дело в спектре цвета, который мы видим и нет:
Инфра означает выше чем что-либо, значит инфракрасный — это выше чем красный.
Взгляните на рисунок, там показаны длины волн, так вот длины волн, значение которых выше чем 700, по рисунку, и есть ИК (IR) излучение.
Но зачем же требуется мой пульт:
- если основной пульт утерян, а устройство популярного типа, то можно с помощью всем известных кодов восстановить его;
- копирование пульта. Это нужно в тех случаях, когда вам нужно отдавать кому-то путь, но при этом требуется и самому доступ к дистанционному управлению этого устройства;
- управление ИК пультом в остальных Ардуино-проектах с доступом к настройке кодов.
Коды. Коды. Так что же такое информационные коды для пульта?
Коды ИК пульта — это порядок цифр, тактируемый передатчиком и принимающийся приемником.
Чаще всего они передаются в 16-символьной системе счисления.
Для того, что бы Ардуино понимала, что это не набор символов, а число в 16-символьной системы счисления, нужно к коду добавлять приписку 0x, думаю это мы уяснили.
Что из себя представляет передатчик ИК кода?
Это устройство, похожее на обычный светодиод, но при подключении питания — не светит.
И тут возникает вопрос: как же проверить такой ИК светодиод? Ответ прост.
Мы, люди, не видим ИК излучение, но зато его отлично видят камеры наших устройств. Для того что бы проверить такой светодиод, нужно:
- Подать напряжение на его катод и анод соответственно.
- Навести камеру любого устройства, имеющую ее.
- Посмотреть: если светит, то светодиод рабочий и наоборот.
Как получить эти ИК коды? Для этого нужно устройство, о котором мы в целом говорить сейчас не будем, это будет рассмотрено в следующей моей статье.
Итак, я преступил к реализации своей идеи.
Как и остальные мои проекты, этот считается бюджетным, так как практически не нуждается в затратах на компоненты. Нам понадобится:
- 4 тактовые, нормально разомкнутые, кнопки.
- ИК светодиод (его можно достать из старых пультов).
- любой светодиод (у меня красный), для сигнализации
- Резистор на 220 Ом.
- Ардино нано (или любая другая, которая Atmega 328).
- Аккумулятор и к нему плата TP4056.
Вскоре продолжил собирать все вот по этой схеме:
Но в этот раз я решил начать с корпуса свою сборку. Найдя такую пластмаску, я понял, что из этого может получиться отличный корпус:
После я просверлил отверстия для кнопок:
Там то и будут находиться мои 4 тактовые кнопки. Их я решил приклеить на термоклей, это очень удобно.
Но мои кнопки были слишком коротки, поэтому я решил использовать винт от винтового зажима:
Немного откусив их, чтобы не были такими длинными, я их приклеил к кнопкам, вот что получилось:
На этом же фото вы можете видеть отверстие, которое нужно для сигнализирующего светодиода.
Был также вырезан вход для USB штекера, чтобы заряжать аккумулятор:
И да, отверстие для ИК светодиода, тоже было вырезано:
Мне, ради компактности устройства, пришлось отрезать уголки плате TP4056:
Наконец можно собирать остальную часть.
Собрав все по схеме, это выглядело так:
Этот процесс был не таким уж и долгим, но очень кропотливым, а чтобы вам не возиться со всей этой мелочью, была разведена плата:
Посмотреть ее вновь и получить гербер-исходники можно в моем гугл-диске, который находится ниже.
Теперь можно перейти к программной части, этот проект построен на библиотеке iarduino_IR_TX.h и на паре других, они будут на гугл-диске.
Я сделал небольшую программу и сейчас объясню ее работу.
Есть 3 вкладки:
- Основная, там происходят все процессы.
- Подсобная, нужна для разработчиков.
- Хранятся ваши странички с кодами.
Там есть образец и, сравнивая их с другими страничками, можно составить коды для своего устройства.
Конечно, по аналогии и с другими страничками, надо менять ее номер, меняется он тут:
Вместо цифры 4, другая цифра.
Когда добавляете новую функцию, добавьте новый case и номер который идет следующим, от прошлого числа.
Вот я и рассказал вам о своем проекте, следите за новостями в моем инстаграмме (там все подробности, а также находится актуальная информация про новые изобретения), с вами был Robozit, всем пока!
ссылка на Инстаграмм
ссылка на гугл диск
Не пропустите обновления! Подписывайтесь на нашу группу Вконтакте.
Так же у нас есть Telegram канал.
Вам понравился наш материал? Поделитесь с коллегами!
Источник: tehnopage.ru
Эксперимент №14. ИК пульт ардуино дистанционного управления
Давайте теперь научимся управлять электроникой дистанционно. Самый простой и доступный способ – с помощью инфракрасного пульта дистанционного управления. Такой способ дистанционного управления крайне распространен и привычен каждому.
Благодаря своей дешевизне, простоте, экономичности и универсальности, ИК пульт всегда будет занимать свое место среди устройств дистанционного управления, наряду с Bluetooth, радио, и WiFi.
Принцип действия
ИК-приемник на Ардуино способен принимать и обрабатывать инфракрасный сигнал, в виде импульсов заданной длительности и частоты.
Под воздействием инфракрасного излучения в фотодиоде начинает течь ток. Сигнал поступает на встроенный усилитель и далее – на полосовой фильтр, настроенный на фиксированную частоту, который защищает приемник от помех.
Чтобы сигнал от пульта ДУ принимался ИК приемником Ардуино, пульт должен быть настроен на соответствующую частоту. Поэтому не каждый пульт ДУ подойдет для нашего ИК приемника.
Схема подключения
Разберем на распиновку ИК приемника. Традиционный ИК-приемник имеет три контакта:
- Питание (VCC, 5V)
- Земля (GND)
- Данные (выходное напряжение, VOUT)
Для удобства можно использовать и готовые модули ИК приемника, которые дополнят ИК приемник RC-фильтром.
Давайте же соберем что-нибудь!
Задача
Светодиод, управляемый дистанционно.
Необходимые компоненты
Итак, нам понадобится:
- 1 пульт ДУ. Подойдет практически любой ИК пульт дистанционного управления.
- Плата Ардуино, макетная плата, перемычки
В качестве светодиода будем использовать встроенный светодиод ардуино.
Схема сборки
Соберем такую схему:
Скетч
Для работы нашего скетча нам понадобится специальная библиотека – Arduino-IRremote, которую потребуется установить.
Загрузим в ардуино такой скетч:
/** * (C) jarduino.ru * * Эксперимент № 14. ИК пульт дистанционного управления * * Эксперименты с ардуино. * Управление arduino с помощью ИК пульта ДУ */ #include // подключаем библиотеку для ИК приемника // Константы программы const int irPin = A0; // аналоговый порт для ИК приемника const int ledPin = 13; // порт для светодиода // Глобальные переменные bool ledState = false; IRrecv irRec(irPin); // Инициализируем объект ИК приемника decode_results irData; // переменная для получения данных от ИК приемника void setup() < Serial.begin(9600); // Иницилизация последовательного порта, для вывода отладочной информации irRec.enableIRIn(); // запускаем прием инфракрасного сигнала pinMode(ledPin, OUTPUT); >void loop() < if (irRec.decode( // Данные пришли — анализируем, выполняем команды с пульта: Serial.println(irData.value); // выводим полученные данные на порт if (irData.value == 16738455) // соответветствует цифре 1 на пульте < ledState = !ledState; // переключить состояние светодиода digitalWrite(ledPin, ledState); // обновить состояние светодиода >irRec.resume(); // принимаем следующий сигнал на ИК приемнике > delay(100); // небольшая пауза, 0,1 сек. >
Результат
Если вы используете типовой пульт ДУ для ардуино, то нажимайте на кнопку 1, и встроенный светодиод будет то зажигаться, то гаснуть.
Если вы используете какой-то другой пульт, то программу потребуется настроить на код нажимаемой вами кнопки. Для этого программа выводит все коды, получаемые от пульта.
Объяснение
Для работы с пультом нам потребуется объявить два объекта: типа IRrecv – для приемника и типа decode_results – для разбора полученных приемником данных.
IRrecv irRec(irPin); // Инициализируем объект ИК приемника
decode_results irData; // переменная для получения данных от ИК приемника
При объявлении объекта приемника вы должны указать аналоговый порт, к которому подключен приемник.
Чтобы приемник начал работать на прием, необходимо его включить. Мы это делаем в функции setup():
irRec.enableIRIn(); // запускаем прием инфракрасного сигнала
Метод decode() позволяет получить данные от приемника.
irRec.decode(
Если decode() возвращает значение > 0, то сигнал поступил, и его можно проанализировать.
Чтобы понять какой именно сигнал получил, мы анализируем свойство value объекта данных:
if (irData.value == 16738455) // соответветствует цифре 1 на пульте
Чтобы продолжить получение данных, надо вызвать метод resume():
irRec.resume(); // принимаем следующий сигнал на ИК приемнике
Заключение
Теперь вы умеете управлять устройством Ардуино не вставая с дивана ?. Не нужно разводить кнопки. Или кнопки можно просто продублировать пультом.
Если вы уже знаете как работать с реле и силовым ключом, то вы можете сделать дистанционное включение и выключение чего угодно – освещения, аквариума, входной двери и т.п.
Posted in Эксперименты с Ардуино | Tagged ИК пульт | 4 комментария
4 Replies to “Эксперимент №14. ИК пульт ардуино дистанционного управления”
- GreggHat13.10.2019 at 13:22 Полезно
- jarduino Post author 09.02.2020 at 20:21 Очень рад
- jarduino Post author 23.11.2020 at 10:45 Схема на месте. Извините, потерялась после переноса на новую платформу )
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Свежие записи
- Защищено: Загрузка прошивки
- Синхронная розетка для пылесоса и струшкоотсоса в мастерскую своими руками на ардуино
- Множим выходы Ардуино, сдвиговый регистр 74HC595
- Эксперимент №15. Аналоговые порты ардуино и потенциометр
- Скетч не загружается в Ардуино. Что делать?
Свежие комментарии
- jarduino к записи Как загрузить HEX прошивку Ардуино
- Andrey Master к записи Как загрузить HEX прошивку Ардуино
- jarduino к записи Умная зимняя удочка
- Mel к записи Умная зимняя удочка
- jarduino к записи Умная зимняя удочка
Источник: jarduino.ru