Універсальний пульт Arduino. Передача даних в інфрачервоному діапазоні за допомогою Arduino Підключення ик приймача до arduino

Є багато статей в інтернеті про те, як зробити свій пульт до телевізора на Arduino, але мені знадобився універсальний пульт для керування телевізором та медіа-плеєром. Головна перевага мого універсального пульта в тому, що кнопки в додатку для телефону андроїд двох-цільові, а втім, дивіться на відео.



Пульт дуже зручний у тому, що на екрані практично одні й ті ж кнопки використовуються для керування телевізором та плеєром. Одна відмінність у тому, що кнопка " AV" в режимі керування телевізором змінюється на кнопку " " (stop) при переході в режим керування плеєром. На картинках показано два режими, ліворуч режим керування телевізором, праворуч - режим керування плеєром.

Ну, а зараз я розповім трохи про створення такого пульта. Для пристрою використовував пульт від телевізора ERGO та пульт від медіаплеєра DUNE HD TV101W.

Для отримання даних від пультів використовував інфрачервоний датчик TSOP1138 (аналог TSOP4838) на робочій частоті 38 кГц і підключив його до плати Arduino за схемою:

Цей скетч не знадобиться для визначення кодування передачі даних і зчитування коду кнопок пультів.

У скетчі у рядку int RECV_PIN = 11; вказуємо наш пін під номером 4

Після заливки скетчу відкриваємо монітор порту і, натискаючи на кнопки пульта, дивимося на отримані дані.

На зображенні приклад сканування кнопки включення від пульта телевізора та пульта плеєра. Тепер формуємо таблицю кодів кнопок.

У мене вийшло як на фото вище. Під написом TVкоди кнопок пульта від телевізора; під написом Player- Коди від пульта медіаплеєра.

Тепер відключаємо наш приймач інфрачервоних сигналів від плати Arduino та підключаємо до неї Bluetooth модуль HC-05 та інфрачервоний світлодіод за схемою на фото.

Після цього переходимо безпосередньо до скетчу.

Скетч

#include IRsend irsend; int y = 1; void setup() ( Serial.begin(9600); ) void loop() ( if (Serial.available() > 0) ( int x = Serial.read(); if (x == 49) ( y = 1; ) if (x == 50) ( y = 2; ) if (y == 1) ( // коди кнопок для пульта від телевізора if (x == 97) ( irsend.sendNEC(0x807F08F7, 32); delay(40) ); ) if (x == 98) ( irsend.sendNEC(0x807FA857, 32); (x == 100) ( irsend.sendNEC(0x807FF00F, 32); delay(40); ) if (x == 101) ( irsend.sendNEC(0x807F30CF, 32); delay(40); ) if (x == 102) ( irsend.sendNEC(0x807FB04F, 32); delay(40); ) if (x == 103) ( irsend.sendNEC(0x807F9867, 32); delay(40); ) if (x == 10 .sendNEC(0x807F58A7, 32);delay(40); ) if (x == 105) ( irsend.sendNEC(0x807FD827, 32); delay(40); , 32), delay(40); ) if (x == 107) ( irsend.sendNEC(0x807F48B7, 32); delay(40); ) if (x == 109) ( irsend.sendNEC(0x807F6897, 32); delay(40); ) ) if (y == 2) ( //коди кнопок пульта від медіаплеєра if (x == 97) ( irsend.sendNEC(0xFDC23D, 32); delay(40); ) if (x == 98) ( irsend. sendNEC(0xFDE01F, 32); delay(40); ) if (x == 99) (irsend.sendNEC(0xFD18E7, 32); delay(40); 32), delay(40); ) if (x == 101) ( irsend.sendNEC(0xFDA857, 32); (40); ) if (x == 103) ( irsend.sendNEC(0xFDA857, 32); delay(40); ) if (x == 104) ( irsend.sendNEC(0xFD6897, 32); delay(40); ) if (x == 105) ( irsend.sendNEC(0xFDE817, 32); delay(40); ) if (x == 106) ( irsend.sendNEC(0xFD18E7, 32); delay(40); ) if (x == 107) ( irsend.sendNEC(0xFD9867, 32); delay(40); ) if (x == 108) ( irsend.sendNEC(0xFD28D7, 32); delay(40); ) if (x == 109) ( irsend.sendNEC(0xFD20DF, 32); delay(40); ) ) ) )


У скетчі вам потрібно буде відредагувати коди кнопок, а саме в рядках:

If (x == 97) (irsend.sendNEC(0x807F08F7, 32); delay(40);
Значення 807F08F7 змінити на:

If (y == 1) ( //коди кнопок для пульта від телевізора if (x == 97) ( irsend.sendNEC(0x12345678, 32); delay(40); )
Де 12345678 – це код вашої кнопки.

Після редагування скетчу за вашими кодами кнопок заливаємо скетч у плату Arduino і переходимо до встановлення програми на телефон.

Включаємо блютуз у телефоні, шукаємо наш пристрій, створюємо пару, потім запускаємо програму Pultна телефоні.

При запуску з'явиться екран з червоним значком bluetooth у правому нижньому кутку, що сигналізує про те, що ми не підключені до нашого пристрою.

Після цього тиснемо на цей значок. У нас має з'явитися вікно зі списком всіх доступних Bluetooth пристроїв, де ми вибираємо наш пристрій для підключення.

Тепер ми знову повернулися на головний екран і вже можемо керувати телевізором:

Для переходу в режим керування нам потрібно натиснути кнопку з написом "Player". Як я говорив раніше, у нас кнопка з написом "AV" зміниться на кнопку " ":

Для відключення від пристрою просто затисніть кнопку «Power» на кілька секунд.

Та й кілька фотографій мого готового пристрою.

Вийшло, начебто, непогано. Чекаю на коментарі до статті.

Він відправляє пакет закодованих та промодульованих даних на ІЧ-світлодіод, а при утриманні кнопки ще й пакети повтору.

  • Невидиме інфрачервоне світло від ІЧ-світлодіода потрапляє на Trima-модуль ІЧ-приймач, де перетворюються на демодульовані електричні імпульси.
  • Бібліотека iarduino_IR постійно зчитує та розкодує імпульси з ІЧ-приймача (використовуючи другий апаратний таймер Arduino)
  • У коді loop ми звіряємо розкодовані бібліотекою дані з призначеними пристрою (лампі) і якщо вони збіглися, то змінюємо стан («1»/«0») на вході Trema-модуля Твердотельне реле, отже, включаємо або вимикаємо пристрій (лампу).
  • Пристрій може бути корисним, якщо призначити кнопки телевізійного пульта, що не використовуються (наприклад кольорові кнопки телетексту) для управління освітленням в кімнаті.

    Замість ламп розжарювання, можна підключити будь-який пристрій мережі ~220 В, зі струмом споживання до 2 А.

    Нам знадобиться:

    • ІЧ-пульт дистанційного керування x 1шт. (підійде будь-який телевізійний ІЧ-пульт)
    • Пристрої (лампи), якими ми керуватимемо х 3шт.

    Для реалізації проекту нам необхідно встановити бібліотеку:

    • Бібліотека iarduino_IR для роботи з ІЧ-приймачами
      ВАЖЛИВО: бібліотека використовує другий апаратний таймер,
      НЕ ВИВОДІТЬ СИГНАЛИ ШИМ НА 3 АБО 11 ВИСНОВОК!

    Про те, як встановлювати бібліотеки, Ви можете ознайомитися на сторінці Wiki - Встановлення бібліотек в Arduino IDE.

    Відео:

    Схема підключення:

    У цій схемі використовуються тільки цифрові модулі, їх можна підключати до будь-яких (як цифрових, так і аналогових) висновків Arduino. Наприклад, ми підключили всі модулі до аналогових висновків. Не всі знають, що аналогові висновки Arduino можуть працювати як звичайні цифрові висновки, що дозволяють отримувати (від ІЧ-приймача) і передавати цифрові сигнали (на твердотільні реле) у вигляді логічних «0» і «1».

    Якщо Ви підключатимете пристрої до інших висновків, то їх номери потрібно вказати в другому (оголошення об'єкта IR) і третіх (оголошення масиву pinRelay) рядках скетчу . Код програми написаний так, що ви можете підключити стільки реле , скільки є вільних висновків у Arduino , просто перерахувавши номери висновків у третьому рядку скетчу (оголошення масиву pinRelay).

    Алгоритм роботи:

    • При старті, скетч послідовно призначає код кнопки інфрачервоного пульта кожному твердотільному реле . Спочатку блимає світлодіод і замикається ланцюг твердотільного реле, висновок якого вказаний першим. Якщо натиснути на будь-яку кнопку інфрачервоного пульта , то код даної кнопки присвоюється цьому реле і почне блимати наступне, і так, поки всім реле не будуть призначені кнопки інфрачервоного пульта .
    • Після призначеннянавчання кнопок, всі реле знаходяться у вимкненому стані. Якщо натиснути кнопку ІЧ-пульта , то увімкнеться реле якому присвоєно код цієї кнопки. Якщо повторно натиснути на вказану кнопку, реле вимкнеться. Пристрій не відреагує на натискання клавіш, код яких не присвоювався жодному реле.
    • ЯкщоВи не хочете надавати коди кнопок при кожному старті, то явно вкажіть їх при оголошенні масиву varRelay, а з коду setup видаліть цикли for і while.
    • Дізнатись код кожної кнопкиможна написавши наступний рядок: if(IR.check())(Serial.println(IR.data);)

    Код програми:

    #include // Підключаємо бібліотеку для роботи з ІЧ приймачем iarduino_IR_RX IR(A5); // оголошуємо об'єкт IR до роботи з ІЧ приймачем (із зазначенням будь-якого висновку якого підключений ІЧ приймач) const uint8_t pinRelay = (A1,A2,A3); // оголошуємо масив із зазначенням номерів будь-яких висновків (цифрових чи аналогових) яких підключені твердотільні реле const uint8_t allRelay = sizeof(pinRelay); // оголошуємо константу передаючи її кількість елементів у масиві pinRelay (кількість реле) uint32_t varRelay; // оголошуємо масив з кодами (командами) ІЧ-приймача, що включають реле bool modRelay; // Оголошуємо масив зі станами реле uint8_t setRelay; // оголошуємо змінну з кількістю реле, для яких записана команда з ІЧ-приймача void setup()( IR.begin(); // ініціалізуємо роботу з ІЧ приймачем for(uint8_t i=0; i Модуль ІЧ Приймача у зв'язці та ІЧ пультом дистанційного керування дозволить легко реалізувати дистанційне керування платою Arduino.

    Він являє собою не що інше, як ІЧ приймач VS1838B із встановленою на платі рекомендованою виробником обв'язкою.

    Для роботи з даним модулем "з коробки" необхідний ПДК з частотою 38 кГц.

    Плюсом цієї плати є цанговий роз'єм, що дозволяє без застосування паяння замінити ІЧ приймач на інший, який працює на частоті, необхідної для вашого проекту.

    Основні технічні характеристики:

    Напруга живлення: 2.7 - 5.5В

    Частота модуляції: 38кГц

    Діапазон температур: - 20...+80°C

    Інтерфейс: Цифровий

    Підключення до Arduino

    Модуль обладнаний трипіновим роз'ємом стандарту 2.54мм

    : підключається до висновку GND

    : підключається до висновку +5V

    : підключається до цифрового виводу (у прикладі D2)

    Приклад роботи серед Arduino

    Для роботи з цим модулем необхідно встановити бібліотеку IRRemote

    Завантажуємо, розпаковуємо та закидаємо в папку libraries у папці Arduino. Якщо на момент додавання бібліотеки, Arduino IDE була відкритою, перезавантажуємо середовище.

    Зчитування показань кнопок ПДК

    Для зчитування показань пульта заливаємо наведений нижче скетч. Він виводитиме в порт кодування натиснутих кнопок.

    Як приклад використовуватимемо пульт, як у картинці, т.к. пульт такого типу йде у наборі

    Про відмінності в логіці роботи різних пультів можна прочитати у статті-оригіналі від члена нашої спільноти під ніком

    Приклад програмного коду:

    #include int RECV_PIN = 2; IRrecv irrecv(RECV_PIN); //Створюємо об'єкт отримання сигналу з певного порту decode_results results; //Змінна, що зберігає результат void setup () { Serial // Починаємо прийом) void loop() ( if (irrecv.decode(&results)) //При отриманні сигналу... { Serial.println (results.value); //…виводимо його значення у послідовний порт irrecv.resume(); )

    У моніторі порту повинні побачити таке:

    При майже секундному утриманні кожної кнопки ми отримуємо близько 10 кодів. Перший і є кодом кнопки. А після нього починає йти стандартний код, який повідомляє про залипання кнопки.

    Управління платою Arduino з ПДК

    Змусимо світлодіод на платі Arduino (D13) спалахувати при отриманні кодування першої кнопки і вимикатися при отриманні кодування другої.

    Приклад програмного коду:

    // Тестувалося на Arduino IDE 1.0.3#include int RECV_PIN = 2; int LED = 13; IRrecv irrecv(RECV_PIN); decode_results results; void setup () { Serial.begin (9600); irrecv.enableIRIn(); // Запуск приймача pinMode (LED, OUTPUT); ) void loop() ( if (irrecv.decode(&results)) ( Serial.println (results.value); if (results.value == 16769565) // При отриманні кодування 1(digitalWrite (LED, HIGH); // Включаємо світлодіод) if (results.value == 16761405) // При отриманні кодування 2(digitalWrite (LED, LOW); // Вимикаємо світлодіод) irrecv.resume(); // Отримуємо таке значення } }

    Всім доброго часу дня (або ночі, як вам зручно), почнемо з ліричного вступу. Зараз у багатьох будинки є телевізор з пультом дистанційного керування, тюнер, DVD програвач . Багато людей (і сім'ї) не представляють свій домашній побут без пульта дистанційного керування в руці. Погодьтеся - як здорово бути володарем домашньої техніки, і будь-якої миті диктувати цим залізякам свою волю. У цій статті ми хотіли б розглянути технологію дистанційного керування більш поглиблено, і навести деякі приклади застосування для своїх потреб.

    Отже, що ж нам потрібно як компоненти для нашого експерименту? Як варіант продаються готові модулі ІЧ-пульта та ІЧ-приймача. Але нам не хочеться чекати і платити гроші, тому діятиме хардкорніше. Візьмемо за основу пульт дистанційного керування невідомого походження, також у нас є шматок плати від китайського тюнера на якому розпаяний інфрачервоний приймач. На фото нижче можна бачити ці комплектуючі. Якщо чесно - пульт ДК був знайдений серед непотрібного барахла в столі офісу, а плату з ІЧ-приймачем було взято в найближчій радіомайстерні.

    Ну так що ж, як казав Ганнібал - "Вперед, на Карфаген" . Нам потрібно просто випаяти приймач і підключити його до плати Arduinoза нижченаведеною схемою...

    • Підключення ІЧ приймача

    ІЧ-приймач який був випаяний з плати не має якогось маркування, це просто черговий невідомий китайський радіокомпонент, яких випущено було тисячі. Коротко можна сказати – в одному корпусі він об'єднуєфотодіод, підсилювач та формувач . На виході формується звичайнийТТЛ-сигнал без заповнення, придатний для подальшого оброблення мікроконтролером. Частота, що несе, можливо(!) 36 кГц, але зараз це не так важливо... Просто спробуємо його підключити до платиArduino , Умовна схема дасть необхідну розпинування даного девайса. На схемі нижче виділене червоним - це форма корпусу в якому виконаний нашІЧ-приймач , виділене зеленим - розпинування за якою він підключений до платиArduino .

    Увага!!! На просторах інтернету є багато схем розпинувань для приладів у такому корпусі (TSOP). Розпинування, що наведена в цій статті, може не збігатися з будь-якими знайденими в інтернеті, але у нас все підключено саме так. Якщо при підключенні ІЧ-приймач починає грітися - відразу ж вимикайте зібрану схему, значить розпинування підключення не відповідає дійсному, і вам доведеться підбирати її практично навмання. Саме так ми і зробили, тому що знайдені в інтернеті схеми не підійшли для нашого інфрачервоного приймача. Тут, загалом, то головне не спалити плату Arduino, дійте обережно!!!

    • Бібліотека IRremote

    Отже, все підключено. Щоб прочитати коди з пульта дистанційного керування існує бібліотека IRremote.h, саме з її допомогою вивчатимемо наш пульт, а точніше коди кнопок. Надалі використовуємо прочитані коди з метою. Скетч, за допомогою якого буде прочитано коди кнопок, представлений у прикладах цієї бібліотеки, називається він IRrecvDemo. Увага!!! Скетч при компіляції видає помилку, на самому початку потрібно додати ще дві бібліотеки, що підключаються:

    #include "boarddefs.h" //Додаткова бібліотека #include "IRremote.h" #include "IRremoteInt.h" //Додаткова бібліотека int RECV_PIN = 2; //Пін підключення вихідного сигналу з ІЧ-приймача //Створюємо екземпляр класу IRrecv, як параметр передаємо пін підключення сигналу ІЧ-приймача IRrecv irrecv(RECV_PIN); decode_results results; //Змінна для збереження отриманого коду натиснутої кнопки void setup() ( Serial.begin(9600); irrecv.enableIRIn(); //Включення ІЧ-приймача в роботу ) void loop() ( if (irrecv.decode(&results)) //Якщо сталася подія/кнопка була натиснута ( Serial.println(results.value, HEX); //Виводимо в монітор порту код натиснутої кнопки в шістнадцятковому вигляді irrecv.resume(); //Зчитуємо наступне значення/кнопку ) delay(100 );

    Після того як скетч був залитий у платуArduino(ми використовуємо Arduino Nanoна шилді I/O Wireless Shield for Nano ), можна відкрити монітор порту та подивитися які з'являються коди при натисканні кнопок на пульті дистанційного керування. Результат роботи скетчу представлений на скріншоті нижче:

    До речі, як монітора порту ми використовуємо свій перевірений софт, якщо комусь цікаво - почитати статтю і завантажити Serial Monitor Pro можна .

    #define KEY_ONOFF 0x807F807F //Кнопка Вмикання/Вимкнення #define KEY_MUTE 0x807F48B7 //Кнопка Mute #define KEY_1 0x807F00FF //Кнопка 1 #define KEY_20 0 0x807F609F //Кнопка 3 #define KEY_4 0x807F20DF //Кнопка 4 #define KEY_5 0x807FD02F //Кнопка 5 #define KEY_6 0x807F50AF //Кнопка 6 #define KEY_7 0x807F10EF //Кнопка 7 #define KEY_8 0x807FF00 08F //Кнопка 9 #define KEY_0 0x807FC837 //Кнопка 0

    І ось тепер, загалом все готове для фінального тесту - це буде елементарний тест управління включенням / вимиканням релейних модулів. Наведемо невелике завдання:

    • Використовуємо два релейні модулі
    • Реле №1 прив'язуємо до кнопки "1" пульта
    • Реле №2 прив'язуємо до кнопки "2" пульта
    • Увімкнення будь-якого з релейних модулів здійснюється натисканням на кнопку, до якої він прив'язаний.
    • Вимкнення будь-якого з релейних модулів також здійснюється натисканням на кнопку, до якої він прив'язаний.
    • Натискання на кнопку On/Off безумовно вимикає обидва релейні модулі (якщо вони були включені, або один з них включений)

    Скетч, який реалізує вищезазначене завдання:

    #include "boarddefs.h" //Додаткова бібліотека #include "IRremote.h" #include "IRremoteInt.h" //Додаткова бібліотека #define KEY_ONOFF 0x807F807F //Кнопка Увімкнення/Вимикання #define KEY_1 0x80 0x807FE01F //Кнопка 2 #define RELOUT1 3 //Вихідний порт для реле 1 #define RELOUT2 4 //Вихідний порт для реле 2 int RECV_PIN = 2; IRrecv irrecv(RECV_PIN); decode_results results; static boolean REL1_ONOFF = false; static boolean REL2_ONOFF = false; void setup() ( pinMode(RELOUT1, OUTPUT); pinMode(RELOUT2, OUTPUT); Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver ) void loop() ( if (irrecv.decode(&results) )) ( switch(results.value) ( ​​case(KEY_ONOFF): REL1_ONOFF = false; REL2_ONOFF = false; break; case(KEY_1): if(REL1_ONOFF) REL1_ONOFF = false; else REL1_ONOFF = true; break; if(REL2_ONOFF) REL2_ONOFF = false;else REL2_ONOFF = true;break; ) irrecv.resume(); ) digitalWrite(RELOUT1, REL1_ONOFF);

    І наприкінці статті – відео, яке демонструє роботу обох скетчів. За бажання і наявності творчої фантазії, можна розширити парк модулів, що підключаються, і керувати цим все більш просунуто. Ми ж у своїй статті постаралися навести базовий приклад застосування цієї технології. Дякуємо за увагу та приємного перегляду!

    Будь ласка, увімкніть JavaScript для роботи з коментарями.

    Є багато статей в інтернеті про те, як зробити свій пульт до телевізора на Arduino, але мені знадобився універсальний пульт для керування телевізором та медіа-плеєром. Головна перевага мого універсального пульта в тому, що кнопки в додатку для телефону андроїд двох-цільові, а втім, дивіться на відео.



    Пульт дуже зручний у тому, що на екрані практично одні й ті ж кнопки використовуються для керування телевізором та плеєром. Одна відмінність у тому, що кнопка " AV" в режимі керування телевізором змінюється на кнопку " " (stop) при переході в режим керування плеєром. На картинках показано два режими, ліворуч режим керування телевізором, праворуч - режим керування плеєром.

    Ну, а зараз я розповім трохи про створення такого пульта. Для пристрою використовував пульт від телевізора ERGO та пульт від медіаплеєра DUNE HD TV101W.

    Для отримання даних від пультів використовував інфрачервоний датчик TSOP1138 (аналог TSOP4838) на робочій частоті 38 кГц і підключив його до плати Arduino за схемою:

    Цей скетч не знадобиться для визначення кодування передачі даних і зчитування коду кнопок пультів.

    У скетчі у рядку int RECV_PIN = 11; вказуємо наш пін під номером 4

    Після заливки скетчу відкриваємо монітор порту і, натискаючи на кнопки пульта, дивимося на отримані дані.

    На зображенні приклад сканування кнопки включення від пульта телевізора та пульта плеєра. Тепер формуємо таблицю кодів кнопок.

    У мене вийшло як на фото вище. Під написом TVкоди кнопок пульта від телевізора; під написом Player- Коди від пульта медіаплеєра.

    Тепер відключаємо наш приймач інфрачервоних сигналів від плати Arduino та підключаємо до неї Bluetooth модуль HC-05 та інфрачервоний світлодіод за схемою на фото.

    Після цього переходимо безпосередньо до скетчу.

    Скетч

    #include IRsend irsend; int y = 1; void setup() ( Serial.begin(9600); ) void loop() ( if (Serial.available() > 0) ( int x = Serial.read(); if (x == 49) ( y = 1; ) if (x == 50) ( y = 2; ) if (y == 1) ( // коди кнопок для пульта від телевізора if (x == 97) ( irsend.sendNEC(0x807F08F7, 32); delay(40) ); ) if (x == 98) ( irsend.sendNEC(0x807FA857, 32); (x == 100) ( irsend.sendNEC(0x807FF00F, 32); delay(40); ) if (x == 101) ( irsend.sendNEC(0x807F30CF, 32); delay(40); ) if (x == 102) ( irsend.sendNEC(0x807FB04F, 32); delay(40); ) if (x == 103) ( irsend.sendNEC(0x807F9867, 32); delay(40); ) if (x == 10 .sendNEC(0x807F58A7, 32);delay(40); ) if (x == 105) ( irsend.sendNEC(0x807FD827, 32); delay(40); , 32), delay(40); ) if (x == 107) ( irsend.sendNEC(0x807F48B7, 32); delay(40); ) if (x == 109) ( irsend.sendNEC(0x807F6897, 32); delay(40); ) ) if (y == 2) ( //коди кнопок пульта від медіаплеєра if (x == 97) ( irsend.sendNEC(0xFDC23D, 32); delay(40); ) if (x == 98) ( irsend. sendNEC(0xFDE01F, 32); delay(40); ) if (x == 99) (irsend.sendNEC(0xFD18E7, 32); delay(40); 32), delay(40); ) if (x == 101) ( irsend.sendNEC(0xFDA857, 32); (40); ) if (x == 103) ( irsend.sendNEC(0xFDA857, 32); delay(40); ) if (x == 104) ( irsend.sendNEC(0xFD6897, 32); delay(40); ) if (x == 105) ( irsend.sendNEC(0xFDE817, 32); delay(40); ) if (x == 106) ( irsend.sendNEC(0xFD18E7, 32); delay(40); ) if (x == 107) ( irsend.sendNEC(0xFD9867, 32); delay(40); ) if (x == 108) ( irsend.sendNEC(0xFD28D7, 32); delay(40); ) if (x == 109) ( irsend.sendNEC(0xFD20DF, 32); delay(40); ) ) ) )


    У скетчі вам потрібно буде відредагувати коди кнопок, а саме в рядках:

    If (x == 97) (irsend.sendNEC(0x807F08F7, 32); delay(40);
    Значення 807F08F7 змінити на:

    If (y == 1) ( //коди кнопок для пульта від телевізора if (x == 97) ( irsend.sendNEC(0x12345678, 32); delay(40); )
    Де 12345678 – це код вашої кнопки.

    Після редагування скетчу за вашими кодами кнопок заливаємо скетч у плату Arduino і переходимо до встановлення програми на телефон.

    Включаємо блютуз у телефоні, шукаємо наш пристрій, створюємо пару, потім запускаємо програму Pultна телефоні.

    При запуску з'явиться екран з червоним значком bluetooth у правому нижньому кутку, що сигналізує про те, що ми не підключені до нашого пристрою.

    Після цього тиснемо на цей значок. У нас має з'явитися вікно зі списком всіх доступних Bluetooth пристроїв, де ми вибираємо наш пристрій для підключення.

    Тепер ми знову повернулися на головний екран і вже можемо керувати телевізором:

    Для переходу в режим керування нам потрібно натиснути кнопку з написом "Player". Як я говорив раніше, у нас кнопка з написом "AV" зміниться на кнопку " ":

    Для відключення від пристрою просто затисніть кнопку «Power» на кілька секунд.

    Та й кілька фотографій мого готового пристрою.

    Вийшло, начебто, непогано. Чекаю на коментарі до статті.