- Необхідні компоненти:
- Робоче пояснення:
- Кругова діаграма:
- Розшифровка ІК-сигналів пульта дистанційного керування за допомогою Arduino:
- Створення програми для Android для IR Blaster:
Я розпочав цей проект, щоб позбутися різних пультів дистанційного керування вдома і побудувати щось єдине, що могло б врахувати особливості всіх з них. У мене з’явилася така ідея, коли я побачив один із мобільних телефонів мого друга з вбудованим ІЧ-бластером, і тоді я вирішив не купувати подібний телефон, а зробити власний пристрій, який повинен бути сумісним із моєю існуючою слухавкою. Отже, тут ми перетворимо телефон Android на ІК-пульт за допомогою Arduino для управління різними пристроями вдома.
Необхідні компоненти:
- Arduino Uno
- ІЧ-світлодіод
- TSOP-ІЧ-приймач (1838T)
- Модуль Bluetooth (HC05)
- Пристрій Android (телефон, планшет тощо)
Робоче пояснення:
Як правило, ми використовуємо два пульти дистанційного керування телевізором вдома, один для телевізора і один для телевізійної приставки, тому тут, у цьому проекті, я націлююся на ці два пульти та роблю телефон Android, який працює як ІЧ-бластер, щоб телевізор можна було керувати за допомогою телефону, не торкаючись жодного пульта дистанційного керування.
Використання плати Arduino Uno просто полегшило мені справу з ІЧ-декодуванням та частиною кодування. Виготовлений на замовлення щит просто додає зручності в цьому проекті. Екран складається з ІЧ-приймача TSOP (1838T), інфрачервоного світлодіода та модуля Bluetooth (HC-05), див. Зображення нижче:
Ви можете або створити спеціальний щит, або можете безпосередньо підключити компоненти до Arduino, як показано на `` Схемах схеми '' в розділі нижче.
Перш ніж рухатися вперед, давайте спочатку обговоримо питання про те, «як працюють пульти дистанційного керування». Більшість ІЧ-пультів працюють на частотах 38 кГц (саме тому я вибрав 18 38 ТГ). При подальшому залученні до цієї теми можна усвідомити, що в цих методах передачі ІЧ-даних немає фіксованого подання нулів та одиниць. Ці коди використовують різні техніки кодування, які ми вивчаємо в нашому навчальному плані техніки (оскільки я студент електроніки). Значимість 38 кГц полягає в тому, що це частота, на якій коливається сигнал, коли логічно висока, тобто це несуча частота сигналу. Погляньте на малюнок нижче; це приклад протоколу NEC. Це зробить вашу концепцію більш зрозумілою:
Отже, ось як працює цей ІР-бластер; Телефон Android із спеціальним додатком для Android надсилає сигнал в ланцюг Arduino через Bluetooth, далі Arduino отримує сигнал через приймач TSOP-IR (1838T) та аналізує його. Потім Arduino наказує інфрачервоному світлодіоду блимати певним малюнком, що відповідає кнопці, натиснутій на цій програмі для пристроїв Android. Цей шаблон мигання фіксується ІЧ-приймачем телевізора або телевізійної приставки, і він відповідно дотримується інструкцій, як-от зміна каналу або збільшення гучності.
Але перед цим нам потрібно розшифрувати існуючі пульти. Як вже згадувалося раніше, у цьому проекті я використав два пульти дистанційного керування, один з яких взаємодіє з телевізором, а інший призначений для телевізійної приставки, підключеної до телевізора.
Кругова діаграма:
Розшифровка ІК-сигналів пульта дистанційного керування за допомогою Arduino:
Тут плата Arduino працює у дві фази, одна - коли ви використовуєте її для декодування ІК-кодів з пульта, а інша - коли ви використовуєте її як ІЧ-бластер.
Давайте поговоримо про перший етап. Тепер, щоб розшифрувати коди кнопок ІК, я використав файл заголовка IRremote Кена Ширріфа . Цей заголовочний файл містить безліч заздалегідь визначених прикладів / кодів, щоб полегшити нам роботу з ІЧ-кодами:
- Спочатку потрібно завантажити та встановити ІЧ-віддалену бібліотеку звідси
- Розпакуйте його та помістіть у свою папку Arduino 'Libraries'. Потім перейменуйте витягнуту папку на IRremote.
- Потім запишіть наданий нижче код в Arduino, підключіть спеціальний екран, як показано вище, і поставте пульт для декодування перед ІК-приймачем TSOP. Відкрийте послідовний монітор, що відповідає цьому Arduino, і натисніть будь-яку потрібну кнопку на пульті дистанційного керування. Ви побачите деяку інформацію, що відображається над терміналом; ця інформація включає тип коду, його значення та кількість бітів, пов’язаних із ним. Ось як це виглядає:
#включати
Коли ви закінчите з необхідною частиною декодування, запишіть усі значення декодування та іншу інформацію, натиснувши відповідну назву кнопки. Це буде базою даних для наступного етапу Arduino. Вищевказана програма взята з папки "приклади" бібліотеки IRremote. Ви можете переглянути інші приклади, щоб дізнатись більше про використання ІЧ-пульта дистанційного керування. Отже, ось як ми розшифрували ІК-віддалений вихід.
Тепер запишіть на цій самій дошці код, наведений у розділі коду в кінці. Вітаємо, ви закінчили першу половину цього проекту.
Створення програми для Android для IR Blaster:
Ось друга половина, створення програми для Android. Я просто вважаю за краще використовувати MIT's APP inventor-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.
Ви помітите, що цей пакет не відображається на екрані, а під "Невидимими компонентами". Це ті компоненти, які не мають значення в макіяжі графічного інтерфейсу.
КРОК 4:
Далі йде розділ кодування, в якому ви визначите функцію для компонентів, які ви вибрали та з якими хочете працювати.
У лівій частині екрана ви помітите всі ті пакети, які ви вибрали в розділі графічного інтерфейсу. На зображенні вище показано, які всі компоненти є в певному пакеті, якими ви можете скористатися. Також зверніть увагу, що адресу модуля Bluetooth потрібно вказувати у текстовому форматі.
SETP 5:
Коли ви відчуєте, що додаток готовий до використання, а також помилок також немає, натисніть на вкладку «Збірка», як показано вище, і виберіть другий варіант. Це завантажить вашу власну створену програму на комп’ютер у форматі.apk. Потім просто перенесіть цей файл.apk на будь-який пристрій Android і натисніть на нього, щоб встановити.
Отже, таким чином ви можете керувати будь-яким ІЧ-пристроєм з дистанційним управлінням за допомогою свого смартфона, вам просто потрібно декодувати пульт будь-якої техніки, якою ви хочете керувати за допомогою свого телефону, і замінити декодований шістнадцятковий код пульта дистанційного керування в коді Arduino.