Инфракрасный приемник 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)
Что нужно | Кол-во, шт |
---|---|
Контроллер Smart UNO | 1 |
Sensor Shield | 1 |
Инфракрасный приемник 1838 | 1 |
Провода папа-папа | 3 |
Схема подключения:
Скетч для загрузки:
Внимание! В 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)
Что нужно | Кол-во, шт |
---|---|
Контроллер Smart UNO | 1 |
Sensor Shield | 1 |
Модуль инфракрасного приемника VS1838B | 1 |
Шлейф "мама-мама" х3 | 1 |
Схема подключения:
Скетч для загрузки:
Внимание! В 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(); //возобновление работы ИК приемника } }