Декодирование ИК-кодов с помощью ИК-датчика, а не ИК-приемника
Мне нужна библиотека для декодирования RAW-сигналов ИК-датчика (выглядит как черный светодиод с двумя ножками), а не ИК-модуля (трех ножки, рассчитанного на определенную частоту, например, 38 кГц).
Существует ли библиотека, поддерживающая ИК-датчики?
Изображение двух вариантов можно увидеть здесь
РЕДАКТИРОВАНИЕ: Это не дубликат моего предыдущего поста, однако он относится к тому же проекту. В предыдущем вопросе я спрашивал, в чём может быть причина. Я выяснил, в чём дело — в частоте. Мой предыдущий ИК-датчик был ИК-модулем, а не ИК-датчиком. Разницу можно увидеть здесь
@omribahumi, 👍5
Обсуждение3 ответа
Я ищу библиотеку для декодирования RAW-сигналов ИК-датчика
AGirs включает в себя комплексную библиотеку, предназначенную для работы с необработанными ИК-сигналами. Я использовал GirsLite в Arduino и IrScrutinzer в Windows для расширенного отслеживания ИК-протокола.
Несколько месяцев назад у меня был похожий проект, и я наткнулся на эту библиотеку Arduino:
https://github.com/z3t0/Arduino-IRremote
и это бесценно.
Для вашего экземпляра вам нужны необработанные данные, которые вы можете получить с помощью примера, включенного в библиотеку под названием: IRrecvDemo.
Проводка простая и понятная
К входу RECV_PIN необходимо подключить ИК-детектор/демодулятор.
По умолчанию это 11, но вы, безусловно, можете это изменить :3
а две другие ножки ИК-детектора/демодулятора идут к источнику питания.
ОП сказал, что у него нет трехногого модуля, а есть только необработанный датчик (2 ноги)., @jeteon
IRremote (уже рекомендуется) — но чтобы сэкономить время, используйте пример IRRecvDump для получения исходных кодов, необходимых для sendRaw(). Их нужно усреднить по 10-20 чтениям. Я записываю вывод в файл и использую скрипт на Perl, чтобы сделать это за меня, потому что вводить это в калькулятор миллион раз — утомительно. Резистор, подключаемый к датчику, влияет на его чувствительность. Я использовал 330 Ом, и дальность действия пульта 3V3 составляет около 10 метров в помещении и 4-5 метров на улице при солнечном свете. Я бы дал вам скрипт, но он у меня на рабочем столе. Дайте знать, если он вам понадобится — или просто используйте Python, который сейчас так популярен (отступ или провал... эх. А как быть тем, кто не любит настраивать континуум табуляции и не имеет навороченных редакторов... мямля-мямля)
Исправление: мои исходные коды нужно было обязательно усреднить, иначе они были бы бесполезны. Любые отрицательные значения в массиве можно просто сделать положительными, не волнуйтесь.
- Arduino IRremote перестает работать
- Использование Broadcom AFBR-S50 с Arduino
- Как использовать библиотеку IRremote с atmega8a
- Ошибка загрузки Arduino IDE
- Использование VS1838B с Arduino
- Как получить исходные файлы для библиотек Arduino?
- Ошибка: "недопустимое использование нестатической функции-члена" при вызове функции из моего собственного класса-метода
- Как подключить Wi-Fi Shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield к Arduino
Какая разница с датчиком? Это просто аппаратная проблема. Входящие импульсы останутся теми же., @Nick Gammon
@NickGammon Разница в том, как подаются импульсы: приёмник усиливает и фильтрует сигнал, получая последовательность простых импульсов включения и выключения. С помощью детектора вы получаете весь поступающий ИК-свет. Затем вам нужно отфильтровать свет, который пульсирует на несущей частоте, чтобы определить, когда сигнал включен, а когда выключен. Это можно сделать программно или аппаратно. Лучше всего сделать это аппаратно и использовать согласованный приёмник для передатчика., @Majenko
@Majenko, именно так. Я не уточнил, какую проблему хочу решить: у меня есть ИК-модуль, который декодирует мой пульт как NEC. Повторная передача с той же библиотекой не работает. Дальнейшая отладка показала, что пульт посылает [импульсную модуляцию](http://www.freescale.com/files/microcontrollers/doc/app_note/AN3053.pdf) с частотой 830 Гц. Сможет ли модуль с частотой 38 кГц декодировать это?, @omribahumi
Это совсем другой вопрос. Лучше задать новый вопрос, чем добавлять этот в комментарии., @Gerben
@Gerben, похоже, слишком техничный, чтобы быть здесь. Опубликовано в [электроника](http://electronics.stackexchange.com/questions/193247/can-a-38khz-ir-receiver-module-tsop38238-decode-870hz-pulse-modulation-ir/), @omribahumi
Возможный дубликат Кондиционер не обнаруживает ИК-коды, отправленные с Arduino, @Nick Gammon
Похоже, это связано с вашим вопросом о [кондиционере не распознаёт ИК-коды, отправляемые Arduino] (http://arduinoprosto.ru/q/16361/ac-doesnt-detect-ir-codes-sent-from-arduino). Хотя в том сообщении вы, казалось, были уверены, что распознали эти коды. Теперь это не так? Пожалуйста, объясните, почему вы задаёте ещё один вопрос о кондиционере и ИК-пульте, не ссылаясь на свой предыдущий. Это поможет вам лучше понять проект., @Nick Gammon
Этот вопрос также очень похож на [управление кондиционером с помощью Arduino](http://arduinoprosto.ru/q/12698/control-air-conditioner-using-arduino) - он сам по себе задан дважды., @Nick Gammon
@NickGammon, в предыдущем вопросе я искал причину, по которой устройство не работает, и теперь, когда я это выяснил (это частота). Причина, как я выяснил, заключается в использовании ИК-датчика вместо ИК-модуля. Сейчас я ищу ИК-библиотеку, которая работает с ИК-датчиком, а не с ИК-модулем, чтобы гарантировать правильное декодирование кодов. См. мой другой вопрос в разделе [Электроника](http://electronics.stackexchange.com/questions/193247/can-a-38khz-ir-receiver-module-tsop38238-decode-870hz-pulse-modulation-ir/)., @omribahumi
@NickGammon также, я только что ответил на свой предыдущий вопрос, @omribahumi
Нет, вы опубликовали ошибочный анализ вашего другого вопроса. Вам следует прекратить публиковать новые вопросы и сосредоточиться на понимании сути проблемы. Этот вопрос основан на принципиально ошибочных представлениях и должен быть удален., @Chris Stratton
Некоторые автомобили и универсальные пульты дистанционного управления оснащены функцией автоматического запоминания кодов передатчиков путём сопряжения ключей в режиме обучения. Почему бы не сделать то же самое?, @Tony Stewart Sunnyskyguy EE75