Arduino

и не только...

YouTube Instagram TikTok Facebook VK

Модуль инфракрасного приемника

Модулей ИК приемника существует несколько, я опишу работу с KY-022. Выглядит он так:

Модуль ИК приемника

Он служит для приема ИК сигнала и подключается к пинам GND, 5V и любому цифровому пину:

Схема подключения модля KY-022 к Arduino

Для работы с модулем требуется установить библиотеку IRremote

.

Кроме самого модуля, вам потребуется пульт управления, работающий в ИК диапазоне. Это может быть почти любой пульт от телевизора или другого бытового прибора. Если у вас нет подходящего пульта, то можно приобрести модуль сразу с пультом, или купить пульт отдельно, ссылки справа.

Далее нам нужно получить коды всех кнопок пульта управления, которые мы хотим использовать в своем программе:

#include <IRremote.h>    
IRrecv receiver(4);

void setup()
{
  Serial.begin(9600);
  receiver.enableIRIn();
}

void loop()
{
  IRData *irdata = receiver.read();
  if (irdata) {
    Serial.println(irdata->address);
    Serial.println(irdata->command);
  }
}

Запускаем скетч, нажимаем последовательно на кнопки пульта и записываем полученные значения адреса и кода для каждой.

После этого ваша программа будет выглядеть примерно так:

#include <IRremote.h>    
IRrecv receiver(4);

void setup()
{
  Serial.begin(9600);
  receiver.enableIRIn();
}

void loop()
{
  IRData *irdata = receiver.read();
  if (irdata) {
    if ((irdata->address == 2) && (irdata->command == 0)) {
      // действие при нажатии на кнопку включения
    } else if ((irdata->address == 2) && (irdata->command == 5)) {
      // действие при нажатии на кнопку "1"
    }
  }
}

Использование пульта управления позволяет не только управлять устройством удаленно, но также добавляем вашему устройству довольно большое количество кнопок сразу, заняв всего 1 пин. Это бывает удобно при разработке устройств с большим количеством подключенных датчиков и модулей, когда лишнего пина для кнопки просто может не найтись.