Делаем из простого приемника Продвинутый-3 или универсальный модуль управления и индикации.
Коллеги, а тыкните носом - где-то видел рецепт по избавлению от мусора на CRIUS OLED, - не найду
Спасибо!
Коллеги, доброго времени суток. Пришла одна идея по алгоритму переключения между приемниками в зависимости от качества сигнала. Просто есть аналогия от камеры с автофокусом. Автофокус аналоговых камер работает (более распространенный вариант) на основе контраста (частотного спектра) сигнала, т.е. чем больше ВЧ-составляющих в сигнале, тем ближе к нужному фокусу линза. Фокус наших камер постоянен, но чем лучше и качественнее сигнал (читайте - выше детализация картинки), тем больше вч-сигнала в спектре. Т.е. собрать аналоговый взвешивающий фильтр (две штуки), где, к примеру, выходное напряжение пропорционально вч-составляющим сигнала и сравнивать эти напряжения от двух приемников. Ну или один фильтр переключать с определенной частотой между каналами. Тем более, что можно из сигнала “вырезать” строчные синхроимпульсы и “взвешивать” уже чистый видеосигнал. Может, я и ошибаюсь, тогда объясните, где и почему (просто идея уже живет несколько дней в голове 😃 )
встроил продвинутый приёмник в свою наземку подключен к lawmate 1.2GHz
Собран на ардуино про мини и олед дисплейчике 128*64
так же если кому интересно нашёл дома 2 старых сименс телефона там стоят вот таки экраны LPH8731-3C
1 - CS – Chip Select. При установке в «0» контроллер дисплея принимает информацию;
2 - RESET – вывод для сброса контроллера;
3 - RS – вывод для определения типа передаваемых данных («0» - команда, «1» - данные);
4 - CLK – вывод тактового сигнала для передачи данных;
5 - DAT – вывод передачи данных;
6 - VDD – к источнику питания от +1.6V до +3.6V;
7 - GND – общий провод (земля);
8 - LED_1A – вывод питания подсветки;
9 - LED_К – вывод катодов светодиодов подсветки (к GND);
10 - LED_2A – вывод питания подсветки.
Сопряжение дисплея с микроконтроллером можно сделать следующим образом:
а тут статья и библиотеки как их подключать, вдруг у кого тоже такие телефоны завалялись
В общем, подсоединился согласно картинке из этого поста, т.к приемники похожие. Модуль у меня стоит Comtech. Во всяком случае так написано на его крышке 😃 Результат: RSSI чего-то там показывает… порядка 10-15. Перестройка по частоте не происходит. Приемник застрял на какой-то неизвестной. Спектроанализатор не работает. Т.е просто рисует линию в нуле. Наверное, что-то все неправильно в подключении тюнера 😃
Вам нужно: 1)+5В; 2) GND; 3) SDA; 4) SCK; 5) AGC -RSSI; 6) video+ audio. Основные для сканирования - 1,2,3,4 и 5, вот их и нужно проверять. Вот ссылка на этот модуль www.etheli.com/files/…/ComtechModuleNotes.txt . Т.е. выводы 2,3,5,7 и корпус.
У меня все было подсоединено в точном соответствии с данными по ссылке. В общем, уже просто на основе интуиции поменял местами SCK и SDA, и все заработало, как полагается. Единственно, что вызывает вопросы - не сразу срабатывают кнопки. В коде какие-нибудь проверки на дребезг есть?
upd. Сам уже посмотрел - нету 😃 Значит, нужно будет делать. Еще вот чего не понял. Кнопки управления подключены к аналоговым пинам, а считывание их состояния идет посредством digitalRead. Это с какой целью было сделано? По идее, нужно их все переносить на цифровые пины, добавлять подтягивающие резисторы и в код вставлять проверку на дребезг контактов. Тогда с ними работать будет значительно приятнее 😃
В коде какие-нибудь проверки на дребезг есть
Там проблем с “дребезгом” нет потому как при том алгоритме его влияния быть не может.
Улучшить можно посадив на цифровые пины и введя прерывания, но нужно ли?
Несколько неудобно - нажав кнопку ждать ее срабатывания ( короткое нажатие не всегда будет приводить к результату) - но привыкается быстро. Тем паче этих кнопок в реальности приходится касаться очень редко.
Вопрос к тем кто использует OLED дисплеи, я правильно понимаю, что есть дисплеи на 3.3В (отсутствует стабилизатор на плате) и 3-5В (со стабом XC6206)?
Улучшить можно посадив на цифровые пины и введя прерывания, но нужно ли?
Ясно. Я кнопки, видимо, все равно на цифровые входы пересажу, с обработкой без прерываний, т.к нужно освободить хотя бы один аналоговый вход для подключения датчика тока. Хочу, чтобы потребляемый ток тоже было видно, т.к приемник будет работать в составе репитера видео, а там есть всякая подключаемая/отключаемая нагрузка в завис-ти от разных сценариев использования. Да, в коде выловил несколько багов. Связаны они в основном с проверками корректности данных и работой с массивами. Например, когда в EEPROM еще ничего не сохранено, там сидит какой-то произвольный номер канала и в результате в переменную can попадает бог знает что 😃 потом еще в режиме выбора каналов при переключении кнопками FREQ на экране периодически становится равной 0, т.к происходит выход за границы массива с сохраненными частотами каналов. Ну, и тому подобные мелочи. Еще добавил в код возм-ть прервать процесс анализа спектра, калибровки RSSI и сканирования частот. Иногда в эти режимы заходишь случайно и приходилось дожидаться окончания процесса. Теперь не нужно.
Сергей, еще вопрос. А зачем был введен такой алгоритм расчета значений напряжения питания? с настройкой VoltageDivider по кнопкам?
Сергей, еще вопрос. А зачем был введен такой алгоритм расчета значений напряжения питания?
Эти вопросы, по всей видимости, не мне. Не к исходной прошивке.
А где можно посмотреть исходную?
А зачем был введен такой алгоритм расчета значений напряжения питания? с настройкой VoltageDivider по кнопкам?
это было добавлено автором модифицированной прошивки для того чтобы калибровку напряжения произвести на сколько я понял,
по поводу переноса на цифровые входы мне бы было интересно освободить аналоговые для того чтоб подключить пищалку о разряде или её можно прикрутить и к цифровому входу ? может кто подскажет
Пищалку можно на любой.
Смоделировал в PROTEUSE.
Прошивки: (HEX)
yadi.sk/d/3u6Tu-Ltkw9ma
yadi.sk/d/VcL6FJUXkw9mV
Файл проекта:
yadi.sk/d/ydpfWZf7kw9mJ
по поводу переноса на цифровые входы мне бы было интересно освободить аналоговые для того чтоб подключить пищалку о разряде или её можно прикрутить и к цифровому входу ? может кто подскажет
Я перенес. Нужен один резистор на 10к и пару правок в коде. Работает нормально. Алгоритм устранения дребезга контактов добавлять не стал по принципу “и так сойдет” 😃
Нужен один резистор на 10к и пару правок в коде.
а можно чуток подробней какие правки ? и куда резюк 10к ? последовательно входу ?
Пищалку можно на любой.
был бы очень признателен если кто подсказал как прикрутить пищалку, у меня есть показания напряжения с питанием наземки, что нужно добавить в код чтоб пищалка срабатывала скажем при 10В на акке
Вот так:
В коде есть константы, задающие соответствие кнопок и входов. Например, такая: Bolshe - там вместо Ахх надо поставить номер цифрового пина, на который перевешена кнопка.
С пищалкой тоже довольно просто. Есть функция tone(). Ее вызывать нужно в основном цикле loop() как только код, измеряющий напряжение (значение vval/VoltageDivider в твоих исходниках) возвращает величину ниже определенного порога. Т.е обычный условный оператор if…else.