» » » Цифровое радио в ретро стиле на Arduino

Цифровое радио в ретро стиле на Arduino



Когда-то давно мы собирали свои первые простенькие радиоприемники в школьном возрасте из наборов. Сегодня, в силу развития модульного конструирования, собрать цифровой радиоприемник не составит труда даже людям, крайне далеким от радиолюбительства. Дизайн этого приемника основан на впечатляющем радио AWA 1935 года, на которое автор наткнулся в книге "Deco Radio: The Most Beautiful Radios Ever Made". Автор так был впечатлен его дизайном, что захотел иметь собственный аналог.


Цифровое радио в ретро стиле на Arduino


В конструкции использован ЖК-дисплей Nokia 5110 для отображения частоты и энкодер для её выбора. Громкость регулируется встроенным в усилитель переменным резистором. Что бы подчеркнуть дизайн автор так же использовал для вывода информации на дисплей шрифт в стиле ар-деко. В коде ардуино заложена функция запоминания последней прослушиваемой станции (которая прослушивалась более пяти минут).




Шаг 1: Компоненты




  • Arduino Pro Mini
  • Программатор FTDI
  • Модуль FM-радио TEA5767
  • Динамик 3 Вт
  • Модуль усилителя PAM8403
  • Энкодер
  • ЖК-дисплей Nokia 5110
  • Плата заряда и защиты аккумулятора
  • Аккумулятор 18650
  • Держатель 18650
  • Переключатель
  • Макетная плата 5x7 см
  • Соединительные провода
  • Ткань для динамика









Прежде всего, если Вы не имеете большого опыта в работе с ардуино, следует сначала собрать схему, используя беспечатную макетную плату. При этом, для удобства, можно использовать Arduino Nano или UNO. Лично я на стадии отладки схем использую Arduino UNO, так как ее вместе с макетной платой удобно использовать для соединения необходимых компонентов, практически не используя при этом пайку. При включении устройства на экране несколько секунд должен отображаться логотип, после чего из памяти EEPROM загружается частота последней прослушиваемой станции. Поворачивая ручку энкодера можно настраивать частоту, меняя станции.


Когда на макете все работает хорошо, можно переходить к основной сборке, используя уже более компактную и дешевую Arduino PRO Mini, которая, к тому же, имеет и более низкое потребление. Но перед этим посмотрим, как все будет располагаться в корпусе.


Шаг 3: Проектирование корпуса






Трехмерная модель была разработана в бесплатной, но довольно мощной программе Fusion 360.

Шаг 4: 3D-печать и обработка




Для печати использовался "деревянный" пластик FormFutura. Это довольно необычный пластик, особенность которого заключается в том, что после печати детали имеют вид, схожий с деревом. Однако при печати этим пластиком автор столкнулся с рядом проблем. Мелкие детали распечатались без проблем, однако корпус, самая крупная деталь, распечатался не с первого раза. При попытках его печати постоянно забивалось сопло, ситуацию усугубляли регулярные сбои с электроснабжением, из-за чего автору даже пришлось приобрести ИБП для принтера. В конечном итоге корпус был допечатан поверх недопечатанной заготовки. Такое решение, однако, не совсем решение проблемы, лишь разовый выход из ситуации, так что вопрос остается открытым. Так как отпечатать удачно так и не получилось, дальше автор решил зашлифовать корпус, прошпаклевать шпатлевкой для дерева и покрыть лаком. Да, этот пластик не просто похож на дерево, по сути это мелкая древесная пыль, смешанная с вяжущим пластификатором, так что детали напечатанные им практически и есть деревянные, и поддаются методам обработки для обычного дерева.










Шаг 5: Собираем все вместе




