Модуль инфракрасного приёмника VS1838B (на плате)

Код:00526
Артикул:VS1838B-M
В наличии:есть
190 руб
1
Модуль инфракрасного приёмника VS1838B (на плате)
VS1838B Remote IR Receiving Module

Предназначен для приема сигнала от пульта дистанционного управления бытовой техники который передает команды посредством инфракрасного излучения. Воспринимающий элемент модуля – VS1838B. Сигнал модуля ориентирован на обработку микроконтроллером. При оснащении прибора управляемого дистанционно ИК приемником VS1838B можно использовать имеющиеся дома пульты от телевизора, кондиционера или оставшийся от аппаратуры отправленной в утиль. Таким образом, отпадает необходимость в разработке и изготовлении пульта своими силами. Теперь можно использовать готовый.
 
Характеристики
 
Напряжение питания 2,7 – 5,5 В
Частота модуляции 38 кГц
Диапазон температуры эксплуатации -20 ...80 °C
 
Контакты
 
GND – общий провод
VCC – питание
OUT – выход цифрового сигнала
 
Первые шаги
 
Для применения имеющегося ИК пульта дистанционного управления необходимо занести в память микроконтроллера нового прибора данные, параметры команд передаваемых по ИК каналу. Программа МК устанавливает соответствие между принятыми командами и выполняемыми микроконтроллером действиями. Пульты различных производителей используют различные протоколы шифрования команд передаваемых при нажатии кнопок. Единого протокола, мирового стандарта не существует, но между протоколами много общего, что позволяет применить специальное программное обеспечение, позволяющее раскрыть кодировки применяемые популярными брендами и раскрыть секреты пультов малоизвестных производителей и даже немаркированных пультов.
Наиболее простой путь сделать первые шаги в применении VS1838B для налаживания ИК канала дистанционного управления это применить аппаратное и программное обеспечение Arduino. Смотрим видео.
 

 
Здесь команды от ИК пульта управления кондиционером принимает модуль инфракрасного приёмника VS1838B. При поступлении команды микроконтроллерный модуль ардуино отправляет некоторые данные в персональный компьютер, о чем говорят мигающие индикаторы на плате Arduino UNO. Эти данные представляют собой коды команд отображаемые в окне последовательного монитора программного пакета Arduino IDE. Экспериментатор разобравшись какой код соответствует какой кнопке пульта вносит коды в свою программу и устанавливает соответствие между кодом и выполнением программы.
 

 
Соединим модуль инфракрасного приёмника VS1838B с модулем Arduino UNO как изображено выше. Здесь провод несущий сигнал подключен к контакту 11. Номер контакта Arduino UNO получающего сигнал указывается в программе ардуино. В программный пакет Arduino IDE необходимо установить библиотеку IRremote. Среди нескольких типов приемников ИК сигналов от ДУ пультов приемник VS1838B лучше других согласуется с библиотекой IRremote. Версия библиотеки 2012 г находится здесь. Версия IRremote 2015 г здесь.
После установки библиотеки IRremote выберем в перечне примеров IRrecvDump. Отправим команду с имеющегося у вас пульта ИК ДУ направив его на VS1838B. В окне последовательного монитора должно появиться примерно следующее:
 
2000910
Decoded PANASONIC – Address: 5005 Value: 2000910 (48 bits)
Raw (100) : 32767 4600 –1700 500 –450 600………
 
Здесь:
2000910 – код команды соответствующей нажатой кнопке пульта
Decoded PANASONIC – распознан и идентифицирован протокол передачи данных ф. Panasonic
48 bits – количество бит
 
Теперь сделаем управление включением светодиода с помощью ИК пульта. Загрузим в Arduino UNO программу приведенную ниже. В ней используются коды команд от кнопок полученные ранее. Светодиод подключим через резистор 470 Ом к контакту 8.
 
#include
 
int RECV_PIN = 11; //Контакт подключения ИК приемника
int LED = 8; //Контакт подключения светодиода
IRrecv irrecv(RECV_PIN);
decode_results results;
 
void setup()
{
 Serial.begin(9600);
 irrecv.enableIRIn(); //Прием включен
 pinMode(LED, OUTPUT);
}
 
void loop() {
 if (irrecv.decode(&results)) {
 Serial.println(results.value);
 if (results.value == 2000910) //Если получен код первой клавиши
 {
 digitalWrite(LED, HIGH); //Светодиод включить
 }
 if (results.value == 2000725) //Если получен код второй клавиши
 {
 digitalWrite(LED, LOW); //Светодиод выключить
 }
 irrecv.resume(); // Получить следующее значение
 }
}
 
Описание




 
Вверх