serg_svd, поставьте D5 8F, проникнитесь. Хотя у автора стоит D5 F0 - максимальная частота и делитель = 1. По скоростям i2c - я заводил этот дисплей на 800 кГц. RDA5807 400кГц держит аж влёт. Другое дело, что на 8 МГц тактовой i2c можно завести максимум на 500 кГц при TWPS = 0, TWBR = 0
Novice user, .db &HD9, &H11 ; SET PRECHARGE поставьте D9,F1 - так советует документация для встроенного генератора Vcc
MOHCTEP, У дисплея всего 2 адреса. И можно определять наличие дисплея по одному из адресов по наличию выхлопа АСК при передаче адреса... сканить 255 адресов нет смысла. Тем более RDA5807 отзывается по 3м или 4м адресам...
goldenandy, Идею вы уловили правильно. Хорошо, пусть будет не сканер, а определитель. Кода там - кот наплакал, а выручка приличная. Адреса известны, осталось выбрать "отзывчивый", с ним и работать. Я этак с ВМЕ280 развлекся, показалось удобным.
serg_svd, неужели вы думаете, что я инициализацию с потолка беру ?
serg_svd писал(а):Ну вот и ответ. А должно быть по даташиту 0х80 (применимо к коду &H80). Остальное не сверял
Значит вы как то странно даташит читали. Команда D5 устанавливает частоту тактового генератора и делителя. Старший полубайт отвечает за скорость генератора - 0-медленней, F-быстрее. Младший полубайт - делитель для сканирования матрицы. 0- делитель единичка, F - делитель 16. Итого D5 80 - средняя скорость генератора, делитель 1. D5 F0 - генератор работает быстрее, делитель по прежнему 1.
Novice user, Смотрите. Ваши кнопки настройки я возложил на кнопки влево-вправо, громкость поставил на вверх-вниз. Центральная кнопка будет отвечать за вкл/выкл/вход в меню. Поскольку мне не нравится совмещение CH-/SCAN-/OFF. И в моей прошивке где то так и будет оно всё....
serg_svd писал(а):Я запускал на ATmega8A. Там потолок 400 кГц
Нет. Потолок зависит от тактовой частоты МК. При тактовой 8 МГц потолок 500 кГц. Там встроенный делитель 16. плюс можно делить дополнительно, регистрами TWPS и TWBR. Но если в них нули - частота равна FCPU/16, при 8 МГц - 500 кГц.
Точно-вкл/выкл,и надо бы предусмотреть защиту от заляпа (чтоб приемник не включался/выключался в кармане,сделать строго-нажато 0,5-1 сек-вкл или выкл,если дольше или короче-игнор)
А пока на плате так- вверху CH-..(MENU)..CH+ внизу VOL-...........VOL+
Novice user, Это я уже по дорожкам отследил (переходите на нормальный CAD) По громкости - я еще не знаю, будет у меня меню горизонтальное или вертикальное. Скорее всего будет вертикальное - тогда vol+ будет двигать курсор вверх, vol- - вниз. Сейчас на вашей прошивке получается наоборот. Так что, если будет желание - добавьте в настройки выбор направления движения по меню кнопками volume.
serg_svd, варианты с D5 80 и D5 8F СпойлерD5 80 Тут выводится движущаяся сетка на весь дисплей, скорость i2c - 615кГц - выходит порядка 15 кадров в сек
Собрал приемник, в целом работает, но приходится настраивать вручную, автопоиск не работает. Время, во время сна не выводится на экран? Очень сильно мерцает экран, не позволяет сделать нормальное фото.
Во время сна экран чист,нажатие громкость + либо - кратковременно выводится время,это во первых экономия заряда аккумулятора,во вторых пиксели SSD1306 не долговечны
Novice user, р Попробовал нажимать +,- во время сна , появляется частота и вверху слева, некрупно время. Что то не так?
Добавлено after 5 minutes 47 seconds: Разобрался, нужно вытащить наушники, тогда время появляется, при нажатии V+, -V- это нормально. Единственное, нельзя ли шрифт увеличить, допустим до размера показаний частоты
В режиме сна не может отображаться частота! Приемник имеет 2 режима-сон и работа 1)Сон-приемник выключен,атмега уходит в сон,дисплей выключен,при нажатии гр- либо гр+ атмега "просыпается",включается дисплей,выводится мелко напряжение батареи и крупно текущее время 2)Работа-приемник включен,но спустя 3 сек после последнего нажатия на любую из кнопок контрастность дисплея падает,а спустя еще 7 сек (если не нажимать кнопок) дисплей отключается.При нажатии любой из кнопок дисплей включается если во время работы радио вынуть наушники из джека радио выключается,надпись на экране "SLEEP",уходим в режим 1=сон
Проверил, все работает. Проблема с дисплеем-это мерцание и движущаяся полоса. Сейчас выложу ссылку на видео этой проблемы. На сайт долго грузится, -временно положу на ютуб https://youtu.be/_oo5oxoG5vQ
Добавлено after 9 minutes 10 seconds: Novice user, Ссылку на видео работы дисплея выложил на несколько минут.
Добавлено after 43 minutes 42 seconds: Частично решил проблему , установив аккумулятор вместо ЛБП, мерцание стало чуть меньше, но полоса осталась Причина найдена и устранена, кроме заметного мерцания. Видео удаляю.
Увеличил шрифт для времени в режиме радио,теперь он 16x24 (был 12x16),из-за этого пришлось передвинуть некоторые надписи Прошивка под базовую схему (4 кнопки)
Novice user, А попробуйте сделать условную компиляцию.... Что бы любые измерения можно было безболезненно применять как к 4- так и к 5-кнопочному управлению.
Можно напрямую сделать-кнопка "М" вкл/выкл,сейчас попробую Корпус высотой 46 мм,а динамик 50,если у динамика сточить края по 2 мм сверху и снизу хуже не станет?
MRI50N-A 8ом 1 Ватт http://www.quartz1.com/price/model.php?akt=2962.14 ,у нас они 40 рэ (в кои-то веки появился радиомагазин,наверно в честь утери статуса "город Мелеуз" -сейчас "село Мелеуз",так что я теперь деревенский )
Novice user, ну смотрите... Я бы не точил, а поискал другой формфактор. Я не знаю, насколько далеко идет проклейка диффузора к корпусу. Теоретически - по ширине черной прокладки по краю корпуса. А как там на самом деле - кто его знает...
goldenandy писал(а):Значит вы как то странно даташит читали. Команда D5 устанавливает частоту тактового генератора и делителя.
Да нормально я его читал. Просто я изначально выставил значение 0х80, как рекомендуется в даташите на инициализацию и больше не игрался с этими регистрами. А зачем собственно?
goldenandy писал(а):Нет. Потолок зависит от тактовой частоты МК. При тактовой 8 МГц потолок 500 кГц. Там встроенный делитель 16. плюс можно делить дополнительно, регистрами TWPS и TWBR. Но если в них нули - частота равна FCPU/16, при 8 МГц - 500 кГц.
Ну вот тут я, видимо, тоже странно читаю даташит на ATmega8A?
PS. За демонстрационное видео спасибо! А то не добрался я в выходные сам до этого дисплея.
serg_svd, Ха. на момент создания меги 400кГц было максимальной частотой для подавляющего большинства железок. Вот они и пишут так. Изначально, если мне не изменяет память, стандартной частотой квадратной шины было вообще 10 кГц.... Но в даташите есть хитро сделанная формула, которая однозначно задает частоту тактирования i2c. И в железе нигде нет ограничителя частоты до 400 кГц. Соответственно, то, что написано в дш, как features - это исключительно указание, что на меге можно гонять шину на 400 кГц. А по факту дисплей пыхтит на 615 кГц у меня на ардуинке. Может вечером прийду с работы и попробую его на 800 завести. Что то подсказывает мне, что в дисплее гораздо более быстрый контроллер и он вытянет даже 1 МГц.