Управлять Arduino с помощью инфракрасного пульта ДУ действительно просто. Сегодня можно найти довольно дешевые и простые ИК-пульты для таких целей.

Ниже мы разберем, что нужно сделать для того, чтобы ваш Arduino понимал команды с пульта.
Шаг 1: собираем схему
Во-первых, вам нужно будет взять Arduino. В данном случае используется UNO, но подойдет любая модель. Затем необходимо соединить его с ИК-приемником. У него имеются три вывода: питание (PWR), земля (GND) и сигнальный (SIG). Посадим SIG на 11 порт.
Внимание! Перед подключением датчика проверяйте по документации расположение его выводов!

Шаг 2: скачиваем библиотеку
Теперь нам нужно скачать библиотеку для реализации дистанционного управления. Ее можно найти по следующей ссылке:
https://github.com/shirriff/Arduino-IRremote

Распакуйте этот файл в каталог с библиотеками, например, C:\electronics\arduino-1.0.5\libraries. Если имя библиотеки вам кажется слишком длинным то можете переименовать ее, допустим, в IR.
Шаг 3: добавляем библиотеку к скетчу
В новом скетче выберите Sketch->Import Library->IR

Шаг 4: скопируйте код и скомпилируйте его
Вставьте нижеследующий код в этот новый скетч и выполните компиляцию.
#include <IRemote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
}
Шаг 5: откройте монитор последовательного интерфейса
Соедините Arduino с компьютером через интерфейс USB, затем загрузите скетч. Откройте монитор последовательного порта (Serial Monitor), возьмите пульт дистанционного управления и понажимайте на кнопки. На мониторе должны появляться шестнадцатеричные цифры.

Шаг 6: запишите коды кнопок
Теперь вам нужно записать все числа, соответствующие кнопкам.
Например, для такого пульта

коды будут следующими:
PWR FF629D
CH FFE21D
|<< FF22DD
>| FFC23D
>>| FF02FD
- FFE01F
Plus FFA857
EQ FF906F
0 FF6897
100 FF9867
200 FFB04F
1 FF30CF
2 FF18E7
3 FF7A85
4 FF10EF
5 FF38C7
6 FF5AA5
7 FF42BD
8 FF48B5
9 FF52AD
А для такого:

PWR FD00FF
VOL FD807F
FUNC/STOP FD40BF
|<< FD20DF
>| FDA05F
>>| FD609F
DOWN FD10EF
VOL FD906F
UP FD50AF
0 FD30CF
EQ FDB04F
ST/REPT FD708F
1 FD08F7
2 FD8877
3 FD48B7
4 FD28D7
5 FDA857
6 FD6897
7 FD18E7
8 FD9867
9 FD58A7
Шаг 7: работайте с любым пультом
Попробуйте в действии другие пульты управления. Можно использовать даже пульты для телевизоров и пульты на базе смартфонов для управления игрушечными вертолетами.


Перевод © digitrode.ru