KY-022 – модуль ИК приёмника (IRremote). Подключение к Arduino.

Разработка проектов под заказ

Продолжаем изучать модули из набора «37 in 1 Sensors Kit for Arduino». В предыдущих уроках мы рассмотрели модуль ИК-передатчика KY-005. Сегодня рассмотрим модуль ИК приёмника KY-022. Который позволит получать сигнал с ИК-передатчика и управлять периферийными устройствами. У меня уже есть ряд проектов на Arduino с использованием ИК приёмника.

Описание модуля ИК-приемника KY-022.

Модуль ИК-приемника Arduino KY-022, реагирует на инфракрасный свет 38 кГц.

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

KY-022 Технические характеристики.

Этот модуль состоит из ИК-приемника на базе «VS1838B», резистора 1 кОм и светодиода. Работает вместе с модулем ИК-передатчика KY-005. Совместимость с популярными электронными платформами, такими как Arduino, Raspberry Pi и ESP8266.

Рабочее напряжение

От 2,7 до 5,5 В

Рабочий ток

От 0,4 до 1,5 мА

Расстояние приема

18м

Угол приема

± 45º

Несущая частота

38 кГц

Напряжение низкого уровня

0,4 В

Напряжение высокого уровня

4,5 В

Фильтр окружающего света

до 500 люкс

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

Подключите линию питания (посередине) и землю (-) к +5 и GND соответственно. Также, необходимо подключить сигнал (S) к контакту 11 на Arduino. Сигнал на приемник будем отправлять с помощью пульта ДУ.

пульта ДУ

Подключение KY-022:

  • S – сигнальный контакт
  • VСС – «+» питания
  • GND – общий

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

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

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

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

KY-022 скетч для Arduino.

В следующем скетче Arduino используется библиотека IRremote для приема и обработки инфракрасных сигналов. В уроке использую пульт ДУ для последовательной отправки данных на модуль KY-022.

#include "IRremote.h"
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
  Serial.begin(9600);
  Serial.println("Enabling IRin");
  irrecv.enableIRIn();      // ииничиализируем работу с IR
  Serial.println("Enabled IRin");
}
void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Ждем следующее значение от пульта ДУ
  }
  delay(100);
}

Ссылки на необходимые материалы и библиотеку для данного примера KY-022 Arduino можно найти в разделе «Файлы для скачивания».

После того как скетч загружен и IR приемник подключен, можно проверить, какой код соответствует той или иной кнопке пульта ДУ. Поочередно нажимаем на кнопки, и в мониторе последовательного порта (Ctrl+Shift+M) вы уведите следующее.

 скетч загружен и IR приемник подключен

У вас скорее всего возник вопрос: "Что за повторяющая команда FFFFFFFF"? Эта команда выводится, когда мы долго удерживаем кнопку на пульте и на Ардуино приходит одинаковая команда. В этом нет ничего страшного, а иногда это даже полезно. На основе получения данных в таком виде, я сделал управление машинкой, с помощью пульта ДУ. При этом машинка едет только тогда, когда нажата кнопка пульта. Отпускаем и машина перестает ехать или поворачивать.

включение и выключения встроенного светодиода на плату Arduino при помощи пульта дистанционного управления

Само простое, чем можно управлять - это включение и выключения встроенного светодиода на плату Arduino при помощи пульта дистанционного управления и инфракрасного приемника KY-022.

Схема подключения, как и в примере выше. Коды кнопок моего пульта, которые я буду использовать для примера:

//FF10EF   — стрелочка вправо
//FF5AA5   — стрелочка влево

У вашего пульта команды будут другие, если он не такой же модели, как у меня. Большинство наборов для Arduino оснащены пультом данной модели.

Скетч включения светодиода с помощью пульта ДУ.

//FF10EF   — стрелочка вправо
//FF5AA5   — стрелочка влево
#include "IRremote.h"
IRrecv irrecv(11); // указываем вывод, к которому подключен приемник
decode_results results;
void setup() {
  irrecv.enableIRIn(); // запускаем прием
}
void loop() {
  if ( irrecv.decode( &results )) { // если данные пришли
    switch ( results.value ) {
    case 0xFF10EF:
        digitalWrite( 13, HIGH );
        break;
    case 0xFF5AA5:
        digitalWrite( 13, LOW );
        break;
    }    
    irrecv.resume(); // принимаем следующую команду
  }
  delay(100);
}

Вот так можно легко научить Arduino принимать команды с пульта.

Понравился Урок KY-022 – модуль ИК приёмника. Подключение к Arduino? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Фотографии к статье

Файлы для скачивания

KY-022 скетч для Arduino KY-022 скетч для Arduino.ino0 Kb 29 Скачать
Скетч включения светодиода с помощью пульта ДУ Скетч включения светодиода с помощью пульта ДУ.ino1 Kb 21 Скачать
Infrared receiver vs1838b Infrared receiver vs1838b.pdf285 Kb 21 Скачать

Комментарии

Ваше Имя*