Делаем из простого приемника Продвинутый-3 или универсальный модуль управления и индикации.

DiscoMan

В общем, подсоединился согласно картинке из этого поста, т.к приемники похожие. Модуль у меня стоит Comtech. Во всяком случае так написано на его крышке 😃 Результат: RSSI чего-то там показывает… порядка 10-15. Перестройка по частоте не происходит. Приемник застрял на какой-то неизвестной. Спектроанализатор не работает. Т.е просто рисует линию в нуле. Наверное, что-то все неправильно в подключении тюнера 😃

alezalez

Вам нужно: 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 и корпус.

DiscoMan

У меня все было подсоединено в точном соответствии с данными по ссылке. В общем, уже просто на основе интуиции поменял местами SCK и SDA, и все заработало, как полагается. Единственно, что вызывает вопросы - не сразу срабатывают кнопки. В коде какие-нибудь проверки на дребезг есть?

upd. Сам уже посмотрел - нету 😃 Значит, нужно будет делать. Еще вот чего не понял. Кнопки управления подключены к аналоговым пинам, а считывание их состояния идет посредством digitalRead. Это с какой целью было сделано? По идее, нужно их все переносить на цифровые пины, добавлять подтягивающие резисторы и в код вставлять проверку на дребезг контактов. Тогда с ними работать будет значительно приятнее 😃

Панкратов_Сергей
DiscoMan:

В коде какие-нибудь проверки на дребезг есть

Там проблем с “дребезгом” нет потому как при том алгоритме его влияния быть не может.
Улучшить можно посадив на цифровые пины и введя прерывания, но нужно ли?
Несколько неудобно - нажав кнопку ждать ее срабатывания ( короткое нажатие не всегда будет приводить к результату) - но привыкается быстро. Тем паче этих кнопок в реальности приходится касаться очень редко.

Edward_tlt

Вопрос к тем кто использует OLED дисплеи, я правильно понимаю, что есть дисплеи на 3.3В (отсутствует стабилизатор на плате) и 3-5В (со стабом XC6206)?

DiscoMan
Панкратов_Сергей:

Улучшить можно посадив на цифровые пины и введя прерывания, но нужно ли?

Ясно. Я кнопки, видимо, все равно на цифровые входы пересажу, с обработкой без прерываний, т.к нужно освободить хотя бы один аналоговый вход для подключения датчика тока. Хочу, чтобы потребляемый ток тоже было видно, т.к приемник будет работать в составе репитера видео, а там есть всякая подключаемая/отключаемая нагрузка в завис-ти от разных сценариев использования. Да, в коде выловил несколько багов. Связаны они в основном с проверками корректности данных и работой с массивами. Например, когда в EEPROM еще ничего не сохранено, там сидит какой-то произвольный номер канала и в результате в переменную can попадает бог знает что 😃 потом еще в режиме выбора каналов при переключении кнопками FREQ на экране периодически становится равной 0, т.к происходит выход за границы массива с сохраненными частотами каналов. Ну, и тому подобные мелочи. Еще добавил в код возм-ть прервать процесс анализа спектра, калибровки RSSI и сканирования частот. Иногда в эти режимы заходишь случайно и приходилось дожидаться окончания процесса. Теперь не нужно.

Сергей, еще вопрос. А зачем был введен такой алгоритм расчета значений напряжения питания? с настройкой VoltageDivider по кнопкам?

Панкратов_Сергей
DiscoMan:

Сергей, еще вопрос. А зачем был введен такой алгоритм расчета значений напряжения питания?

Эти вопросы, по всей видимости, не мне. Не к исходной прошивке.

Yden
DiscoMan:

А зачем был введен такой алгоритм расчета значений напряжения питания? с настройкой VoltageDivider по кнопкам?

это было добавлено автором модифицированной прошивки для того чтобы калибровку напряжения произвести на сколько я понял,

по поводу переноса на цифровые входы мне бы было интересно освободить аналоговые для того чтоб подключить пищалку о разряде или её можно прикрутить и к цифровому входу ? может кто подскажет

10 days later
DiscoMan
Yden:

по поводу переноса на цифровые входы мне бы было интересно освободить аналоговые для того чтоб подключить пищалку о разряде или её можно прикрутить и к цифровому входу ? может кто подскажет

Я перенес. Нужен один резистор на 10к и пару правок в коде. Работает нормально. Алгоритм устранения дребезга контактов добавлять не стал по принципу “и так сойдет” 😃

