Декодирование ИК-кодов с помощью ИК-датчика, а не ИК-приемника

Мне нужна библиотека для декодирования RAW-сигналов ИК-датчика (выглядит как черный светодиод с двумя ножками), а не ИК-модуля (трех ножки, рассчитанного на определенную частоту, например, 38 кГц).

Существует ли библиотека, поддерживающая ИК-датчики?

Изображение двух вариантов можно увидеть здесь

РЕДАКТИРОВАНИЕ: Это не дубликат моего предыдущего поста, однако он относится к тому же проекту. В предыдущем вопросе я спрашивал, в чём может быть причина. Я выяснил, в чём дело — в частоте. Мой предыдущий ИК-датчик был ИК-модулем, а не ИК-датчиком. Разницу можно увидеть здесь

, 👍5

Обсуждение

Какая разница с датчиком? Это просто аппаратная проблема. Входящие импульсы останутся теми же., @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


3 ответа


0

Я ищу библиотеку для декодирования RAW-сигналов ИК-датчика

AGirs включает в себя комплексную библиотеку, предназначенную для работы с необработанными ИК-сигналами. Я использовал GirsLite в Arduino и IrScrutinzer в Windows для расширенного отслеживания ИК-протокола.

,

1

Несколько месяцев назад у меня был похожий проект, и я наткнулся на эту библиотеку Arduino:

https://github.com/z3t0/Arduino-IRremote

и это бесценно.

Для вашего экземпляра вам нужны необработанные данные, которые вы можете получить с помощью примера, включенного в библиотеку под названием: IRrecvDemo.

Проводка простая и понятная

К входу RECV_PIN необходимо подключить ИК-детектор/демодулятор.

По умолчанию это 11, но вы, безусловно, можете это изменить :3

а две другие ножки ИК-детектора/демодулятора идут к источнику питания.

,

ОП сказал, что у него нет трехногого модуля, а есть только необработанный датчик (2 ноги)., @jeteon


1

IRremote (уже рекомендуется) — но чтобы сэкономить время, используйте пример IRRecvDump для получения исходных кодов, необходимых для sendRaw(). Их нужно усреднить по 10-20 чтениям. Я записываю вывод в файл и использую скрипт на Perl, чтобы сделать это за меня, потому что вводить это в калькулятор миллион раз — утомительно. Резистор, подключаемый к датчику, влияет на его чувствительность. Я использовал 330 Ом, и дальность действия пульта 3V3 составляет около 10 метров в помещении и 4-5 метров на улице при солнечном свете. Я бы дал вам скрипт, но он у меня на рабочем столе. Дайте знать, если он вам понадобится — или просто используйте Python, который сейчас так популярен (отступ или провал... эх. А как быть тем, кто не любит настраивать континуум табуляции и не имеет навороченных редакторов... мямля-мямля) Исправление: мои исходные коды нужно было обязательно усреднить, иначе они были бы бесполезны. Любые отрицательные значения в массиве можно просто сделать положительными, не волнуйтесь.

,