Вот подробная информация об **ИК-приёмнике TL1838**, собранная из различных источников:
---
### **1. Основные характеристики TL1838** - **Тип:** Инфракрасный приёмник с демодуляцией на 38 кГ…
Вот подробная информация об **ИК-приёмнике TL1838**, собранная из различных источников:
---
### **1. Основные характеристики TL1838** - **Тип:** Инфракрасный приёмник с демодуляцией на 38 кГц . - **Напряжение питания:** 2.7–5.5 В, что делает его совместимым с Arduino, Raspberry Pi и другими микроконтроллерами . - **Потребляемый ток:** ~1.4 мА . - **Дальность приёма:** До 10–15 метров (зависит от условий освещения) . - **Угол обзора:** ±45° . - **Фильтрация помех:** Устойчив к воздействию ambient-света (например, от ламп) .
---
### **2. Конструкция и назначение** - **Корпус:** 3-выводной (обычно: выход, GND, VCC), компактный размер . - **Применение:** - Приём сигналов от пультов ДУ (телевизоры, кондиционеры) . - DIY-проекты на Arduino/Raspberry Pi . - **Аналоги:** VS1838B, HX1838, TSOP382 (отличаются уровнем фильтрации помех и наличием breakout-платы) .
---
### **3. Подключение и пример кода для Arduino** #### **Схема подключения:** 1. **VCC** → +5V (или 3.3V для Raspberry Pi). 2. **GND** → Земля. 3. **OUT** → Цифровой пин (например, D11).
void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); } } ``` *Примечание:* Код выводит HEX-коды нажатых кнопок пульта в Serial Monitor .
---
### **4. Сравнение с другими ИК-приёмниками** | Параметр | TL1838 | TSOP382 | KY-022 | |-------------------|-------------|-------------|-------------| | Напряжение | 2.7–5.5 В | 2.5–5.5 В | 2.7–5.5 В | | Частота | 38 кГц | 36/38/40 кГц| 38 кГц | | Потребление | ~1.0 мА | 0.35 мА | 0.4–1.5 мА | | Встроенный LED | Нет | Нет | Да | | Устойчивость к свету | Средняя | Высокая | Низкая |
**Выбор модуля:** - Для начинающих: **TL1838** или **KY-022** (простота подключения). - Для промышленных решений: **TSOP382** (лучшая помехоустойчивость) .
---
### **5. Где купить и цена** - **Aliexpress/Amazon:** 50 шт. за ~$3.83 (дешево, но долгая доставка) . - **Локальные магазины (Европа):** ~€0.35 за шт. . - **В России:** Аналоги (VS1838B) доступны в ChipDip и других магазинах электроники.
---
### **6. Частые проблемы и решения** - **Не реагирует на пульт:** - Проверьте полярность подключения. - Убедитесь, что пульт исправен (можно проверить камерой смартфона — ИК-диод должен светиться) . - **Ложные срабатывания:** - Добавьте конденсатор 10–100 мкФ между VCC и GND для фильтрации помех .
Да, **HEX-коды кнопок пультов ДУ могут совпадать у разных пультов**, но не всегда. Это зависит от **протокола ИК-передачи** и производителя. Вот основные нюансы:
---
### **1. Почему коды могут совпадать?** - **Стандартные протоколы** (NEC, RC5, Sony SIRC) используют **фиксированные коды** для базовых функций (например, кнопки `Power`, `Vol+`). - Пример: - Пульт телевизора **Samsung** и **LG** могут отправлять одинаковый код `0xE0E040BF` для кнопки включения (если оба используют протокол NEC). - **Дешёвые китайские пульты** часто клонируют коды популярных брендов.
---
### **2. Когда коды НЕ совпадают?** - **Кастомные протоколы** (например, у кондиционеров или специализированной техники). - **Разные производители** даже для одного протокола могут использовать свои кодировки. - Пример: - Кнопка `1` на пульте **Sony** и **Philips** (оба используют RC5) будет иметь **разные HEX-коды**. - **Длина кода** (32 бита у NEC, 12 бит у Sony).
---
### **3. Как избежать конфликтов?** 1. **Используйте RAW-декодирование** (если библиотека поддерживает): - Анализирует не только код, но и **тайминги сигнала**. - Пример для библиотеки **IRremote**: ```cpp if (irrecv.decode(&results)) { Serial.println(results.decode_type); // Выводит тип протокола (NEC, Sony, etc) irrecv.resume(); } ``` 2. **Привязка к конкретному пульту**: - Запишите коды вашего пульта и используйте их в коде. - Пример: ```cpp #define POWER_CODE 0xE0E040BF if (results.value == POWER_CODE) { ... } ```
---
### **4. Практический пример** Допустим, у вас есть: - Пульт от **телевизора** (NEC, код `Power = 0x12345678`). - Пульт от **кондиционера** (кастомный протокол, код `Power = 0x12345678`).
**Что произойдёт?** - Если ваш ИК-приёмник настроен на NEC, он **сработает на оба пульта**. - Решение: проверяйте **тип протокола** (не только код).
---
### **5. Полезные команды для отладки** - **Вывод протокола и кода** (IRremote): ```cpp Serial.print("Protocol: "); Serial.println(results.decode_type); Serial.print("Code: 0x"); Serial.println(results.value, HEX); ```
### **Вывод** ✅ **Совпадают:** Если пульты используют **один протокол** и **производитель не изменил кодировку**. ❌ **Не совпадают:** Для кастомных протоколов или разных брендов.
Если нужно **уникальное управление**, лучше использовать **пульт с обучаемым ИК-передатчиком** (например, Broadlink).