Следующим шагом является установка электроники в корпус. Поскольку все уже было смоделировано в Fusion 360, проблем с этим не возникнет. Как видите, каждый компонент имеет свое положение в корпусе. Первым делом была распаяна Arduino Pro Mini, после чего в нее загружен код. Следующий шаг источник питания. В проекте была использована очень удобная и компактная плата Wemos, которая одновременно ответственна за зарядку аккумулятора, его защиту, а так же повышает напряжение для потребителей до необходимых 5-ти вольт. Вместо нее можно использовать обычный модуль заряда и защиты, а напряжение повышать отдельным DC/DC преобразователем (например TP4056 + MT3608).


Далее припаиваются остальные компоненты, динамик, дисплей, усилитель. Так же, хоть на модуле усилителя и есть конденсаторы по питанию, желательно добавить еще один (автор поставил на 330 мкФ, но можно и на 1000). Качество (если 10% КНИ можно назвать качеством) звучания усилителя PAM8403 очень сильно зависит от питания, как и работа радио модуля. Когда все спаяно и протестировано можно начинать окончательную сборку. Первым делом автор приклеил решетку, сверху на нее радиоткань.


От себя. Радиоткань штука специфическая, и в каждом ларьке ее не продают. Однако в каждом магазине женского рукоделия можно купить такую штуку, как канва (ткань для вышивки крестиком). Стоит она недорого и очень хорошо подходит как замена радиоткани, бывает разных цветов. Берите натуральную (не синтетическую) и с самой крупной ячейкой. К слову, к дизайну этого радио она подойдет как нельзя к стати.


Все остальные платы крепятся на свои места при помощи термоклея. Можно много плеваться на термоклей, но для этих целей он действительно хорошо подходит, учитывая что большинство модулей не имеет отверстий для крепления. Хотя я предпочитаю использовать двусторонний "автомобильный" скотч для этих целей.











Шаг 6: Прошивка




Этот шаг стоило расположить выше, так как прошивать нужно ещё на стадии отладки. Основная идея кода такая: когда поворачивается ручка энкодера, происходит перебор частоты, когда ручка энкодера остается на одном и том же положении более 1 секунды — эта частота устанавливается для модуля FM приемника.


