Ардуіно інфрачервоний пульт і приймач, клас робототехніки

1. ІК-пульт

Що потрібно для того, щоб навчити робота слухатися інфрачервоного (ІК) пульта? По-перше, нам потрібно сам пульт. Можна використовувати звичайний пульт від телевізора, а можна придбати мініатюрний пульт від автомагнітоли. Саме такі пульти часто використовуються для керування роботами.

Ардуіно інфрачервоний пульт і приймач, клас робототехніки

На такому пульті є 10 цифрових кнопок і 11 кнопок для маніпуляції з музикою: гучність, перемотування, play, stop, і т.д. Для наших цілей цілком достатньо.

2. ІЧ-датчик

По-друге, для прийому сигналу з пульта нам буде потрібно спеціальний ІК-датчик. Взагалі, ми можемо детектувати інфрачервоне випромінювання звичайним фотодиодом / фототранзистором, але на відміну від нього, наш ІК-датчик сприймає інфрачервоний сигнал тільки на частоті 38 кГц (іноді 40кГц). Саме така властивість дозволяє датчику ігнорувати багато сторонніх світлових шумів від ламп освітлення і сонця.

Для цього уроку скористаємося популярним ІК-датчиком VS1838B. який володіє наступними характеристиками:

  • несуча частота: 38 кГц;
  • напруга живлення: 2,7 - 5,5 В;
  • споживаний струм: 50 мкА.

Можна використовувати і інші датчики, наприклад: TSOP4838, TSOP1736, SFH506.

3. Підключення

Датчик має три висновки (три ноги). Якщо подивитися на датчик з боку приймача ІК сигналу, як показано на малюнку,

  • то зліва буде - вихід на контролер,
  • по центру - негативний контакт живлення (земля),
  • і справа - позитивний контакт харчування (2.7 - 5.5В).

Принципова схема підключення

Ардуіно інфрачервоний пульт і приймач, клас робототехніки

Зовнішній вигляд макета

Ардуіно інфрачервоний пульт і приймач, клас робототехніки

4. Програма

Підключивши ІК-датчик писатимемо програму для Ардуіно Уно. Для цього скористаємося стандартної бібліотекою IRremote. яка призначена саме для спрощення роботи з прийомом і передачею ІК сигналів. За допомогою цієї бібліотеки будемо приймати команди з пульта, і для початку, просто виводити їх у вікно монітора послідовного порту. Ця програма нам стане в нагоді для того, щоб зрозуміти який код дає кожна кнопка.

Завантажуємо програму на Ардуіно. Після цього, пробуємо отримувати команди з пульта. Відкриваємо монітор послідовного порту (Ctrl + Shift + M), беремо в руки пульт, і направляємо його на датчик. Натискаючи різні кнопочки, спостерігаємо у вікні монітора відповідні цих кнопок коди.

Ардуіно інфрачервоний пульт і приймач, клас робототехніки

Проблема із завантаженням програми

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

TDK2 was not declared In his scope

Щоб її виправити, достатньо видалити два файли з папки бібліотеки. Заходимо в провідник. Переходимо в папку, де встановлено додаток Arduino IDE (швидше за все це «C: \ Program Files (x86) \ Arduino»). Потім в папку з бібліотекою:

і видаляємо файли: IRremoteTools.cpp і IRremoteTools.h. Потім, перезапускаємо Arduino IDE, і знову пробуємо завантажити програму на контролер.

5. Управляем светодиодом за допомогою інфрачервоного пульта

Тепер, коли ми знаємо, які коди відповідають кнопкам пульта, пробуємо запрограмувати контролер на запалювання і гасіння світлодіода при натисканні на кнопки гучності. Для цього нам буде потрібно коди (можуть відрізнятися, в залежності від пульта):

  • FFA857 - збільшення гучності;
  • FFE01F - зменшення гучності.

Як світлодіода, використовуємо вбудований світлодіод на виведення №13, так що схема підключення залишиться колишньою. Отже, програма:

Завантажуємо на Ардуіно і тестуємо. Тиснемо vol + - світлодіод запалюється. Тиснемо vol- - гасне. Тепер, знаючи як це все працює, можна замість світлодіода управляти двигунами робота, або іншими саморобними мікроелектронними пристроями!