Каталог
ИК Перехватчик на Arduino

ИК Перехватчик на Arduino

В современном мире инфракрасные (ИК) сигналы играют ключевую роль в управлении различными устройствами: от телевизоров до систем кондиционирования воздуха. Однако, возможности перехвата и анализа ИК-сигналов остаются недооцененными. В этой статье мы представляем проект ИК Перехватчик — мощный инструмент для захвата, анализа и управления ИК-сигналами.

ВНИМАНИЕ: Чтобы подключить библиотеку для Arduino, выполните следующие шаги:

  1. Скачайте библиотеки с официального сайта или из репозитория GitHub:

  2. Откройте программу Arduino IDE и перейдите в меню «Скетч» → «Подключить библиотеку» → «Добавить .ZIP библиотеку…».

  3. В открывшемся окне выберите скачанный .zip файл и нажмите «Открыть».

  4. Снизу Arduino IDE появится сообщение “Библиотека добавлена. Проверьте меню “Подключить библиотеку””.

  5. Теперь библиотека будет доступна для использования в ваших проектах.

Необходимые компоненты:

Для реализации проекта ИК Перехватчик вам понадобятся следующие компоненты, которые можно приобрести здесь:

  1. Arduino (например, Arduino Uno)
  2. Пульт дистанционного управления (батарейка в комплекте).
  3. Соединительные провода (3-х жильные).
  4. ИК приемник.
  5. Тестовый светодиод.
  6. Макетная плата

Подключение

Подключите компоненты согласно следующей схеме:

  1. ИК-передатчик:

    • Подключите один вывод к пину 2 на Arduino.
    • Подключите другой вывод к GND.
  2. ИК-приёмник:

    • Подключите вывод VCC к 5V на Arduino.
    • Подключите вывод GND к GND на Arduino.
    • Подключите вывод OUT к пину 7 на Arduino.

Код:

Откройте Arduino IDE и создайте новый скетч, затем перепишите следующий код:

#include <AlashIRControlTX.h> // Подключаем библиотеку для работы с ИК-передатчиком
#include <AlashIRControlRX.h> // Подключаем библиотеку для работы с ИК-приёмником
AlashIRControlTX irTransmitter(2); // Объявляем объект irTransmitter, с указанием вывода, к которому подключён ИК-передатчик
AlashIRControlRX irReceiver(7); // Объявляем объект irReceiver, с указанием вывода, к которому подключён ИК-приёмник
void setup() {
  Serial.begin(9600); // Инициализация серийного порта
  irTransmitter.begin(); // Инициализация работы с ИК-передатчиком
  irReceiver.begin(); // Инициализация работы с ИК-приёмником
}
void loop() {
  handleSerialInput(); // Обработка входных данных с серийного порта
  checkIRReceiver(); // Проверка и обработка данных с ИК-приёмника
}
void handleSerialInput() {
  if (Serial.available() > 0) {
    String data = Serial.readString();
    uint32_t decimalNumber = (uint32_t)strtoul(data.c_str(), NULL, 16);
    irTransmitter.send(decimalNumber, true);
  }
}
void checkIRReceiver() {
  if (irReceiver.check(true)) { // Проверка наличия данных в буфере, принятых с пульта
    Serial.print("Received IR data: ");
    Serial.println(irReceiver.data, HEX); // Вывод кода нажатой кнопки в шестнадцатеричном формате
    Serial.print("Bit length: ");
    Serial.println(irReceiver.length); // Вывод количества бит в коде
  }
}

Особенности кода ИКПерехватчика

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

Передача сигнала через серийный порт

Одной из ключевых функций данного кода является возможность передачи ИК-сигнала, введённого пользователем через серийный порт. Пользователь может ввести 16-значное шестнадцатеричное число в серийный монитор, и устройство отправит соответствующий ИК-сигнал. Это достигается с помощью функции handleSerialInput(), которая обрабатывает входные данные с серийного порта и отправляет сигнал.

Пример ввода и передачи сигнала:

  1. Пользователь вводит в серийный порт, например, FF629D.
  2. Код преобразует строку в десятичное число и отправляет его через ИК-передатчик.
void handleSerialInput() {
  if (Serial.available() > 0) {
    String data = Serial.readString();
    uint32_t decimalNumber = (uint32_t)strtoul(data.c_str(), NULL, 16);
    irTransmitter.send(decimalNumber, true);
  }
}

Перехват и копирование ИК-сигнала

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

Пример перехвата и копирования сигнала:

  1. Устройство перехватывает ИК-сигнал от пульта.
  2. Код выводит захваченный сигнал в шестнадцатеричном формате на серийный монитор.
  3. Пользователь может использовать этот шестнадцатеричный код для дальнейшей передачи сигнала.
void checkIRReceiver() {
  if (irReceiver.check(true)) { // Проверка наличия данных в буфере, принятых с пульта
    Serial.print("Received IR data: ");
    Serial.println(irReceiver.data, HEX); // Вывод кода нажатой кнопки в шестнадцатеричном формате
    Serial.print("Bit length: ");
    Serial.println(irReceiver.length); // Вывод количества бит в коде
  }
}

Общий функционал

  1. Передача сигнала через серийный порт: Пользователь может ввести 16-значное шестнадцатеричное число в серийный монитор, и устройство передаст соответствующий ИК-сигнал.
  2. Перехват и копирование сигнала: Устройство может перехватывать ИК-сигналы от других пультов, выводить их в шестнадцатеричном формате и затем использовать эти коды для передачи.

Пример использования

  1. Введите в серийный порт FF629D, и устройство передаст этот сигнал.
  2. Перехватите сигнал с пульта, и устройство выведет на серийный монитор, например, Received IR data: FF629D.
  3. Используйте выведенный код для повторной передачи, введя его в серийный порт.

Заключение

ИКПерехватчик представляет собой инновационный проект, открывающий широкие возможности для работы с ИК-сигналами. Его простота в использовании и мощный функционал делают его незаменимым инструментом как для любителей электроники, так и для профессионалов. Попробуйте создать свой ИКПерехватчик и откройте для себя новые горизонты в мире инфракрасных технологий!

Комментарии
Отзывов еще никто не оставлял
Предзаказ
Предзаказ успешно отправлен!
Имя *
Телефон *
Добавить в корзину
Название товара
100 тг
1 шт.
Перейти в корзину
Обратный звонок
Запрос успешно отправлен!
Имя *
Телефон *
Заказ в один клик
С помощью уведомлений о заказе можно не только получать актуальную информацию по заказу, но и иметь быстрый канал связи с магазином