if(currentMillis - previousMillis > interval) 
  {
    if(frequency!=previous_frequency)
    {
      previous_frequency = frequency;
      radio.selectFrequency(frequency);  
      seconds = 0;
    }else


Радиомодулю FM требуется около 1 секунды, чтобы настроиться на новую частоту, по этому не получится менять частоту в реальном времени поворотом ручки энкодера, т.к. в таком случае настойка приемника будет очень медленной.


После установки частоты для приемника начинается отсчет времени. По истечении 5-ти минут частота сохраняется в память EEPROM.

else
    {
      seconds++;
      if(seconds == SECONDS_TO_AUTOSAVE)
      {
          float read_frequency = readFrequencyFromEEPROM();
          if(read_frequency!=frequency)
          {
            Serial.println("loop(): Saving new frequency to EEPROM");
            writeFrequencyToEEPROM(&frequency);
          }
      }
    }


Код, как и файлы для печати, можно скачать одним архивом в конце статьи.


Шаг 7: Заключение




Нам очень повезло, что мы живем в эпоху, когда мы сами можем построить все, что захотим! У нас есть инструменты и ресурсы для создания всего, что мы хотим, в течение нескольких недель и при низких затратах.





От себя хочу сделать маленькую заметку по проекту. Для включения радио используется небольшой ползунковый переключатель, расположенный на задней стенке корпуса. Модули усилителя PAM8403 имеют не просто переменный резистор для регулировки громкости, а резистор совмещенный с включателем (по крайней мере те, что попадались мне). То есть в крайне левом положении включатель в положении "отключено", начинаем поворачивать — щелчок, включили, и потом уже регулируется громкость. Я думаю все поняли, о чем я, на все китайских радио такие. Так вот, к чему я. Этот включатель подает питание на модуль усилителя. Я предлагаю следующее: дорожки, подходящие к включателю, перепилить и закоротить, таким образом исключив включатель из цепи. А к пяточкам включателя подпаять провода в разрыв аккумулятора, таким образом сделав обращение с приемником более "юзабилити".


Скачать архив с 3D моделями и прошивкой

На этом всё, всем успехов в творчестве!

Источник
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Аппаратура радиоуправления на Arduino

Как сделать сейф с электронным замком

9
Идея
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
8
Описание
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
8
Исполнение
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Итоговая оценка: 8.33 из 10 (голосов: 1 / История оценок)

Добавить комментарий

    • smilesmilesxaxaokdontknowyahoonea
      bossscratchfoolyesyes-yesaggressivesecret
      sorrydancedance2dance3pardonhelpdrinks
      stopfriendsgoodgoodgoodwhistleswoontongue
      smokeclappingcraydeclarederisivedon-t_mentiondownload
      heatirefullaugh1mdameetingmoskingnegative
      not_ipopcornpunishreadscarescaressearch
      tauntthank_youthisto_clueumnikacuteagree
      badbeeeblack_eyeblum3blushboastboredom
      censoredpleasantrysecret2threatenvictoryyusun_bespectacled
      shokrespektlolprevedwelcomekrutoyya_za
      ya_dobryihelperne_huliganne_othodifludbanclose
4 комментария
  1. Гость Сергей
    Хорошее радио получилось.
    Я тоже хочу нечто аналогичное, но в идеале, чтобы радио принимало и обычный FM диапазон, а также был внутри Wi-Fi и можно было слушать потоковое интернет радио.
    Да в городах радиостанций десяток, а то и два. А вот в населенных пунктах в 20-30 км от города радио уже ловит плохо, число радиостанций сокращается. В интернете же тысячи радиостанций.
    1. feonor12 Автор
      Тут дело в том, что модуль радио для ардуино по сути автономное устройство, ардуино лишь говорит ему, на какую частоту настроиться. Для ардуино есть и плата arduino ethernet shield, и модуль для wifi, но вряд ли ардуино вычислительной мощности хватит, не знаю, можно ли на ней вообще ЦАП сделать. Лично я радио вообще не слушаю (нет у нас нормальных станций), на прошлой работе выходил из ситуации так. На гугл музыку загрузил всю свою коллекцию музыки (туда можно загрузить до 50 000 треков бесплатно для индивидуального прослушивания), собрал нехитрую колонку из ненужной пластиковой канистры, динамиков от какой-то "весны" и такого же усилителя, как тут в проекте (туда ему и дорога, говно на самом деле, а не усилитель). На телефоне открывал приложение, ставил в разброс и подключал к колонке.
      На счет интернет радио как отдельного устройства идея мне нравиться, но не уверен в ее рентабельности в настоящее время. Дома интернет радио можно и с компьютера, телевизора или медиацентра включить. В гараже интернет есть далеко не у каждого, если рассчитывать на мобильный, то платить отдельно за радио как-то не хо, проще тот же телефон к колонкам подключить и на зарядку поставить.

      Лирическое. Но, Маск вот запустил первые 60 спутников старлинк, возможно в недалеком будущем интернет станет почти копеечным. Тогда, думаю, и производители додумаются добавлять в обычное радио возможность интернет подключения, а со временем обычное радио и телевещание скорее всего вообще вымрет как вид.
      1. feonor12 Автор
        Веселуха, перекрестные ссылки теперь автоматом даже в комментарии пихаются.
  2. Иван_Похмельев
    подпаять провода в разрыв аккумулятора
    Безусловно, именно так и надо сделать, устранив косяк автора. Дело в том, что примененный им модуль заряда и защиты аккумулятора не защищает от переразряда аккумулятора.

Добрый день, Гость!


Зарегистрируйтесь

Или войдите на сайт, если уже зарегистрированы...

Войти

Добавьте самоделку

Добавьте тему

Онлайн чат

Опрос
А Вы знаете, что на сайте оплачиваются отчеты о создании самоделок?

Последние комментарии

Все комментарии
Новые самоделки на почту

Введите электронную почту и получайте письма с новыми самоделками. Не более одного письма в день.