Підключення IR приймача до Arduino, РоботоТехніка на Ардуїно
Розглянемо підключення ІЧ приймача до Ардуїно. Розкажемо яку використовувати бібліотеку та продемонструємо скетч для роботи IR приймача на Arduino.
Розглянемо цьому занятті підключення ІЧ приймача до Ардуино. Розкажемо, яку бібліотеку слід використовувати для IR приймача, продемонструємо скетч для тестування роботи інфрачервоного приймача від пульта дистанційного керування і розберемо команди в мові C++ для отримання сигналу. Відразу відзначимо, що IR датчик Ардуїно підходить не до кожного пульта, частота сигналу може відрізнятись.
Влаштування ІЧ приймача. Принцип роботи
Приймачі інфрачервоного випромінювання отримали сьогодні широке застосування в побутовій техніці, завдяки доступній ціні, простоті та зручності у використанні. Ці пристрої дозволяють керувати приладами за допомогою пульта дистанційного керування та їх можна зустріти практично у будь-якому виді техніки. Але, незважаючи на це, поступово Bluetooth модуль набирає все більшої популярності.
Принцип роботи IR ресивера. Обробка сигналу від пульта дистанційного керування
ІЧ-приймач на Ардуїно здатний приймати та обробляти інфрачервоний сигнал, у вигляді імпульсів заданої тривалості та частоти. Використовується для виготовлення датчика перешкоди та далекоміра для Arduino. Зазвичай ІЧ-приймач має три ніжки і складається з наступних елементів: PIN-фотодіод, підсилювач, смуговий фільтр, амплітудний детектор, фільтр, що інтегрує, і вихідний транзистор.
Під дією інфрачервоного випромінювання у фотодіоді, у якого міжp іn областями створена додаткова область з напівпровідника (i -область), починає текти струм. Сигнал надходить на підсилювач і далі смуговий фільтр, який налаштований на фіксовану частоту: 30; 33;36; 38; 40 та 56 кілогерц і захищає приймач від перешкод. Перешкоди можуть створювати будь-які побутові прилади.
Щоб сигнал від пульта дистанційного керування приймався ІЧ приймачем Ардуіно, пульт повинен бути з тією ж частотою, на яку налаштований фільтр в IR приймачі. Тому не кожен пульт дистанційного керування підійде для роботи. Слід підбирати IR приймач та IR передавач з однією частотою. Після фільтра сигнал надходить на амплітудний детектор, що інтегрує фільтр та вихідний транзистор.
Як підключити ІЧ приймач до Ардуїно
Корпуси інфрачервоних приймачів містять оптичний фільтр для захисту приладу від зовнішніх електромагнітних полів, виготовляються вони спеціальної форми для фокусування випромінювання, що приймається на фотодіоді. Для підключення IR приймача до Arduino UNO використовують три ніжки, які з'єднують з GND, 5V і A0. Радимо спочатку використовувати 3,3 Вольта, щоб не спалити ІЧ датчик при налаштуванні.
Для заняття нам знадобляться такі деталі:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- макетна плата;
- IR приймач;
- пульт ДУ;
- 1 світлодіод та резистор 220 Ом;
- дроти «тато-тато» та «тато-мама».
Підключіть IR приймач за схемою, наведеною вище, і підключіть світлодіоди до 12 і 13 піну. Перш ніж завантажувати програму, вам потрібно буде встановити бібліотеку IRremote.h, якщо вона ще не була встановлена. Ця бібліотека не стосується стандартних бібліотек середовища програмування Arduino IDE. Завантажити бібліотеку IRremote.h і готовий скетч можна одним архівом із Google Диск за посиланням тут.
Скетч для ІЧ приймача Arduino:
Пояснення до коду:
- Бібліотека IRremote.h містить набіркоманд і дозволяє спростити скетч;
- Оператор decode_results надає отриманим сигналам від пульта дистанційного керування ім'я змінної results .
ІЧ датчик можна застосовувати у багатьох пристроях на мікроконтролері Ардуїно, у тому числі, можна зробити дистанційне керування сервоприводом на Ардуїно від ІЧ приймача. При налаштуванні слід увімкнути монітор порту Arduino IDE і дізнатися, який сигнал надсилає та чи інша кнопка на пульті дистанційного керування. Отримані коди слід використовувати у скетчі після знака подвійної рівності в умовах if().
Ви пропустили кодування сигналу ІЧ пульта перед кодом поставити «0x»
Ще раз усе перевірив ще раз. Все правильно написано в скетчі для підключення ІЧ приймача до Arduino
У вас на малюнках на одному правою ногою 5В, ліва А0, на наступному малюнку навпаки.
Дякую, виправимо. Але не у всіх ІЧ приймачів розпинування саме таке, як зображено на малюнку, може і відрізнятися
Я завантажив скетч на Ардуїно, але якщо натискаю кнопку на ду пульті, то там (МОНІТОР ПОРТА) нічого не відображається. Що робити?
Спробуйте різні варіанти підключення ІЧ датчика. Якщо не вийшло, то, можливо, не збігається частота ІЧ приймача та пульта. Треба взяти інший пульт чи інший ІЧ датчик.
А як зробити так щоб вмикати/вимикати світлодіод однією кнопкою пульта? Особисто пробував не вийшло, лише різними. Будь-яка інформація буде корисною.
Вітаю. Теж пробував так зробити – не вийшло.
if (results.value == 16718055)digitalWrite(led2, !digitalRead(led2)); натискання однієї кнопки увімкн.
Велике вам дякую!
Вітаю! Не завантажує бібліотеку IRremote.h, пише «помилка завантаження в оплату». Що робити?
Напишіть, яка помилка виходить
При натисканні на кнопку одну і ту ж кнопку виводить кілька кодів, чому?
Зазвичай з усіх кнопок пульта дистанційного керування на інфрачервоний приймач відправляється додатково другий сигнал, він на всіх кнопках однаковий, тому його не використовуйте. Навіщо він потрібний? Можливо для ідентифікації пульта.