Как подключить IR Transmitter к ESP8266
Подключение IR передатчика довольно простое. У передатчика три ноги: GND, 5V и DATA. Подключаем его согласно схеме ниже. Передатчики есть разных видов, но подключение такое же.Подключаем библиотеку
Библиотека для работы с передатчиком не относится к стандартным библиотекам, поэтому её скачиваем здесь. Добавляем, как .ZIP библиотеку.Скетч для ИК передатчика ESP8266
Примечание. Большинство приборов поддерживают протокол инфракрасного управления NEC на частоте 38 кГц. Если не удается передать сигнал по данному протоколу, то рекомендуем попробовать использовать метод sendRaw(). В метод sendRaw() передаем необработанные данные в виде массива, указываем его размер и частоту передачи. Пример получения этих данных, можно посмотреть в примере по управлению кондиционерами с помощью ESP 8266.
#include <IRremoteESP8266.h> // Подключаем библиотеку IRremoteESP8266
#include <IRsend.h>
const uint16_t kIrLed = 4; // D2, рекомендованный ПИН ИК передатчика
IRsend irsend(kIrLed);
// Пример массива необработанных данных
uint16_t rawData[67] = {4524, 4510, 554, 1720, 528, 1696, 552, 1696, 552, 568, 556, 570, 554, 568, 556, 568, 554, 570, 552, 1694, 554, 1696, 552, 1696, 552, 568, 554, 570, 554, 568, 556, 570, 554, 570, 556, 568, 554, 568, 556, 1694, 552, 568, 556, 570, 554, 570, 552, 570, 554, 568, 556, 1698, 550, 1698, 550, 570, 554, 1694, 554, 1696, 552, 1696, 552, 1696, 552, 1698, 550};
void setup() {
Serial.begin(115200);
irsend.begin(); // Инициализируем ИК передатчик
}
void loop() {
Serial.println("NEC");
irsend.sendNEC(0xE0E020DF); // Отправляем данные по протоколу NEC
delay(2000);
Serial.println("Sony");
irsend.sendSony(0xa90, 12, 2); // Отправляем данные по Sony SIRC 12 бит/2-ое повторение
delay(2000);
Serial.println("Raw data");
irsend.sendRaw(rawData, 67, 38); // Отправляем необработанные данные, размер 67/частота 38 кГц
delay(2000);
}
Комментарии