Модуль ИК-передатчика KY-005

Модуль инфракрасного передатчика KY-005

Модуль инфракрасного передатчика KY-005 излучает инфракрасный свет с частотой 38 кГц и длиной волны 940нм (невидим для человеческого глаза). Его можно использовать для управления телевизорами, стереосистемами, кондиционерами и другими устройствами с ИК-приемником. А также для подключения двух удаленных устройств Arduino. Для реализации такой ИК-системы необходимо использовать модуль KY-005 вместе с модулем инфракрасного приемника  KY-022.

Характеристики модуля KY-005

Электрическая схема этого модуля довольно проста и состоит из 5-мм инфракрасного светодиода IR333-A и 3 штыревых контактов. 

Примечание


Такой же диод установлен на модуле датчика обхода препятствий KY-032.

Внимание


Обращайтесь с осторожностью, не направляйте ИК-свет прямо в глаза.

Рабочее напряжение5 В
Рабочий ток~30 мА
Длина волны940 нм
Рабочая температураот -25°C до 80°C
Размеры платы18,5 мм x 15 мм
Характеристики модуля KY-005
Электрическая схема модуля KY-005
Рисунок 1. Электрическая схема модуля
Печатная плата модуля KY-005
Рисунок 2. Печатная плата модуля

Как подключить к Ардуино

KY-005Arduino Uno
SКонтакт D3
Средний выводНе используется
GND
Подключение модуля к плате
Распиновка модуля KY-005
Рисунок 3. Распиновка модуля
  • Подключите сигнальный вывод S к контакту D3 на плате Arduino.
  • Подключите землю к GND на плате Arduino.

Номер контакта для ИК-передатчика определяется библиотекой IRremote. Другие библиотеки могут использовать другой контакт.

Рисунок 4. Схема подключения ИК-диода к Ардуино

Версия библиотеки 2.0.1

#include <IRremote.h>

IRsend irsend;

const int SEND_PIN = 3;                // ИК-передатчик, подключенный к Ардуино

void setup()
{
    irsend.setSendPin(SEND_PIN);       // Передаем контакт, к которому подключен передатчик  
}
void loop() 
{
    irsend.sendNEC(0xB847FF00, 32);     // Отправляем код, используя протокол NEC
    
    delay(500); // ждем 0.5 секунды
}

Если к контакту D7 ардуино дополнительно подключить ИК-приемник KY-022, то можно проверить правильность отправленных данных.

#include <IRremote.h>

IRsend irsend;

const int RECV_PIN = 7;         // ИК-приемник, подключенный к Ардуино
const int SEND_PIN = 3;         // ИК-передатчик, подключенный к Ардуино
IRrecv irrecv(RECV_PIN);        // Создаем объект для приемника
decode_results results;         // Объявляем переменную для хранения результата

void setup()
{
    Serial.begin(9600);         // Инициализируем последовательный порт
    irrecv.enableIRIn();        // Включаем прием
    irsend.setSendPin(SEND_PIN);       // Передаем контакт, к которому подключен передатчик
    
}
void loop() 
{
    irsend.sendNEC(0xB847FF00, 32);     // Отправляем код, используя протокол NEC
    
    delay(500); // ждем 0.5 секунды

    if (irrecv.decode(&results))  // Проверяем, пришли ли данные
    {
        Serial.println(results.value, HEX); // Выводим в порт
        irrecv.resume();                    // Получаем следующее значение
    }
}

Вот что выводит монитор порта:

Данные, полученные от ИК-передатчика

Версия библиотеки 4.2.0

#include <IRremote.hpp>         // Подключаем библиотеку
       
#define IR_SEND_PIN 3          // Сигнальный вывод модуля (или анод ИК-диода), подключенный к Ардуино

void setup()
{
  IrSender.begin(IR_SEND_PIN);
}

void loop() {
  IrSender.sendNEC(0x0, 0x47, 1);   // Отправить один раз код 0xB847FF00, используя протокол NEC
  delay(1000);
}

ИК-приемник получит следующее:

Прием данных от KY-005

Про ИК-приемник можно прочитать в этой статье.

Где купить

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии