Инфракрасный приёмник VS1838B: Управление Arduino с помощью ИК-пульта

Что такое VS1838B и зачем он нужен

Инфракрасный приёмник VS1838B — это компактный модуль, позволяющий принимать сигналы от пультов дистанционного управления. С его помощью можно легко управлять проектами на Arduino — включать свет, двигатели или даже создавать систему «умного дома». В этом материале вы узнаете, как работает VS1838B, как его подключить и как использовать библиотеку IRremote для считывания сигналов с ИК-пульта.

Инфракрасный приёмник VS1838B

Что понадобится для проекта

Для тестирования модуля VS1838B подготовьте следующие компоненты:

  • Плата Arduino (Uno, Nano или совместимая);
  • Модуль инфракрасного приёмника VS1838B;
  • ИК-пульт дистанционного управления (совместимый с 38 кГц);
  • Провода джамперы;
  • Макетная плата (по желанию);
  • Светодиод с резистором 220 Ом для теста (опционально).

Принцип работы VS1838B

Модуль VS1838B принимает инфракрасные импульсы с пульта (на частоте 38 кГц) и преобразует их в цифровой сигнал (HIGH/LOW), понятный микроконтроллеру. Arduino с помощью библиотеки IRremote декодирует эти сигналы, определяя, какая кнопка нажата. Приёмник поддерживает популярные протоколы: NEC, Sony, RC5, RC6.

Пины VS1838B:

  • VCC — питание (2.7–5.5 В);
  • GND — земля;
  • OUT — цифровой выход (сигнал на Arduino).

Модуль оснащён фильтром для защиты от помех и стабильно работает на расстоянии до 10 метров при угле приёма ±45°.

Основные характеристики VS1838B

  • Рабочее напряжение: 2.7–5.5 В
  • Частота приёма: 38 кГц
  • Дальность действия: до 10 м
  • Угол приёма: ±45°
  • Ток потребления: 0.4–1.5 мА
  • Выход: цифровой (HIGH/LOW)
  • Размеры: 6.4 × 7.4 × 5.1 мм
  • Совместимые протоколы: NEC, RC5, RC6, Sony

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

Подключение выполняется всего тремя проводами:

  • VCC → 5V на Arduino
  • GND → GND
  • OUT → цифровой пин D11 (можно изменить в коде)

Далее установите библиотеку IRremote через «Скетч → Подключить библиотеку → Управление библиотеками» в Arduino IDE.

Пример кода: Управление светодиодом с ИК-пульта

Примерный скетч, который включает и выключает светодиод при нажатии кнопки на пульте:

#include <IRremote.h>

#define RECV_PIN 11
#define LED_PIN 13

IRrecv irrecv(RECV_PIN);
decode_results results;

void setup() {
  pinMode(LED_PIN, OUTPUT);
  Serial.begin(9600);
  irrecv.enableIRIn(); // Запуск приёмника
  Serial.println("Нажмите кнопку на пульте...");
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX); // Вывод кода кнопки в HEX
    if (results.value == 0xFFA25D) { // Ваш код кнопки
      digitalWrite(LED_PIN, !digitalRead(LED_PIN)); // Переключаем светодиод
    }
    irrecv.resume(); // Приём следующего сигнала
  }
}
принимает ИК-сигналы с пульта на пине 11;
выводит HEX-код нажатой кнопки в Serial Monitor;
если принят код 0xFFA25D:
переключает состояние светодиода на пине 13 (вкл/выкл);
после обработки сигнала подготавливается к приёму следующего.

Важно знать:
в новых версиях IRremote (3.x и выше) этот код не скомпилируется без изменений (другая структура API);
с классической библиотекой IRremote 2.x — работает корректно и предсказуемо.

Как работает программа

  • IRrecv irrecv(RECV_PIN) — инициализация приёмника на пине D11;
  • irrecv.decode() — считывает сигнал с пульта;
  • results.value — содержит код нажатой кнопки;
  • digitalWrite() — управляет светодиодом на пине D13.

Откройте Serial Monitor, нажмите любую кнопку на пульте — появится код в HEX. Подставьте его вместо 0xFFA25D, чтобы назначить свою кнопку управления.

5 идей для проектов с VS1838B

ИК-приёмник легко интегрируется в любые проекты Arduino:

  • Умный дом: включайте свет, вентилятор или жалюзи с пульта;
  • Медиацентр: управляйте аудиоплеером или телевизором;
  • Робототехника: создайте дистанционное управление движением робота;
  • IoT-проекты: объедините VS1838B с ESP8266/ESP32 для отправки команд через интернет;
  • Автоматизация: управляйте реле, сервоприводами и другими устройствами.

Заключение: VS1838B — простой способ добавить дистанционное управление

Инфракрасный приёмник VS1838B — один из самых простых и надёжных способов управлять вашими проектами с Arduino. Он поддерживает популярные протоколы, работает на стандартной частоте 38 кГц и совместим практически с любыми ИК-пультами. Благодаря библиотеке IRremote интеграция занимает всего несколько минут.

FAQ — VS1838B и работа с ИК-приёмником

Что делает приёмник VS1838B в проекте Arduino?

VS1838B принимает инфракрасные сигналы от обычного пульта дистанционного управления и преобразует их в цифровой сигнал, понятный Arduino. Благодаря этому можно включать свет, двигать сервоприводы, управлять реле и другими устройствами без проводов.

Какое расстояние и угол работы у VS1838B?

Приёмник стабильно работает на расстоянии до 10 метров при угле обзора около ±45°. Однако дальность может зависеть от мощности пульта, освещённости помещения и правильности подключения. При прямой видимости работа будет максимально надёжной.

Можно ли использовать любой ИК-пульт с VS1838B?

Да, приёмник поддерживает большинство бытовых пультов, работающих на частоте 38 кГц. Он совместим с распространёнными протоколами NEC, RC5, RC6, Sony. Если пульт выдаёт необычные коды, их можно считать и обработать в коде Arduino с помощью библиотеки IRremote.

Почему приёмник не реагирует на пульт?

Проверьте правильность подключения: VCC → 5V, GND → GND, OUT → D11. Убедитесь, что установленная библиотека IRremote поддерживает ваш контроллер. Также попробуйте заменить батарейки в пульте и протестировать приёмник в тёмном помещении — яркий свет может мешать приёму сигнала.

Как узнать коды кнопок пульта?

Откройте Serial Monitor в Arduino IDE и нажмите кнопку на пульте. Библиотека IRremote выведет уникальный шестнадцатеричный код, например 0xFFA25D. Эти коды можно использовать в скетче, чтобы выполнять разные действия при нажатии конкретных кнопок.

Можно ли управлять несколькими устройствами с одного приёмника?

Да, можно. В коде Arduino можно назначить разные действия на разные коды кнопок. Например, одна кнопка включает свет, другая — запускает мотор, третья — выключает всё сразу. Это позволяет создать полноценный пульт управления для «умного дома» или робота.

Можно ли использовать VS1838B с ESP32 или ESP8266?

Да, VS1838B полностью совместим с ESP32 и ESP8266. Достаточно подключить выход приёмника к любому цифровому пину и установить библиотеку IRremoteESP8266. Так можно управлять IoT-проектами через обычный пульт дистанционного управления.

📁 Скачать примеры