Каждая цифра/кнопка ИК-пульта имеет идентификационный номер. Он задается микроконтроллером внутри пульта дистанционного управления и передается через ИК-светодиод. Эти данные представлены в виде 0 и 1. Чтобы понять данные в шестнадцатеричном формате, нам нужно их считать и декодировать с помощью микроконтроллера. Мы будем собирать эти данные с помощью ИК-приемника TSOP1738 и декодировать данные с помощью платы Arduino на основе микроконтроллера Atmega328p.

Для отображения данных в данном проекте мы задействуем ЖК-дисплей. Принципиальная схема подключения компонентов декодера ИК-сигналов на основе Arduino и его схема подключения на макетной плате представлены далее.


Загрузите в Arduino следующий код:
#include <IRremote.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
const int RECV_PIN=8;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
lcd.init();
lcd.backlight();
Serial.begin(9600);
irrecv.enableIRIn();
irrecv.blink13(true);
}
void loop() {
if (IrReceiver.decode())
{
Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("IR DECODED");
lcd.setCursor(0,1);
lcd.print(IrReceiver.decodedIRData.decodedRawData, HEX);
irrecv.resume();
delay(100);
}
}
Схема довольно проста, достаточно поставить ИК-приемник и подать питание по линиям GND и VCC. Подключите вывод данных к любому цифровому выводу микроконтроллера. Выведите значения, используя интерфейс I2C, на ЖК-дисплее 16x2. Значения выводятся в шестнадцатеричном декодированном формате, например: F897E456 (8 цифр).

Каждый номер кнопки пульта дистанционного управления имеет свой адрес, этот адрес присваивается микроконтроллером каждой кнопке. И данные передаются с помощью ИК-светодиода. Это закодированные двоичные данные в формате 0101. Эти передаваемые данные принимаются с помощью инфракрасного датчика TSOP. Данные декодируются в шестнадцатеричном формате (E556F562) с помощью микроконтроллера. Чтобы увидеть декодированные данные, мы можем использовать последовательный монитор или ЖК-дисплей (16x2).

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

1) ED127F80
2) FE017F80
3) FB047F80
4) F8077F80
5) F50A7F80
6) F30C7F80
7) FF007F80
8) E51A7F80
9) FD027F80
10) FA057F80
11) F7087F80
12) E41B7F80
13) F20D7F80
14) F00F7F80
15) E11E7F80
16) FC037F80
17) F9067F80
18) F6097F80
19) E01F7F80
20) F10E7F80
21) E6197F80
© digitrode.ru