Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Обновление прошивки для основного варианта (ATmega32 + графический дисплей).
Изменения:
- Большая оптимизация и рефакторинг кода .
Прошивка, несмотря на новые функции, стала даже чуть меньше по размеру и потребляет меньше ОЗУ (оптимизации стека функций)
- Исправлена ошибка с восстановлением значения тонкоррекции при выходе из ждущего режима
Было сломано в последних прошивках, после изменения архитектуры кода аудиопроцессоров.
- Тюнер переводится в MUTE при выборе отличного от нулевого входа
Теперь, если выбран не нулевой вход (вход тюнера), он переводится в режим MUTE. И сигнал радио не пробивается на полной громкости в другие каналы (у аудиопроцессоров разделение по входам не идеально, да ещё это и от разводки платы зависит).
- Добавлена возможность настройки степени "динамичности" спектра.
По сути сейчас можно выбрать между тремя скоростями падения столбиков. Функция выведена на ещё одну кнопку пульта. EEPROM перешивать на новый обязательно - коды пульта "сдвинулись". Ну, или настроить пульт заново в соответствующем режиме. На видео можно посмотреть, что эта функция из себя представляет. Правда, щелчки при нажатии кнопок пульта плохо слышны, но увидеть разницу и момент смены режима можно.
Изменения:
- Большая оптимизация и рефакторинг кода .
Прошивка, несмотря на новые функции, стала даже чуть меньше по размеру и потребляет меньше ОЗУ (оптимизации стека функций)
- Исправлена ошибка с восстановлением значения тонкоррекции при выходе из ждущего режима
Было сломано в последних прошивках, после изменения архитектуры кода аудиопроцессоров.
- Тюнер переводится в MUTE при выборе отличного от нулевого входа
Теперь, если выбран не нулевой вход (вход тюнера), он переводится в режим MUTE. И сигнал радио не пробивается на полной громкости в другие каналы (у аудиопроцессоров разделение по входам не идеально, да ещё это и от разводки платы зависит).
- Добавлена возможность настройки степени "динамичности" спектра.
По сути сейчас можно выбрать между тремя скоростями падения столбиков. Функция выведена на ещё одну кнопку пульта. EEPROM перешивать на новый обязательно - коды пульта "сдвинулись". Ну, или настроить пульт заново в соответствующем режиме. На видео можно посмотреть, что эта функция из себя представляет. Правда, щелчки при нажатии кнопок пульта плохо слышны, но увидеть разницу и момент смены режима можно.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Может я гдето пропустил. А куда подключены датчики температуры и как? По поводу MUTE спасибо что рассказали.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
1-wire выход на схеме. Рядом с fan1/fan2 выводами для управления вентиляторами.
Ну и в Proteus я уже не раз проект выкладывал, там это есть.
Ну и в Proteus я уже не раз проект выкладывал, там это есть.
- Вложения
-
- ampcontrol_m32fb_ks0108.DSN.7z
- (17.5 КБ) 330 скачиваний
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
А можно попросить датчик температуры в схему добавить , а то протеус уже как пол дня немогу установить.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Абсолютно стандартное включение. Три ноги датчика: +5В, земля и выход. Оба датчика (левый и правый) подключены параллельно. Выход датчиков подключен к +5В через резистор 4,7кОм.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Приобрёл FM стерео модуль Радио модуль rda5807m rrd-102v2.0 даташит на него не нашёл,есть вот такой RDA5807M_datasheet_v1.1,он соответствует моему модулю или нет.
Файл даташита воткнуть не смог комп слабый.
Файл даташита воткнуть не смог комп слабый.
Бобрик
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
У меня такие работают. Похоже на Ваши.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
У меня такие же,выложите схему подключения,чтобы не ошибиться в разводке платы.
Бобрик
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Схема подключения модуля I2C такая же, как в другом моём проекте, через преобразователь на полевых транзисторах.
Фото и печатка. радиомодуля с преобразователем уровней в соответствующей ветке форума.
Вообще такие вещи гуглятся с первой попытки - и схемы подключения радиомодулей, и преобразователи уровней.
Фото и печатка. радиомодуля с преобразователем уровней в соответствующей ветке форума.
Вообще такие вещи гуглятся с первой попытки - и схемы подключения радиомодулей, и преобразователи уровней.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
последний глупый вопрос какой порт для этих датчиков температуры.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Очередное обновление прошивки варианта ATmega32 + графический дисплей.
Изменения:
- Ещё большая оптимизация и рефакторинг кода .
Исходный код стал ещё понятнее и читабельнее.
- Возможность использовать энкодер с разным количеством импульсов на щелчок
Обычно на один щелчок механический энкодер выдаёт все 4 фазы импульсов (A-AB-B-0). Но некоторые могут полный цикл выдавать за два щелчка (2 фазы на щелчок), а то и за все 4 (1 фаза на щелчок).
Теперь стало возможным это число фаз на щелчок указать в eeprom (адрес 0x15). Значение по умолчанию равно 4 (0x04) - те же условия, что и раньше. Более того, число может быть отрицательным, тогда вращение энкодера будет обрабатываться в инвертированном направлении. То есть, например, число -4 (0xFC в eeprom) определяет инверсный энкодера с 4 фазами на щелчок.
- Реализован функционал избранных станций для FM
Раньше нажатие цифровых кнопок на пульте выставляло соответствующую сохранённую станцию, по её номеру. Сейчас каждая из 10 цифровых кнопок вызывает закреплённую за собой "любимую" станцию. Избранные станции назначаются и удаляются теми же цифровыми кнопками в режиме настройки FM-станций.
Экран радио также теперь отображает номер избранной станции. Если одна и та же избранная станция закреплена на несколько цифровых кнопок одновременно, отображается минимальный номер.

