- Необходимые компоненты:
- Рабочее объяснение:
- Принципиальная электрическая схема:
- Расшифровка сигналов ИК-пульта дистанционного управления с использованием Arduino:
- Сборка Android-приложения для IR Blaster:
Я начал этот проект, чтобы избавиться от различных пультов дистанционного управления в моем доме и построить что-то одно, что могло бы включать в себя функции всех из них. У меня возникла эта идея, когда я увидел мобильный телефон одного из моих друзей со встроенным ИК-передатчиком. Тогда я решил не покупать аналогичный телефон, а сделать свое собственное устройство, которое должно быть совместимо с моим существующим телефоном. Итак, здесь мы собираемся преобразовать телефон Android в ИК-пульт с помощью Arduino для управления различными устройствами дома.
Необходимые компоненты:
- Ардуино Уно
- ИК-светодиод
- Приемник TSOP-IR (1838T)
- Модуль Bluetooth (HC05)
- Устройство Android (телефон, планшет и т. Д.)
Рабочее объяснение:
Обычно мы используем два пульта дистанционного управления для управления телевизором дома, один для телевидения и один для телевизионной приставки, поэтому в этом проекте я нацелен на эти два пульта и заставляю телефон Android работать как ИК-бластер, чтобы телевизором можно было управлять с телефона., не касаясь ни одного из пультов.
Использование платы Arduino Uno упростило мне работу с частью ИК-декодирования и кодирования. Изготовленный на заказ щит просто добавляет удобства в этом проекте. Экран состоит из ИК-приемника TSOP (1838T), ИК-светодиода и модуля Bluetooth (HC-05), см. Изображение ниже:
Вы можете либо построить собственный экран, либо напрямую подключить компоненты к Arduino, как показано на «Принципиальной схеме» в разделе ниже.
Прежде чем двигаться дальше, давайте сначала обсудим, «как работают ИК-пульты». Большинство ИК-пультов работают на частотах около 38 кГц (по этой причине я выбрал 18 38 Тл). При дальнейшем рассмотрении этой темы можно понять, что в этих методах передачи данных IR нет фиксированного представления для нулей и единиц. В этих кодах используются различные методы кодирования, которые мы изучаем в нашей инженерной программе (так как я изучаю электронику). Значение 38 кГц состоит в том, что это частота, на которой сигнал колеблется при логически высоком значении, т.е. это несущая частота сигнала. Взгляните на картинку ниже; это пример протокола NEC. Это сделает вашу концепцию более понятной:
Итак, вот как работает этот IR Blaster; Телефон Android с настроенным приложением для Android отправляет сигнал в цепь Arduino через Bluetooth, далее Arduino получает сигнал через приемник TSOP-IR (1838T) и анализирует его. Затем Arduino дает команду ИК-светодиоду мигать определенным образом в соответствии с кнопкой, нажатой в этом приложении для Android-устройства. Этот образец мигания фиксируется ИК-приемником телевизора или приставки, и он следует соответствующим инструкциям, таким как изменение канала или увеличение громкости.
Но перед этим нам нужно расшифровать существующие пульты. Как упоминалось ранее, в этом проекте я использовал два пульта дистанционного управления, один из которых взаимодействует с телевизором, а другой предназначен для приставки, подключенной к телевизору.
Принципиальная электрическая схема:
Расшифровка сигналов ИК-пульта дистанционного управления с использованием Arduino:
Плата Arduino здесь работает в две фазы: одна - когда вы используете ее для декодирования ИК-кодов с пульта дистанционного управления, а другая - когда вы используете ее в качестве устройства ИК-бластера.
Поговорим о первом этапе. Теперь, чтобы декодировать коды ИК-кнопок, я использовал заголовочный файл IRremote Кена Ширриффа . В этом заголовочном файле есть много предопределенных примеров / кодов, чтобы нам было проще работать с ИК-кодами:
- Сначала вам нужно загрузить и установить удаленную ИК-библиотеку отсюда
- Разархивируйте его и поместите в папку «Библиотеки» Arduino. Затем переименуйте извлеченную папку в IRremote.
- Затем запишите приведенный ниже код в Arduino, подключите специальный экран, как показано выше, и поместите пульт дистанционного управления для декодирования перед ИК-приемником TSOP. Откройте последовательный монитор, соответствующий этому Arduino, и нажмите любую желаемую кнопку на пульте дистанционного управления. Вы увидите некоторую информацию, отображаемую над терминалом, эта информация включает в себя тип кода, его значение и количество связанных с ним битов. Вот как это выглядит:
#включают
Как только вы закончите с желаемой частью декодирования, запишите все значения декодирования и другую информацию, нажав соответствующие названия кнопок. Это послужит базой данных для следующего этапа Arduino. Вышеупомянутая программа взята из папки «examples» библиотеки IRremote, вы можете просмотреть другие примеры, чтобы узнать больше об использовании ИК-пульта дистанционного управления. Вот как мы декодировали ИК-выход дистанционного управления.
Теперь запишите код, указанный в разделе «Код» в конце, на этой же доске. Поздравляю, вы закончили первую половину этого проекта.
Сборка Android-приложения для IR Blaster:
А вот и вторая половина - создание приложений для Android. Я просто предпочитаю использовать приложение MIT изобрел-2 для создания таких приложений. Если вы любитель программирования для Android, это сэкономит ваше время и даст хорошие результаты. Основных компонентов, используемых при создании этого приложения, не так много, всего несколько кнопок и клиентский пакет Bluetooth. При кодировании приложения предоставьте соответствующий текст, который будет отправлен для каждой нажатой кнопки на экране, который попросит Arduino мигать ИК-светодиодом таким же образом, как это было бы сделано с помощью отдельного пульта дистанционного управления; также убедитесь, что вы указали правильный адрес модуля Bluetooth HC-05. Вот как окончательное приложение будет выглядеть на вашем смартфоне Android:
Вот пошаговый процесс создания приложения:
ШАГ 1:
Войдите по этой ссылке: ai2.appinventor.mit.edu или попробуйте найти MIT appinventor-2 в Google. Для входа в AI2 требуется учетная запись Google, поэтому, если у вас ее нет, создайте ее.
ШАГ 2:
Как только вы войдете в свою учетную запись Google, вы будете перенаправлены на рабочую веб-страницу AI2, которая выглядит следующим образом:
Начните новый проект, щелкнув вкладку «Проекты» вверху и выбрав «Начать новый проект». Когда вы закончите с именованием и все такое, вам откроется пустой экран, на котором вы можете разместить кнопки и текст, как показано выше. Это экран графического интерфейса пользователя, на котором вы решаете, как приложение будет выглядеть для пользователя.
Чтобы использовать пакет кнопок, выберите вкладку «Кнопка» в левой части экрана в разделе «Пользовательский интерфейс». Просто перетащите любой пакет из меню слева и поместите его на рабочий экран. Точно так же для отображения любого материала, связанного с текстом, используйте пакет «Label».
ШАГ 3:
После того, как вы разместили все ваши кнопки и метки, пришло время написать код для этого приложения. Но перед этим нам нужно также выбрать пакет Bluetooth для связи с Arduino.
Вы заметите, что этот пакет не отображается на экране, а находится в разделе «Невидимые компоненты». Это компоненты, которые не имеют значения в структуре GUI.
ШАГ 4:
Затем идет раздел кодирования, в котором вы определяете функцию для компонентов, которые вы выбрали и с которыми хотите работать.
В левой части экрана вы увидите все те пакеты, которые вы выбрали в разделе графического интерфейса. На изображении выше показано, какие все компоненты есть в конкретном пакете, которые вы можете использовать. Также обратите внимание, что адрес модуля Bluetooth должен быть предоставлен в текстовом формате.
УСТАНОВКА 5:
Когда вы почувствуете, что приложение готово к использованию и также нет ошибок, щелкните вкладку «Сборка», как показано выше, и выберите второй вариант. Это загрузит созданное вами приложение на компьютер в формате «.apk». Затем просто перенесите этот файл.apk на любое устройство Android и щелкните по нему, чтобы установить.
Таким образом, вы можете управлять любым устройством с ИК-пультом дистанционного управления со своего смартфона, вам просто нужно декодировать пульт любого устройства, которым вы хотите управлять с помощью своего телефона, и заменить декодированный HEX-код удаленных кнопок в коде Arduino.