Урок 35

універсального ІЧ-пульта

У цьому уроці ми створимо універсальний інфрачервоний пульт дистанційного керування. Шість кнопок універсального ІЧ-пульта дозволяють запрограмувати себе на передачу команди будь-якого іншого ІЧ-пульта. Код кнопок зберігається в незалежній області пам'яті Arduino-EEPROM. Це означає, що Вам не доведеться програмувати кнопки при кожному увімкненні універсального ІЧ-пульта.

*Універсальний інфрачервоний пульт може відтворювати сигнали тільки тих інфрачервоних пультів, які передають дані одним інформаційним пакетом не довше 32 біт, а також мають (або ні) однакові пакети утримання (пакети повторів).

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

  • Arduino Uno х 1шт.
  • Trema модуль - ІЧ-приймач x 1шт.
  • Trema модуль - ІЧ-передавач x 1шт.
  • Trema модуль – кнопка (синя) x 7шт.
  • Trema модуль – зумер x 1шт.
  • Trema Shield x 1шт.
  • Конструктор для створення каркасу.

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

  • iarduino_IR для роботи з ІЧ-приймачами.
  • EEPROM – входить у стандартний набір Arduino IDE.

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

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

Усі модулі, що використовуються в уроці, можна підключати до будь-яких висновків Arduino, як цифровим, так і аналоговим. Номери висновків, до яких підключені модулі, вказуються в скетчі.

  • Trema-кнопки підключено до цифрових висновків 2-8.
  • Trema ІЧ-приймач підключений до цифрового виводу 9.
  • Trema ІЧ-передавач підключений до цифрового виводу 10.
  • Trema-зуммер підключено до цифрового виводу 11.
  • Всі модулі підключені до Arduino Uno черезTrema Shield.

універсального ІЧ-пульта

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

Відправлення команд:
  • При натисканні на одну з шести кнопок універсального ІЧ-пульта, він відправить команду, що відповідає натиснутій кнопці.
  • Якщо натиснутою кнопці команда не присвоєна, то інфрачервоний пульт видасть звуковий сигнал, що сигналізує про помилку.
Призначення команд кнопкам:
  • Для призначення команд кнопкам універсального ІЧ-пульта потрібно виконати такі дії:
  • Натиснути на кнопку "запис команди" і, не відпускаючи її, натиснути на кнопку універсального ІЧ-пульта, якій ми хочемо привласнити команду з іншого ІЧ-пульта.
  • Універсальний ІЧ-пульт видасть два короткі звукові сигнали, сигналізуючи про готовність прийняти дані.
  • Натиснути кнопку іншого ІЧ-пульта, код якої ми хочемо рахувати.
  • Як тільки код буде зчитаний, універсальний ІЧ-пульт видасть короткий звуковий сигнал, що сигналізує про успішний запис коду. Тепер можна відпустити усі кнопки.
  • Можна привласнити одній кнопці – код одного пульта, а іншій кнопці – код іншого пульта. Оскільки кожної кнопки, зберігається як код, а й протокол передачі.
  • Код програми:

    Для генерації звуку написана функція myTone() замість стандартної функції tone(), так як стандартна функція використовує 2 апаратний таймер, який вже використовується бібліотекою iarduino_IR.