- Максимальное число запоминаемых станций уменьшено с 64 до 50
Освобождённые ячейки EEPROM отданы под частоты любимых станций. Думаю, никто от этого сильно не пострадает, тем более что частоты любимых станций можно хранить независимо от вообще сохранённых.
------
2 alexfick: я уже Вам отвечал пару сообщений назад - порт 1-wire на схеме.
У меня тут маленькая радость - пока сидел над кодом, "починил" свой дисплей на ST7920. У меня их две штуки, и у одного некоторые строки не отображались, или отображались с меньшим контрастом. Почему так стало - толком не знаю, но думал, там что-то с контроллером. Но после разборки и прочистки контактных резинок (решил пылинку выдуть из под стекла) стал работать как новенький. Видимо, падал когда-то, и контакт резинки где-то немного нарушился.
Изменения:
- Ещё большая оптимизация и рефакторинг кода .
Исходный код стал ещё понятнее и читабельнее.
- Возможность использовать энкодер с разным количеством импульсов на щелчок
Обычно на один щелчок механический энкодер выдаёт все 4 фазы импульсов (A-AB-B-0). Но некоторые могут полный цикл выдавать за два щелчка (2 фазы на щелчок), а то и за все 4 (1 фаза на щелчок).
Теперь стало возможным это число фаз на щелчок указать в eeprom (адрес 0x15). Значение по умолчанию равно 4 (0x04) - те же условия, что и раньше. Более того, число может быть отрицательным, тогда вращение энкодера будет обрабатываться в инвертированном направлении. То есть, например, число -4 (0xFC в eeprom) определяет инверсный энкодера с 4 фазами на щелчок.
- Реализован функционал избранных станций для FM
Раньше нажатие цифровых кнопок на пульте выставляло соответствующую сохранённую станцию, по её номеру. Сейчас каждая из 10 цифровых кнопок вызывает закреплённую за собой "любимую" станцию. Избранные станции назначаются и удаляются теми же цифровыми кнопками в режиме настройки FM-станций.
Экран радио также теперь отображает номер избранной станции. Если одна и та же избранная станция закреплена на несколько цифровых кнопок одновременно, отображается минимальный номер.
- Максимальное число запоминаемых станций уменьшено с 64 до 50
Освобождённые ячейки EEPROM отданы под частоты любимых станций. Думаю, никто от этого сильно не пострадает, тем более что частоты любимых станций можно хранить независимо от вообще сохранённых.
------
2 alexfick: я уже Вам отвечал пару сообщений назад - порт 1-wire на схеме.
У меня тут маленькая радость - пока сидел над кодом, "починил" свой дисплей на ST7920. У меня их две штуки, и у одного некоторые строки не отображались, или отображались с меньшим контрастом. Почему так стало - толком не знаю, но думал, там что-то с контроллером. Но после разборки и прочистки контактных резинок (решил пылинку выдуть из под стекла) стал работать как новенький. Видимо, падал когда-то, и контакт резинки где-то немного нарушился.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Ещё одно маленькое обновление
- Добавлен таймер отключения по отсутствию сигнала.
При отсутствии сигнала в течение 180 секунд устройство переходит в ждущий режим. При этом последние 60 секунд индицируются на экране обратным отсчётом. При появлении сигнала либо любом действии (нажатии кнопки / вращении энкодера) таймер снова устанавливается в 180 секунд.
Эту функцию давно кто-то просил, да всё никак руки не доходили.
Заодно в приложенном файле все схемы, печатки и проект Proteus.
- Добавлен таймер отключения по отсутствию сигнала.
При отсутствии сигнала в течение 180 секунд устройство переходит в ждущий режим. При этом последние 60 секунд индицируются на экране обратным отсчётом. При появлении сигнала либо любом действии (нажатии кнопки / вращении энкодера) таймер снова устанавливается в 180 секунд.
Эту функцию давно кто-то просил, да всё никак руки не доходили.
Заодно в приложенном файле все схемы, печатки и проект Proteus.
- Вложения
-
- ampcontrol-40e6d61.7z
- (81.82 КБ) 437 скачиваний
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Перечитал тему. Проверил в железе . Немного стыдно за свои вопросы. Спасибо за понимание.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Можно подробнее про пульт с какого он телевизора чтобы найти на евау.
Бобрик
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Любой RC5 пульт. На любом рынке именно так и спросить. Ebay в этом случае не нужен.
Как правило, те же телевизоры "Витязь" или "Горизонт" 5-го поколения использовали эту кодировку.
Я использую такой:

А вообще у меня в задумках есть освоение и других протоколов, а не только RC5. Только когда и как к этому подступлюсь - пока не знаю.
Как правило, те же телевизоры "Витязь" или "Горизонт" 5-го поколения использовали эту кодировку.
Я использую такой:
А вообще у меня в задумках есть освоение и других протоколов, а не только RC5. Только когда и как к этому подступлюсь - пока не знаю.
- Forthomo
- Открыл глаза
- Сообщения: 61
- Зарегистрирован: Вс дек 07, 2014 19:22:11
- Откуда: 89 км на восток от нулевого
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Здравствуйте КОТы!
WiseLord, Здравствуйте! Есть желание повторить Вашу конструкцию темброблока.Как я понимаю из прочтения форума нижеописанный вариант больше не поддерживается?
Atmega16A TQFP-44+PT2313L SOIC28+FM TEA5767,
дисплей символьный(1602KS0066/HDA44780) с I2C-расширителем PCF8574.
Пульт RC-5 Витязь на SAA3030
Прошивка (последняя???) - ampcontrol_tda7313_pcf8574_tea5767.hex, eeprom_tda7313_en.bin
Печатные платы (для проверки) в архиве
WiseLord, Здравствуйте! Есть желание повторить Вашу конструкцию темброблока.Как я понимаю из прочтения форума нижеописанный вариант больше не поддерживается?
Atmega16A TQFP-44+PT2313L SOIC28+FM TEA5767,
дисплей символьный(1602KS0066/HDA44780) с I2C-расширителем PCF8574.
Пульт RC-5 Витязь на SAA3030
Прошивка (последняя???) - ampcontrol_tda7313_pcf8574_tea5767.hex, eeprom_tda7313_en.bin
Печатные платы (для проверки) в архиве
- Вложения
-
- spectrum.rar
- (112.47 КБ) 344 скачивания
"Ale novi nostra ales"(Але нови, ностра алис) Что означает - ежели один человек построил, то другой завсегда разобрать может....(*Формула Любви)
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Да, все силы сконцентрированы на варианте с ATmega32 с графическим дисплеем 128x64.
Но под символьный дисплей вариант с ATmega16 вполне работоспособен, хотя и менее функционален.
Но под символьный дисплей вариант с ATmega16 вполне работоспособен, хотя и менее функционален.
- san-sanych
- Встал на лапы
- Сообщения: 127
- Зарегистрирован: Вт июл 15, 2014 17:03:13
- Откуда: Могилев, Беларусь
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Внимательно слежу за развитием проекта с тех пор, как случайно заглянул сюда. Огромное спасибо автору за поддержку своего детища. Мною собраны и успешно работают два экземпляра этого замечательного устройства. WiseLord приложил немало усилий по унификации ПО, однако это привело к отказу от поддержки синтезатора LM7001, что не может не огорчать. При всех своих плюсах, модулям приемника TEA5767 и RDA5807 место в китайских погремушках, а не в серьезной звуковоспроизводящей аппаратуре. Понимаю, что LM7001 не вписывается из-за своего управления в авторское построение кода. Поэтому просьба: уважаемый WiseLord, сделайте поддержку хотябы TSA6057, а то уж больно хочется иметь все добавленные Вами навороты наряду с качественным фм-тюнером. Думаю многие участники форума меня поддержат. Заранее спасибо!
- VeryLazyCat
- Опытный кот
- Сообщения: 832
- Зарегистрирован: Пн май 17, 2010 22:21:01
- Откуда: Madagaskar
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
san-sanych писал(а): модулям приемника TEA5767 и RDA5807 место в китайских погремушках, а не в серьезной звуковоспроизводящей аппаратуре.
+1!