Yden
DiscoMan:

Нужен один резистор на 10к и пару правок в коде.

а можно чуток подробней какие правки ? и куда резюк 10к ? последовательно входу ?

Панкратов_Сергей:

Пищалку можно на любой.

был бы очень признателен если кто подсказал как прикрутить пищалку, у меня есть показания напряжения с питанием наземки, что нужно добавить в код чтоб пищалка срабатывала скажем при 10В на акке

DiscoMan

Вот так:

В коде есть константы, задающие соответствие кнопок и входов. Например, такая: Bolshe - там вместо Ахх надо поставить номер цифрового пина, на который перевешена кнопка.

С пищалкой тоже довольно просто. Есть функция tone(). Ее вызывать нужно в основном цикле loop() как только код, измеряющий напряжение (значение vval/VoltageDivider в твоих исходниках) возвращает величину ниже определенного порога. Т.е обычный условный оператор if…else.

Yden

стрелка это земля ?
с переносом на цифровые входы вроде понятно, а по поводу пищалки пока не очень

есть эта функция tone () допустим я смогу сделать условие и запихать его в цикл, как подключать пищалку ? одной ногой на цифровой вход другой на землю, хватит ли у ардуинки "сил " ей пищать или надо будет какой нибудь драйвер спаять между пищалкой и выходом?

DiscoMan

Земля. Насчет пищалки - зависит от того, какая именно пищалка. Насколько мощная и т.д. Тут могут быть варианты: напрямую (маловероятно) или через транзистор. Погугли: “connecting buzzer to arduino”.

Или вот, взял из мануала по tBeacon’у 😉

DiscoMan:

Bolshe - там вместо Ахх надо поставить номер цифрового пина, на который перевешена кнопка.

Цифровые пины в коде ардуины задаются просто цифрами, без А. Т.е код будет выглядеть вот так:

Т.е вместо

#define Bolche A3

Будет

#define Bolche 5 //пять - это номер пина, на который перевесим кнопку

Да, можно обойтись без резистора, а просто кнопкой замыкать цифровой вход на землю, как есть сейчас. Только вход надо настроить для использования internal pullup. Тогда ардуина подключит собственный, внутренний резистор. Гугли: “arduino digital input internal pullup”

19 days later
Hyperion

не про продвинутый конечно. Но может кто то может посоветовать куда копать. Собираю приемник по этой схеме
www.rcgroups.com/forums/showthread.php?t=2477752
Вот с такой проблемой столкнулся

www.youtube.com/watch?v=ZgaLjrnA5PE

Вместо видео с ардуины - просто розовый экран. Причем не исчезает пока не выключишь монитор. Выключение ардуины его не убирает.
Пробовал загружать в ардуино демо скетч tv-out. Та же самая проблема. Как Pal так и ntsc режимы. С камеры видео показывает нормально этот же монитор.

gena_g
Hyperion:

не про продвинутый конечно. Но может кто то может посоветовать куда копать. Собираю приемник по этой схеме
www.rcgroups.com/forums/showthread.php?t=2477752
Вот с такой проблемой столкнулся

www.youtube.com/watch?v=ZgaLjrnA5PE

Вместо видео с ардуины - просто розовый экран. Причем не исчезает пока не выключишь монитор. Выключение ардуины его не убирает.
Пробовал загружать в ардуино демо скетч tv-out. Та же самая проблема. Как Pal так и ntsc режимы. С камеры видео показывает нормально этот же монитор.

Я смотрел Вы в коде использовали serial. С tv_out serial использовать нельзя .Если нужен последовательный порт то нужно использовать pollserial.h, и убрать Serial.begin;

#include <pollserial.h>
pollserial pserial;

void setup()
{
TV.set_hbi_hook(pserial.begin(57600));
}

void loop {
pserial.print (“TEST”);
}

max809
Hyperion:

Выключение ардуины его не убирает.

Думается дело в мониторе. На другом пробовали?

Hyperion
gena_g:

Я смотрел Вы в коде использовали serial. С tv_out serial использовать нельзя .Если нужен последовательный порт то нужно использовать pollserial.h, и убрать Serial.begin;

как я понял там serial используется для управления IR диодом. Я эту строчку закомментировал.

max809:

Думается дело в мониторе. На другом пробовали?

тоже уже грешу или на ардуину или на монитор. Другого под рукой нету, телек только, вроде там были тюльпаны входы, попробую еще на нем.