Подсветку полки я собрал с ИК-приёмником за один вечер, а на второй день переставил макетку на другую стену — за гипсокартонную перегородку. Пульт щёлкает, камера телефона показывает вспышки, приёмник молчит. Полчаса я подозревал скетч, потом пин, потом библиотеку — а потом выставил макетку обратно на прежнюю стену, и кадры пошли без единой правки кода. Виновата была не техника: между пультом и приёмником встала перегородка, а инфракрасный канал стены не пробивает ни при каком скетче.
Причина в природе сигнала. Диод пульта светит на длине волны около 940 нанометров — это тот же свет, что и от лампы, только чуть дальше красного по спектру, там, где глаз уже слепнет. Для света перегородка из гипсокартона — как кирпич для фонарика: волна не проходит в соседнее помещение ни в каком заметном количестве. Радиоканалы — Wi-Fi, 433 МГц — сквозь стены ходят, потому что у тех волн длина в дециметры и метры; свет с длиной волны в нанометры входит в стену и в соседнюю комнату не доходит. Это свойство канала, а не дефект приёмника, и учитывать его надо на этапе выбора места для платы.
В этом уроке раскладываем канал по геометрии: куда летит луч, что делают отражения от потолка и стен, какой конус реально держит приёмник VS1838B при паспортных плюс-минус 45 градусов и какие три рычага двигают дальность — ток диода, линза и бленда. Теорию сигнала мы разобрали в уроке про несущую и протоколы, приёмник подключали в уроке про VS1838B, а читалку кодов для замеров собирали в уроке про приём кодов.
Свет, отражения и конус приёма
Начнём с честной таблицы умножения канала. Прямая видимость при свежих батарейках даёт типовому пульту пять-восемь метров на приёмник из набора; у оригинальных Vishay паспорт доходит до восемнадцати, но в жилой комнате верить паспортным числам я не советую — мешает любая засветка. Один отскок от белого потолка режет дальность до двух-четырёх метров: свет рассеивается, и в линзу попадает лишь крошка пятна. Два отскока — пульт смотрит в стену, пятно падает на пол и только потом в приёмник — и счёт идёт на десятки сантиметров. Через стену — ноль метров, всегда и без исключений.
Отражение живёт по правилу фонарика: угол падения равен углу отражения. Белая стена — не зеркало, она размазывает пучок в пятно, и приёмник видит это пятно, если линза смотрит в его сторону. Этим эффектом вы пользуетесь каждый вечер: пульт от телевизора срабатывает с дивана под неудобным углом не потому, что светит прямо в приёмник, а потому, что потолок возвращает пятно. Мой тупик на этой теме: я развернул приёмник вдоль коридора и ждал, что сигнал обойдёт угол за счёт стены напротив. Не обошёл: один отскок ослабил сигнал вчетверо, и дальше двух метров пульт брал только прямым лучом через открытую дверь.
Угол приёма — вторая половина геометрии. Паспорт VS1838B обещает конус плюс-минус 45 градусов — это 90 градусов по полной ширине. На практике зона надёжного приёма уже: в пределах 20-40 градусов от оси кадры идут стабильно, а ближе к краю конуса их число падает заметно — приёмник ловит не каждый кадр, и счётчик из читалки покажет провалы. Отсюда правило монтажа: приёмник в корпусе или за декоративной панелью ставят отверстием по оси пульта, а не где-то сбоку. Панель с текстурой съедает ещё и часть прямого луча — эту цену мы уже считали в уроке про подключение приёмника.
#include <IRremote.hpp> const int IR_PIN = 2;unsigned long oknoStart = 0;int vsego = 0; void setup() { Serial.begin(9600); IrReceiver.begin(IR_PIN, ENABLE_LED_FEEDBACK); Serial.println("10 kratkih nazhatij na kazhdoj metke: 1/2/4/8 m");} void loop() { if (IrReceiver.decode()) { vsego = vsego + 1; Serial.print("kadr_cmd="); Serial.println(IrReceiver.decodedIRData.command); IrReceiver.resume(); } if (millis() - oknoStart >= 10000UL) { Serial.print("kadr_za_10s="); Serial.println(vsego); vsego = 0; oknoStart = millis(); }}Так рождается методика замера дальности. Разметьте на полу метки: один, два, четыре, восемь метров. На каждой метке сделайте десять коротких нажатий одной кнопки и запишите число из строки kadr_za_10s — при коротких нажатиях один кадр равен одному нажатию, удержание раздует счёт повторами. Последняя метка, где счётчик показал десять из десяти, и есть рабочая дальность вашего пульта, а не паспортная. Кривая с подсевшей батарейкой обрывается на метре-двух — этот симптом мы превратим в прибор в третьем уроке тройки, в стенде проверки пультов.
Для комнаты достаточно запаса в два раза: если пульт уверенно берёт четыре метра, прибор работает по всей комнате, включая отражённые пути. Мнение с границей: гнаться за паспортными восемнадцатью метрами бессмысленно — на такой дистанции уже мешает любая засветка и кривизна рук, а вот нарастить запас в тёмном углу помогают три рычага из следующей части урока.
Замер честен только при одинаковых условиях, и об этом стоит договориться заранее. Свежие батарейки в пульте, приёмник на том же месте макетки, штора закрыта: изменение любого из трёх условий сдвигает кривую на метр-полтора, и сравнивать вчерашний замер с сегодняшним тогда бесполезно. Я держу для таких опытов отдельную табличку в заметках: метка, счётчик из десяти, дата и состояние питания пульта — через месяц эта табличка превращается в график старения батареек, и по нему видно, когда пора менять, не дожидаясь отказов.
Три рычага дальности: ток, линза, бленда
Первый рычаг — ток через ИК-диод передатчика. Диод в пульте живёт импульсами: в момент пачки он отдаёт пик в сотни миллиампер, но средний ток остаётся в единицах миллиампер — скважность спасает кристалл от перегрева, мы считали её в уроке про несущую. Пик задаёт резистор: при 5 вольтах номинал 150 Ом — типовой выбор из урока про установку библиотеки и IrSender, резистор 100 Ом поднимает пик и добавляет метр-полтора дальности. Ниже 68 Ом опускаться не советую без даташита на конкретный диод: пик растёт, кристалл греется, диод деградирует за месяцы — и дальность вместо роста падает.
Второй рычаг — оптика передатчика. Типовой диод светит широким конусом 45-60 градусов: на всю комнату, но недалеко. Узкие модели с линзой 15-30 градусов жмут пучок в луч — дальность растёт в разы при той же мощности, но наводить приходится точно, как фонариком. Мнение с границей: для пары плат в одной комнате узкая оптика лишняя — широкий конус прощает небрежность установки; узкий диод берите, когда передатчик стоит стационарно и смотрит на приёмник через всё помещение.
Третий рычаг — экран приёмника, бленда. Трубка из чёрного пластика глубиной два-три диаметра линзы срезает боковую засветку: лампы и окно перестают бить в чувствительную площадку, автоматика усиления не задирает порог, и дальность в светлой комнате возвращается к тёмной. Мой замер на подоконнике: без бленды кадры пропадали дальше полуметра, с блендой из чёрной термотрубки — уверенные пять метров при той же схеме. Условие одно: бленда не должна вылезать в конус луча передатчика, иначе срежет прямой путь. А соседям за стеной ваш пульт не мешает вовсе — свет до них не доезжает, и это честный плюс канала.
| Путь луча | Дальность: типовой пульт, свежие батарейки | Комментарий |
|---|---|---|
| Прямая видимость | 5-8 м; Vishay — до 18 м по паспорту | эталон для замера метками из этого урока |
| Один отскок от потолка | 2-4 м | пятно рассеивается; им пользуетесь с дивана |
| Два отскока | десятки сантиметров | расчёт на двойное отражение не стройте |
| Через стену | не проходит никогда | для соседних комнат берите радио 433 МГц |
- ИК — свет с длиной волны 940 нм: через стену не проходит никогда; для соседних комнат нужен радио 433 МГц или Wi-Fi
- Цена геометрии: прямая видимость 5-8 м, один отскок от потолка 2-4 м, два отскока — десятки сантиметров
- Паспортный конус VS1838B — плюс-минус 45 градусов, надёжная зона — 20-40 от оси; отверстие в корпусе ставьте по оси пульта
- Дальность двигают три рычага: ток диода через резистор (100-150 Ом), узкая оптика передатчика, бленда на приёмнике
- Замер по-честному: метки 1/2/4/8 м, по десять коротких нажатий на каждой; рабочая дальность — где счётчик ловит десять из десяти
- 1. Почему ИК-пульт не работает через стену, а Wi-Fi работает?
- 2. Какой угол приёма обещает паспорт VS1838B?
- 3. Пульт светит в стену, приёмник ловит пятно после одного отскока от потолка. На какую дальность рассчитывать?
- 4. Что даст узкий ИК-диод с линзой 15-30 градусов вместо широкого?
- 5. Команды срабатывают через раз, пульт стоит у края конуса приёма. Первое действие?
Дальше по тройке два пути. Первый — построить собственный канал: пара передатчик и приёмник со словарём команд собирается в уроке про связь двух плат — там пригодятся и замер дальности, и правило прямой видимости. Второй — диагностика: стенд для проверки пультов и батареек покажет, жив ли пульт, раньше, чем вы успеете обвинить приёмник.
И последнее правило, которое я вынес из вечера с перегородкой: место для платы выбирают вместе с местом для пульта. Приёмник за корпусом — отверстие по оси; приёмник у окна — бленда; приёмник в соседней комнате — уже не ИК. Один продуманный угол экономит часы переделок.
Частые вопросы по теме урока
- Почему ИК-пульт не работает через стену, а Wi-Fi работает?
- 940 нанометров — это свет: в стену он входит, наружу не выходит. Радиоволны длиной в дециметры и метры огибают и прошибают перегородки — отсюда разница каналов. ИК — свет 940 нм, и стена для него непрозрачна, а дециметровые радиоволны проходят
- Какой угол приёма обещает паспорт VS1838B?
- Паспорт — конус 90 градусов по полной ширине. Надёжная зона уже: 20-40 градусов от оси, у края кадры теряются пачками. Плюс-минус 45 градусов — конус 90 по полной ширине
- Пульт светит в стену, приёмник ловит пятно после одного отскока от потолка. На какую дальность рассчитывать?
- Отражение работает, но рассеивается: один отскок от белого потолка оставляет 2-4 метра из восьми. Отсюда и срабатывание пульта с дивана под углом. На 2-4 метра — каждый отскок режет сигнал
- Что даст узкий ИК-диод с линзой 15-30 градусов вместо широкого?
- Узкая оптика жмёт пучок в луч: та же мощность собирается в узком конусе, дальность растёт в разы, но наводить передатчик надо точно. Дальность в разы выше — ценой точного наведения
- Команды срабатывают через раз, пульт стоит у края конуса приёма. Первое действие?
- Плавающие пропуски у края конуса лечатся геометрией: отверстие в корпусе и ось линзы должны смотреть на пульт. Ток и прошивка тут ни при чём. Развернуть приёмник по оси пульта