IRremote — пульты дистанционного управления
Приём ИК-кодов, протоколы NEC, управление техникой
Читаем кнопки любого пульта: ИК-приёмник, протоколы, декодирование команд, отправка сигналов своей платой.
Прогресс раздела0/62 · 0%
- ИК-пульты: как устроен инфракрасный сигналНесущая 38 кГц, пачки света и огибающая: как ИК-пульт кодирует биты, чем NEC отличается от SIRC и RC-5 и почему фоторезистор сигнал не видит.15 мин
- ИК-приёмник VS1838B: подключение к ArduinoVS1838B или TSOP4838: распиновка OUT-GND-VCC, подтяжка выхода, резистор 100 Ом и конденсатор в питании, типовая схема на макетке и ловушки помех.14 мин
- Библиотека IRremote: установка и отличия версии 4Установка IRremote 4.x через Менеджер библиотек: IrReceiver и IrSender, таблица миграции со старого API и пять строк, возвращающие скетчи к жизни.14 мин
- ИК-барьер: датчик пересечения лучаИК-барьер на Arduino: прямой и отражённый луч, порог с гистерезисом, счётчик посетителей и охранный зуммер.16 мин
- Прерывания и обработка ИК: не теряем кадрыКадр ИК принимает прерывание, а не loop: тик 50 мкс, буфер на 200 отметок, окно decode-resume.16 мин
- Итоговый проект: пульт-центр для комнатыФинальный проект раздела: приёмник, реле, светодиод и зуммер на одной плате, меню режимов на LCD 16x2, всё на millis.17 мин
- Пульт как ключ охраны: arm/disarm по ИКОхранная система с пультом вместо ключа: постановка и снятие по ИК, задержка на выход 5 секунд, сирена на tone и разводка таймеров, чтобы приёмник не оглох.16 мин
- Вентилятор с пульта: три скорости и поворотВентилятор с ИК-пультом: кнопки 1-2-3 дают три скорости на ШИМ, ноль останавливает, разгон плавный по millis без рывка тока, индикация уровня и честные токи.16 мин
- Обучаемый пульт: записываем коды в EEPROM и воспроизводимОбучаемый ИК-приёмник на EEPROM: зажимаем кнопку на 10 секунд, пишем коды пульта по слотам 0-5, после перезагрузки плата узнаёт свои кнопки без перепрошивки.17 мин
- NEC изнутри: 32 бита, две инверсии и второй пакетРазбираем кадр NEC по байтам: адрес и инверсия адреса, команда и её инверсия, порядок бит LSB-first, расширенный NEC2 и анатомия второго пакета-повтора.16 мин
- RC5 и RC6: 14 бит, flip-бит и как опознать пультЧем RC5 и RC6 отличаются от NEC: манчестерские полубиты 889 мкс, 14 бит кадра, flip-бит в decodedIRData.extra и как опознать протокол чужого пульта за минуту.16 мин
- Сырые интервалы: микросекунды вместо готовых кодовЧто видно в сырых числах кадра: тики по 50 микросекунд, порог тишины 8 мс, поправка MARK_EXCESS и пороговый автомат, собирающий биты без словаря протоколов.17 мин
- Repeat-кадры: чтобы кнопка не срабатывала девять раз в секундуПульт шлёт repeat-кадр каждые 108 мс, пока кнопку держат.16 мин
- Ложные команды: помехи, белый список и резистор на питанииСолнце срезает дальность ИК почти на 70 процентов, лампы лезут в полосу 38 кГц.16 мин
- ИК-ретранслятор: decode на входе, sendNEC на выходеУдлинитель пульта на одной плате: приёмник TSOP на D11, ИК-светодиод на D3.17 мин
- Пульт как панель управления: реле и светодиод по коду кнопкиПревращаем ИК-пульт в панель команд для реле и светодиода: словарь кодов в PROGMEM, switch по действию, порядок запуска нагрузок и питание реле-модуля.16 мин
- Сниффинг чужого пульта: считываем и повторяем кодыСнимаем коды пультов телевизора и кондиционера через IRremote: журнал команд с адресами, повтор sendNEC и граница — фиксированные кадры против динамических.17 мин
- ИК против радио: где оптика выигрывает, а где сдаётсяСравниваем ИК-канал с 433 МГц, Bluetooth и Wi-Fi: стены, настройка, питание, соседи по эфиру.15 мин
- IRremote 4.x против 3.x: перетаскиваем скетчи с форумовСкетч с форума не собирается с IRremote 4.x: decode(&results) устарел, results.value распался на поля decodedIRData.16 мин
- Свой пульт из Arduino: кнопки на макетке шлют sendNECСвой пульт из Arduino: три кнопки на макетке, IrSender.sendNEC со своим адресом, повторы при удержании и вторая плата в роли приёмника.16 мин
- TSOP4838 и VS1838B: что живёт внутри трёх ног приёмникаTSOP4838 и VS1838B изнутри: несущая 38 кГц, открытый коллектор и подтяжка, конденсатор у ног питания, распиновка и стенд диагностики мёртвого модуля.16 мин
- Пульт-диммер: клик — шаг, удержание — разгонДиммер с ИК-пульта как в технике: клик даёт мелкий шаг, удержание собирает серию кадров и разгоняется, OK включает прошлый уровень с плавным подъёмом.16 мин
- Обучение пульта: привязки кнопок к действиям в RAMРежим обучения по кнопке платы: первый адрес становится хозяином сессии, кнопки пульта назначаются слотам-действиям.16 мин
- Счётчик посетителей: два луча 38 кГц, направление и EEPROMСчётчик вход/выход на двух ИК-лучах: кадры NEC вместо непрерывного света, направление по порядку пересечений, счётчики в EEPROM и отчёт по Serial.16 мин
- Таймер розетки на пульте: реле гасит нагрузку по счётуИК-таймер розетки: цифры задают срок, OK гасит сразу, светодиод дышит, пока идёт отсчёт.16 мин
- Кнопка тишины: Arduino-двойник mute для колонкиКнопка на макетке шлёт sendNEC с адресом колонки: mute одним кадром без повторов, антидребезг по фронту и главная ловушка — Arduino не знает, включён ли звук.16 мин
- Цикл сцен ночника: один код шагает по кольцуОдна кнопка пульта листает сцены ночника по кольцу: выкл, ночник, дремота, ярко.16 мин
- IRremote 4.x: что изменилось и как мигрировать старые скетчиМиграция на IRremote 4.x: IrReceiver.begin вместо enableIRIn, decodedIRData вместо results.value, таблица замен и диагноз по строкам компилятора за вечер.16 мин
- Свой ИК-пульт: IrSender и sendNECСобираем ИК-пульт на IrSender: диод 940 нм через резистор 100–150 Ом, sendNEC с адресом и повторами, дальность от тока и ловушка эха собственных кадров.16 мин
- ИК-барьер: приёмник как датчик пересеченияИК-барьер на TSOP: почему непрерывная подсветка ослепляет приёмник, как спасают короткие пачки 38 кГц и как считать пересечения турникетом с замком.16 мин
- Робот с пульта: танковая схема на двух моторахТанковая схема на двух моторах: IN1/IN2 и ШИМ-скорость, поворот на месте разностью оборотов, гашение авто-повтора пульта и ток моторов против USB.16 мин
- ИК-удлинитель: ловим пульт — повторяем на другой комнатеИК-удлинитель на Arduino: приёмник на D2 ловит пульт, IrSender на D3 повторяет кадр в тумбу, задержка 100-150 мс и защита от эха собственного света.16 мин
- Макрос-кнопка: последовательности команд на одном пультеОдна кнопка пульта запускает цепочку свет → серво → реле: конечный автомат на millis с шагами 500 мс, прерывание другой кнопкой и таблица макросов.16 мин
- Первые коды пульта: IrReceiver.begin и decodeРазбираем decodedIRData по полям: command, address, flags, numberOfBits.16 мин
- Протокол NEC: биты, адрес и командаАнатомия кадра NEC: лидер 9 мс, биты длиной паузы, инверсия байтов.16 мин
- RC5, Sony SIRC, RAW: другие протоколы ИКSIRC шлёт 12/15/20 бит длиной вспышки, RC5 — манчестером с toggle-битом, RAW — диктофон длительностей.15 мин
- Два приёмника в одной комнате: зоны приёма и приоритетДва TSOP в разных концах комнаты: выходы на один пин как открытый коллектор, свой опрос двух зон с приоритетом, фильтр брака и лог зоны в Serial.16 мин
- ИК-мост в MQTT: пульт как пульт умного домаПульт как пульт умного дома: мост IRremote в MQTT на ESP8266, топики и payload, фильтр повторов, статус моста и обратный мост на кондиционер.16 мин
- Шторы на сервоприводе: пульт открывает и закрываетАвтомат штор open, opening, closing, closed: ход по градусу на millis, пауза кнопкой пульта посреди движения, концевые защиты по углу и питание серво.15 мин
- Удержание кнопки: repeat-кадры NECПульт шлёт кадр-повтор каждые 108 мс, пока кнопку держат.16 мин
- Управляем светодиодом пультом: карта кодовСобираем карту кодов: кнопка, код, действие.15 мин
- Сканер кодов: таблица кнопок своего пультаСнимаем дамп всех кнопок в Serial Monitor и храним таблицу в шапке скетча.15 мин
- Помехи ИК-приёмнику: LCD-подсветка, лампы, солнцеЛожные команды без пульта: диммер, люминесцентные лампы, солнце, LCD-подсветка.16 мин
- IRremote и Timer2: конфликт таймеров библиотекПочему tone() глушит ИК-приём на Uno: Timer0 у millis, Timer1 у Servo, Timer2 у tone и IRremote.17 мин
- IrReceiver.resume: неблокирующее чтение в loopЦикл приёма без delay: decode, скопировать команду, resume, обработка после.16 мин
- ИК-светодиод 940 нм: передатчик своими рукамиРезистор 33–150 Ом и ток 20–100 мА в импульсе, дальность 1–5 м против угла свечения 20–60 градусов: собираем ИК-передатчик и усиливаем транзистором.16 мин
- IrSender.sendNEC: шлём команды как пультIrSender.begin и sendNEC(адрес, команда, повторы): четыре байта кадра NEC, эмуляция пульта ТВ и колонки, repeat-кадры для удержания громкости.16 мин
- Свой пульт: Arduino управляет медиатехникойТаблица кодов своей техники, кнопки на плате шлют sendNEC, сценарий одной кнопкой: свет, ТВ и колонка слушаются Arduino вместо трёх пультов.17 мин
- RAW-коды: считываем и копируем неизвестный пультПульт печатает UNKNOWN: снимаем кадр целиком printIRResultRawlinated, переносим длительности в массив и играем обратно sendRaw.16 мин
- IRremoteESP8266: пульты на ESP32 и ESP8266Своя библиотека для ESP8266 и ESP32: старое API IRrecv и decode_results, константа kIrLed, аппаратная передача через RMT.16 мин
- Кондиционер по ИК: протоколы климатической техникиКадр кондиционера несёт всё состояние: градусы, режим, жалюзи, бип.17 мин
- ИК-шлюз: кнопка пульта превращается в HTTPКнопка пульта превращается в HTTP GET на ESP32: конвейер принять-распознать-отправить, resume до запроса, карта код-URL и таймауты против блокирующего GET.16 мин
- Робот на ИК-командах: пульт и драйвер моторовМашинка на пульте и L298N: ENA и IN1-IN4, скорость от repeat-кадров, стоп по millis-таймауту с последнего кадра и раздельное питание без перезагрузок платы.16 мин
- Несколько пультов: разделение по адресу устройстваФильтр по decodedIRData.address разводит пульты ТВ, колонки и приставки: ловушка безымянных пультов с адресом 0x00 и роутер команд на три устройства.15 мин
- Регулировка яркости с пульта: плюс и минусЯркость с ИК-пульта по-взрослому: гистерезис шага 150 мс против рывков повтора NEC, плавный доезд через millis, constrain 0-255 и ШИМ-пин без Таймера 2.16 мин
- Меню по ИК: выбор режима пультомМеню на ИК-пульте: CH+ и CH- листают пункты, OK запускает режим, EQ возвращает назад.17 мин
- Обратная связь: ИК-пульт плюс LCD-экранПоказываем принятую ИК-кнопку на LCD 16x2 по I2C: карта кодов и имена, отладка со счётчиком кадров, обновление экрана только при смене команды.15 мин
- Дальность и геометрия ИК: почему через стену нельзяОптика ИК-канала на 940 нм: почему сигнал не проходит стену, что делают отражения от потолка, конус приёма VS1838B и три рычага дальности — ток, линза, бленда.16 мин
- Свой протокол: шлём команды между двумя ArduinoПара передатчик и приёмник на IRremote: словарь команд с адресом устройства, кадры NEC со встроенной проверкой, повторы с паузами и подтверждение приёма бипом.17 мин
- Тестер пультов: стенд проверки батареек и кнопокСтенд-диагност для ИК-пультов: паспорт кадра в Serial, счётчик кадров за минуту, таблица срабатываний по кнопкам и разбор симптомов слабеющей батарейки.16 мин
- Читаем кнопки любого ИК-пультаПодключаем ИК-приёмник TSOP4838 к Arduino и читаем кнопки любого пульта через IRremote: decodedIRData.command, протокол NEC на 32 бита и своя таблица кодов.16 мин
- Управляем светом с пульта: команды и повторУправляем светом с ИК-пульта: switch по decodedIRData.command, ловим автоповтор NEC флагом IRDATA_FLAGS_IS_REPEAT и держим яркость PWM в границах.17 мин