цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Декодер ИК-сигналов на основе Arduino



Декодер ИК-сигналов на основе Arduino

Автор: Mike(admin) от 23-02-2022, 23:55

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


Декодер ИК-сигналов на основе Arduino

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


Декодер ИК-сигналов на основе Arduino

Декодер ИК-сигналов на основе 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 цифр).


Декодер ИК-сигналов на основе Arduino

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


Декодер ИК-сигналов на основе Arduino

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


Декодер ИК-сигналов на основе Arduino



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


Теги: Arduino, ИК-сигналы




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий