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

Описание

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

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

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

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

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

  • Модуль (Д х Ш х В): 30 х 20 х 11 мм

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

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

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

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

Отличия от модуля с VS1838B

  • Более низкое энергопотребление
  • Шире угол приёма сигнала
  • Большее расстояние приёма
  • Обладает высокой помехоустойчивостью

Файлы для загрузки

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

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

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

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

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

#include <IRremote.h> //подключение библиотеки
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(); //возобновление работы ИК приемника
  }
}