Первую версию передатчика я собрал за десять минут, а убил на неё весь вечер. Воткнул ИК-светодиод в макетку как обычный красный, поставил резистор 330 Ом, который лежал под рукой ближе всех, и направил диод на приёмник из читалки. Читалка молчала. Вплотную, на расстоянии ладони, команды доезжали через раз, с полуметра стенд глох полностью. При этом родной пульт от люстры бил через всю комнату и даже по отражению от потолка, о чём мы уже говорили в уроке про приём и коды.
Разница оказалась не в чёрной магии, а в токе. Красному светодиоду для полноценной вспышки хватает десяти миллиампер, а ИК-диод в настоящем пульте жжёт по 50–100 мА в импульсе — вспышки короткие, по 560 мкс, поэтому кристалл живёт десятилетиями. Мои 330 Ом от 5 В давали примерно (5 − 1,2)/330 ≈ 11 мА: приёмник видел огонёк свечи там, где ждёт прожектор. Вдобавок корпус оказался прозрачным, и полярность на глаз не определишь — кристалл внутри не розовый, а чёрный, длинная ножка быстро перестала быть подсказкой.
Разберёмся, как выбрать резистор под нужную дальность, почему у ИК-светодиода конус 20–60 градусов и что это меняет на практике, как опознать ножки без даташита и когда пину Arduino нужен транзистор. Числа будут с условиями, потому что дальность зависит и от тока, и от угла, и от того, куда смотрит приёмник. После этого урока ваш стенд будет доезжать до приёмника через комнату, а не на расстоянии поцелуя.
Ножки, резистор и ток: считаем под дальность
Начну с ног, потому что именно здесь я потерял полчаса. У круглых ИК-светодиодов на 3 и 5 мм, как и у обычных, длинная ножка — анод, короткая — катод, и на фланце со стороны катода есть спил. Только корпус прозрачный и выглядит пустым, а после обрезки ножек под одну длину оба признака исчезают. Мой надёжный способ — камера телефона: подключаю диод к батарейке-кроны через резистор на 100 Ом, смотрю на экран. Фиолетово-белая точка на месте — полярность верная, тишина — переворачиваю. Тот же приём мы использовали, когда проверяли пульт без единого провода, и для голого диода он работает так же.
Теперь резистор. Падение на ИК-диоде при рабочих токах — 1,1–1,5 В против двух вольт у красного, формула прежняя, числа другие. От 5 В: резистор 150 Ом даёт (5 − 1,2)/150 ≈ 25 мА, 100 Ом — около 38 мА, 68 Ом — уже 56 мА. Пин Arduino держит 40 мА как абсолютный потолок, а в постоянной работе комфортно себя чувствует при двадцати. Отсюда моё правило: для макеточных стендов беру 150 Ом напрямую с пина — 25 мА, диод холодный, прямой луч доходит на метр-полтора. Дальше хочется не ужимом резистора, а транзистором — об этом ниже.
Слово «импульсно» в заголовке не украшение. Кадр NEC при нажатии тянется 50–85 мс, но внутри пачки несущей 38 кГц диод горит лишь треть времени, а между нажатиями отдыхает секундами. Поэтому 50–100 мА в пике для пульта — норма: средний ток не дотягивает до десятка миллиампер. Постоянно держать такой ток нельзя. Если шлёте кадры подряд без пауз, средний ток растёт, и диод на 68 Ом греется до неприятных на ощупь температур — я так однажды похоронил излучатель из первого набора.
Отдельно про цифру 940 в названии. ИК-светодиоды выпускают на 850, 880, 895 и 940 нанометров, и это не маркетинг: 850-е светят ярче и их любят ночные камеры наблюдения, 940-е полностью невидимы даже по краям и меньше страдают от солнечного фона. Приёмники из наборов — TSOP4838 и VS1838B — заточены под 940, но полоса чувствительности у них широкая: диод на 850 нм заработает, только дальность просядет на четверть-треть от паспортной. Мой совет с условием: если берёте диод отдельно от приёмника, смотрите на метку 940 нм — с ней стенд показывает заявленную дальность, без неё придётся мерить всё заново по своей комнате.
#include <IRremote.hpp> const uint8_t IR_SEND_PIN = 3; // на Uno и Nano выход несущей сидит на пине 3 (Timer2) void setup() { Serial.begin(9600); IrSender.begin(IR_SEND_PIN, ENABLE_LED_FEEDBACK); // мигает LED_BUILTIN на каждый кадр Serial.println("Stend peredatchika gotov");} void loop() { Serial.println("Tx: addr=0x00 cmd=0x43 povtory=2"); IrSender.sendNEC(0x00, 0x43, 2); // кадр плюс два повторных delay(3000);}Угол свечения, дальность и транзистор
Угол свечения — вторая цифра после тока. У типовых 5-мм ИК-диодов конус 20–60 градусов, и чем уже конус, тем дальше бьёт луч: вся энергия уходит вперёд, а не в бока. Узкие 20-градусные прощают точную наводку — стенд работает, только если диод смотрит почти точно в приёмник. Широкие 60-градусные прощают небрежность, но режут дальность. Родные пульты сидят посередине, около 30 градусов, и это согласовано с чувствительностью приёмника по углам — мы её считали в уроке про подключение VS1838B.
Числа складываются в простую лесенку. При 11 мА и 330 Ом — 30–50 см прямым лучом. При 25 мА и 150 Ом — 1–1,5 м. При 60–100 мА через транзистор — 4–5 м: мой стенд с BC337 честно выдал четыре метра стабильно, пятый плавал от того, насколько ровно стояла макетка. Отражение от белой стены или потолка съедает примерно половину дальности: кадр доходит, но запас по току нужен вдвое. Через стену не доедет ничего — ИК-канал оптический, и это не баг, а свойство света.
Транзисторная схема копирует моторную сборку один в один: база через 220–470 Ом на пин, эмиттер на землю, коллектор на катод диода, анод через резистор 47–68 Ом к 5 В. Пин теперь гоняет через базу 9–19 мА в зависимости от резистора, а весь импульсный ток берёт на себя транзистор. Я ставлю в базу 330 Ом: при коэффициенте усиления около сотни запас есть, а нагрузка на пин — 13 мА. Диодный резистор считайте от желаемого тока: для 70 мА при падении на диоде 1,3 В и насыщении транзистора 0,3 В подойдёт (5 − 1,6)/0,07 ≈ 47 Ом.
Замерять дальность советую не на глаз, а счётом кадров. Пусть стенд шлёт пачку из десяти команд с паузой в треть секунды — как скетч выше, только вызов sendNEC обёрнут в for. Отходите от приёмника и смотрите, сколько кадров из десяти дошло: у меня до трёх метров доходили все десять, на четырёх — семь, на пяти — парочка. Такая статистика честнее одного «вроде дошло»: одиночный успех на пределе дальности — лотерея, а не метрика. Заодно уйдёт соблазн подгонять результат, поворачивая диод в момент отправки.
| Резистор от 5 В | Импульсный ток | Дальность прямым лучом | Чем шлём |
|---|---|---|---|
| 330 Ом | около 11 мА | 30–50 см | пин напрямую; хватит для игр на одной макетке |
| 150 Ом | около 25 мА | 1–1,5 м | пин напрямую — мой дефолт для макеточных стендов |
| 100 Ом | около 38 мА | около 2 м | на грани пина: только короткие кадры с паузами |
| 47–68 Ом | 55–75 мА | 3–5 м | только через транзистор; пин такой ток не тянет |
Симулятор: стенд приёмника вместо эфира
- 1. Падение напряжения на ИК-светодиоде при рабочем токе — около 1,2 В. Какой ток даст резистор 150 Ом от 5 В?
- 2. Как опознать катод прозрачного ИК-светодиода, если ножки обрезаны и даташита нет?
- 3. Почему пульт жжёт диод током 50–100 мА, а кристалл не выгорает?
- 4. Стенд с диодом через 150 Ом ловит команды с полутора метров, а нужно пять. Самый прямой путь к цели?
- 5. Камера видит вспышки, вплотную приёмник работает, с двух метров — молчит. Первое подозрение?
- Падение на ИК-диоде 1,1–1,5 В: от 5 В резистор 150 Ом даёт около 25 мА — мой дефолт для прямого подключения
- Полярность прозрачного диода: короткая ножка и спил фланца — катод; обрезали — проверяйте камерой телефона
- 50–100 мА в импульсе — норма пульта: внутри пачки 38 кГц диод горит треть времени, между кадрами отдыхает
- Угол 20–60 градусов: узкий конус бьёт дальше, но требует наводки; отражение от стены съедает половину дальности
- Дальность 4–5 м начинается с транзистора: база через 220–470 Ом, диод через 47–68 Ом к 5 В
Стенд доезжает до приёмника через комнату — аппаратная часть передатчика закрыта. Веха у вас уже в руках: скетч выше шлёт адрес 0x00 и команду 0x43 — те самые 67 в десятичном виде, которые печатает читалка на любую кнопку пульта из набора. Осталось научить диод говорить осмысленно: в следующем уроке IrSender.sendNEC собирает адрес, команду и повторы и превращает макетку во второй пульт. А если хочется сразу перейти к цели — в третьем уроке тройки одна кнопка на плате запускает целый сценарий для медиатехники: свет, колонка и телевизор подчиняются одному нажатию.
Частые вопросы по теме урока
- Падение напряжения на ИК-светодиоде при рабочем токе — около 1,2 В. Какой ток даст резистор 150 Ом от 5 В?
- (5 − 1,2)/150 ≈ 25 мА. Именно поэтому 150 Ом — мой дефолт для прямого подключения к пину: ток в рабочей зоне, диод холодный, дальность метр-полтора. Около 25 мА
- Как опознать катод прозрачного ИК-светодиода, если ножки обрезаны и даташита нет?
- Прозрачный корпус и обрезанные ножки лишают двух главных подсказок. Остаётся спил фланца и надёжный тест: камера телефона показывает фиолетовую точку, если диод включён верно. Спил на фланце со стороны катода — либо камерный тест с батарейкой
- Почему пульт жжёт диод током 50–100 мА, а кристалл не выгорает?
- Считается средний ток, а не пиковый: скважность пачки несущей и паузы между кадрами опускают его до единиц миллиампер. Постоянные 100 мА диод не пережил бы. Вспышки короткие: пачки по 560 мкс, внутри пачки горит треть времени, между кадрами диод отдыхает
- Стенд с диодом через 150 Ом ловит команды с полутора метров, а нужно пять. Самый прямой путь к цели?
- Дальность растёт от тока, а ток выше 40 мА пин не отдаёт. Транзистор снимает это ограничение: четыре-пять метров прямым лучом при 70 мА в импульсе. Транзистор: база через 220–470 Ом, диод через 47–68 Ом к 5 В, импульсный ток 60–100 мА
- Камера видит вспышки, вплотную приёмник работает, с двух метров — молчит. Первое подозрение?
- У типовых диодов конус 20–60 градусов: чуть отвёл луч — и поток мимо приёмника. Отражение от стены добирается, но теряет половину силы. Наводка и ток решают. Узкий угол свечения: диод смотрит мимо конуса чувствительности приёмника, а ток на пределе