Обратите внимание на подключение кнопок в прилагаемой схеме.
Почему не используется такая схема для МК AVR.
Освободились бы выводы. Можно бы что-то добавить.
Или просто открываем build_all.sh скрипт, собирающий все варианты прошивок, смотрим на эти полтора десятка строчек, и понимаем, что собрать можно просто командой
2 WiseLord
Заметил следующий баг в последней сборке - не обновляется температура в режиме ожидания (по логике - проц работает, должна обновлятся).
Завтра покажу фото девайса, выкинул полевые транзисторы согласования уровней - они не нужны.
Сделал в корпусе сгоревшего китайского МП3-проигрывателя.
Прошивка последняя, четырехкнопочный вариант, стерео работает!
Автору спасибо!
Плата с обратной стороны:
Тумблер включения на три положения. В третьем положении (при включенном радио) подает "массу" на вывод reset микоконтроллера.
При этом гаснет индикатор и пропадают помехи (если слабый сигнал) приему.
Не плохо бы еще исправить следующую мелочь - сделать тихий звук на уровне 1.
Сейчас на уровне 1 звука нет, а на 2 сразу заметная громкость. В режиме ожидания температура обновляется с большим интервалом.
Так работает внутренний регулятор в RDA5807, вряд ли тут можно что-то сделать.
А температура вычитывается из датчика раз в 10 секунд. Если вдруг какие-то ошибки при передаче (помехи, сбои), принятое значение не учитывается, следующая попытка - через те же 10 секунд.
Собираюсь усилитель звука сделать на ЭКР1436УН1(МC34119). В этой микросхеме предусмотрена возможность переключения в режим пониженного энергопотребления. Для этого на вход блокировки подают напряжение, условно соответствующее высокому уровню.
Автор, подскажите, можно ли сделать так, что в режиме ожидания на вход блокировки будет подаваться 1, а в активном режиме 0?
По даташиту у RDA5807 четыре младших бита регистра 05Н, отвечают за громкость, т.е. 16 уровней громкости, причем "volume scale is logarithmic" (логарифмическая шкала), что мы и наблюдаем, на малых громкостях "резкие" изменения, а на больших практически не заметно изменение. С этим ничего не поделаешь, а вот 16-й уровень лишний:
#define RDA5807_VOL_MIN 0
#define RDA5807_VOL_MAX 16
Меняем 16 на 15 в исходнике, компилируем и больше не возникает вопросов по поводу играет на громкости 1 или нет.
По поводу температуры, тоже глюки в дежурном режиме, обновляется не понятно как, хотя сам датчик в других часах работает нормально.
Уважаемый WiseLord, подскажите пожалуйста, может в исходнике, где нибудь попробовать изменить, время опроса или скорость передачи, правда в СИ пока ноль-изучаю. Спасибо за проект.
Начал испытывать этот приёмник с самого начала и хочу высказать некоторые наблюдения.
Первоначально приёмник был куплен на Ebay в готовом варианте,
микросхема RDA5807E, на этой микросхеме звук на уровне 1 есть.
Второй вариант приёмника на микросхеме RDA5807FP, плата самодельная,
звука на уровне 1 нет. Испытывалось на первом варианте программы, там различий между
микросхемами нет. Сейчас использую второй вариант программы, наличие УКВ диапазона, изменяемый шаг настройки,
4 кнопки и энкодер, микросхема RDA5807FP - звука на уровне 1 нет.
Проверялось на МК ATmega8A и ATmega8L различий нет.