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

Описание

Инфракрасный приемник - простой и недорогой вариант для приема инфракрасного сигнала. Идеально подходит для дистанционного управления устройствами в зоне прямой видимости на небольшом расстоянии. Позволяет принимать сигналы с пультов управления различной бытовой техники большинства производителей.

Модуль инфракрасного приемника удобен для использования в проектах для соединения без пайки. Модуль содержит светодиод - индикатор получения данных.

Технические характеристики

  • Потребляемый ток: 0,5 мА
  • Рабочая частота: 38 КГц
  • Расстояние приема сигнала: 20 м
  • Эффективный угол приема сигнала: 90˚
  • Рабочее напряжение (приемник): 2,7 - 5,5 В
  • Рабочее напряжение (модуль): 2,7 - 5,5 В

Физические размеры

  • Приемник (Д х Ш х В): 7 х 5 х 29 мм
  • Модуль (Д х Ш х В): 30 х 20 х 12 мм

Плюсы использования

  • Простой в использовании и подключении
  • Идеально подойдет для проектов с беспроводной связью

Минусы использования

  • Между приемником и пультом не должно быть преград, что неудобно в управлении движущимися объектами

Библиотека для работы с приёмником

В среде разработки Arduino по-умолчанию присутствует библиотека для работы с ИК приёмником и передатчиком - она называется <RobotIRremote>, однако она работает некорректно и её необходимо удалить чтобы две библиотеки не конфликтовали друг с другом. Для этого перейдите в папку установки Arduino/Libraries и удалите папку RobotIRremote.

Обратите внимание что для работы ИК-приёмника и ИК передатчика используется одна и та же библиотека <IRremote>. Таким образом скачивать и устанавливать данную библиотеку дважды не требуется!

Пример подключения и использования

Пример 1: В примере иллюстрируется подключение инфракрасного приемника, получение значений нажатия кнопок и вывод данных в монитор Serial - порта. (Примеры тестировались на контроллере Smart UNO)

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

Скетч для загрузки:

Внимание! В Arduino IDE уже есть предустановленная библиотека <RobotRemote>, однако она работает некорректно и её необходимо удалить перед загрузкой скетча и библиотеки <IRremote.h> (чтобы две библиотеки не конфликтовали между собой). Для этого перейдите в папку установки Arduino, в раздел Libraries и удалите папку RobotRemote.

#include <IRremote.h> //подключение библиотеки
const int IR_pin = 8; //пин подключения инфракрасного приемника
decode_results results; //переменная для хранения результата приема
 
IRrecv irreceiver(IR_pin); //создание объекта приемника
 
void setup()
{
  Serial.begin(9600); //инициализация Serial - порта
  irreceiver.enableIRIn(); //инициализация приемника
}
 
void loop()
{
  if (irreceiver.decode(&results)) { //если что-то пришло
    Serial.println(results.value); //сообщить значение приема в монитор
    irreceiver.resume(); //возобновление работы ИК приемника
  }
}

Пример 2: В примере иллюстрируется подключение модуля инфракрасного приемника VS1838B, получение значений нажатия кнопок и вывод данных в монитор Serial - порта. (Примеры тестировались на контроллере Smart UNO)

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

Скетч для загрузки:

Внимание! В Arduino IDE уже есть предустановленная библиотека <RobotRemote>, однако она работает некорректно и её необходимо удалить перед загрузкой скетча и библиотеки <IRremote.h> (чтобы две библиотеки не конфликтовали между собой). Для этого перейдите в папку установки Arduino, в раздел Libraries и удалите папку RobotRemote.

#include <IRremote.h> //подключение библиотеки
const int IR_pin = 8; //пин подключения инфракрасного приемника
decode_results results; //переменная для хранения результата приема
 
IRrecv irreceiver(IR_pin); //создание объекта приемника
 
void setup()
{
  Serial.begin(9600); //инициализация Serial - порта
  irreceiver.enableIRIn(); //инициализация приемника
}
 
void loop()
{
  if (irreceiver.decode(&results)) { //если что-то пришло
    Serial.println(results.value); //сообщить значение приема в монитор
    irreceiver.resume(); //возобновление работы ИК приемника
  }
}