Старинное радио на базе Android

    Введение


    Мне очень нравится простота некоторых старинных радио: три-четыре станции. Вот – джаз, вот – новости, вот – классика. Ну, а ещё мне нравится мастерить всякие интересные штуки. Поэтому я решил собрать радио, которое будет проигрывать загруженную мною музыку и скачивать подкасты. Более того, хотелось, чтобы вид устройства был в стиле начала XX-ого века.

    В этом посте я расскажу про детали проекта: про устройство на базе Android, про IOIO Board и про вырезание по дереву.


    Результат


    Вот как выглядит законченный проект:



    Процесс создания


    Компоненты

    Радио. Поиск на ebay показал, что в продаже есть очень много старинных радио. Какие-то работают, какие-то сломаны. Я выбрал самое приличное из сломанных: внутренности мне всё равно ни к чему, а работающую вещь ломать не хотелось. Да и стоят ломаные на порядок дешевле. Вот что мне приглянулось:



    Вот как выглядели неработающие вакуумные лампы:



    Archos 28. Этот дешевый плеер на базе ОС Android мне приглянулся ещё с предыдущего проекта. Небольшая цена, 8 Gb встроенной памяти, звуковой выход и Wi-Fi отлично подходят для несложной конструкции. Личным опытом было также установлено, что плеер отлично работает в режиме 24/7.

    Читатель спросит: почему бы не решить задачу микроконтроллером и набором модулей? Мне показалось дешевле и проще использовать этот телефон: всё, что надо, уже собрано на одной плате, плюс ОС Android предоставляет неплохой уровень абстракции. Радио будет включено в сеть круглые сутки, так что проблем с энергопотреблением не возникает.

    IOIO Board для взаимодействия с «железом». Эта штука подключается к устройству по USB и распознаётся ОС как «включен режим дебага». Есть небольшое API, которое позволяет из любой Android программы читать состояние линии (как цифровой, так и аналоговой) и генерировать на линии сигнал (цифровой и PWM).
    Читатель спросит: почему бы не использовать Android ADK? Увы, поддержка ADK была добавлена лишь в Android 2.3. Плеер от Archos работает на 2.2.

    Усилитель на базе STA540. Я плохо разбираюсь в усилителях. Выбор пал именно на эту деталь во многом из-за рекомендаций знакомых, ну, и из-за наличия набора по сборке. STA540 – электронный усилитель класса AB. Мне очень понравился режим Stand-by: чрезвычайно тихий режим (совершенно не слышно шумов).
    Читатель спросит: почему бы не отреставрировать уже существующие вакуумные лампы? Ответ прост: у меня нет аппаратуры для тестирования и работы с ними. А ещё стрёмно работать c 120V. Радио, которое я купил, похоже использовало архитектуру AA5.

    Колонки Blaupunkt GTx-542. 4 Ома, 70-20,000 Hz, две полосы (для низких и высоких частот) и подходящие размеры определили мой выбор.
    Читатель спросит: почему не какие-нибудь другие колонки? Тут я разведу руками. Если есть какие-либо соображения, почему другая модель подходит лучше, пожалуста, пишите в комментариях.

    Прочее Китайский нонеймовый датчик угла поворота, чтобы песни переключать боковой ручкой. Четыре кнопки и несколько резисторов.

    Подоготовка шасси

    Сперва я достал старые компоненты и очистил металлическую основу от вековой грязи (спасибо, WD-40). Чтобы не крепить новые компоненты на железку, я решил вырезать шасси из основы печатной платы:



    Подоготовка корпуса

    В целом корпус подходил очень хорошо. Я даже решил оставить старинный потенциометр для ручки изменения звука. Мне не нравилось лишь одно: экран телефона был слишком глубоко утоплен в корпус. С помощью Dremel'я я сделал нишу:



    С телефоном это выглядит вот так:



    Программное обеспечение

    Ничего особо сложного не предстояло. Устройство управляется Android приложением, которое читает состояние железа и играет подходящую песню с SD-карты. Пожалуй самым интересным был процесс подготовки интерфейса. Мне очень хотелось сделать так, чтобы экран подходил по стилю к корпусу. Я придумал такую модель: четыре барабана в ряд (по барабану на станцию). На каждом барабане написаны названия песен. Боковая ручка крутит текущий барабан, кнопки переключают барабаны.
    Сперва я попробовал реализовать это на OpenGL. Надо сказать, получилось не очень красиво. Так что я остановился на обычной двухмерной графике. Сперва, нарисовал фон:


    Потом выбрал шрифты и эффекты:



    Логика для скачивания подкастов вышла черзывчайно простая: скачиваем последний выпуск BBC Global News, кладём его на SD-карточку и удаляем все предыдущие выпуски. Повторить два раза в день.

    В планах прикрутить небольшой FTP-сервер, чтобы музыку можно было закачивать по сети (устройство и так должно быть подключено в домашнему Wi-Fi).

    Всё вместе

    Железо выглядит вот так:



    Мне очень хотелось, чтобы кнопки говорили о том, что будет играть. Одна папка-станция играет джаз, другая – обработанную классику, третья – разные мелодии, четвёртая станция – новости. Вот как выглядит главный дисплей:



    Вот как выглядит устройство сзади:



    Заключение


    Радио играет музыку, скачивает подкасты и радует своим видом. Я буду рад ответить на любые вопросы, выслушать критику и предложения.
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 38
    • 0
      Очень интересное решение! Понравилось сочетание корпуса и функциональности. Отличный гиковский гаджет!)
      • 0
        Спасибо! Мне было очень важно сделать так, чтобы в устройстве корпус и функциональность продолжали друг друга. Увы, очень во многих гаджетах дизайн и функции очень плохо согласованы.
        Этот проект был, в частности, упражнением на создание удобного пользовательского интерфейса.
        • 0
          Я наверное единственный кто даже основную начинку собирал сам на основе AT91Sam7X512 а не брал все готовое)
          • 0
            Собирал свой приёмник? А расскажите, как? Что выбрали для усилителя? Что для чтения SD-карт? Что для коммуникации с сетью?
            • 0
              Всю роль у меня выполняла макетная плата AT91SAM7X-EK которую я собрал сам, так как цена готовой очень сильно кусалась. там было все и DAC и слот для карт памяти, и Ethernet. Примеров в интернете полно потому для начала собрал радио. Потом уже веб сервер) В качестве усилителя я брал обычную TDA2005
      • +1
        Я сначала подумал, что корпус самодельный (по первому фото). Похож очень :)
        • +10
          Дырка для экрана топорная. А так прикольнечко :)
          • 0
            Меня тоже эта дырка мучит. Интересно, можно ли что-нибудь с ней сделать?
            • +6
              Можно поставить потертое временем оргстекло. Возможно даже не прямое, а выпуклое, как для барабана настройки. Изначально же там такое и было?
              • +1
                Хорошая идея. Там не было никакого. Однако, выпуклое оргстекло действительно сделает эту штуку лучше.
              • 0
                Вы же с руками, может быть сделать декоративные молдинги из листа меди?
                image
                • +3
                  Я видел этот приёмник на instructables. Если честно, мне этот молдинг как-то не приглянулся. Как-то он искусственно выглядит…
                • 0
                  Я бы оставил родной барабан, а управление по wifi сделал.

                  Да, это сложнее, но, извините, то что вы сотворили с таким классным радио это жесть.
              • 0
                Только вчера вспоминал про старое немецкое радио на балконе, наверное тоже сделаю обзор.
                • НЛО прилетело и опубликовало эту надпись здесь
                  • 0
                    Что это, дайте ссылку, пожалуйста.
                    • 0
                      Это Logitech Squeezebox Radio.
                  • +4
                    Если бы новую начинку показать во времена этого радио его конструктору, то он бы, наверное, был поражен!
                    • 0
                      Прикольно, хотя бывают приёмники и по симпатичней…
                      Одно непонятно, накой было выкидывать тёплый, ламповый усилитель.
                      Даже если он не рабочий, там много вкусностей, как то трансформаторы и панельки под лампы.
                      Так-что даже не обладая сакральным знанием ламповой схемотехники, замутить усилитель на одном пентоде, велел сам Бг.
                      • +3
                        Это правда, бывают и посимпатичней… Зато этот – мой!

                        Слушайте, все лампы и рассыпуха у меня сохранились. Если готовы оплатитить доставку, то они – ваши.
                      • +1
                        Новости, подкасты — можно понять. Но слушать музыку на одной колонке — нужно совсем неприхотливым в этом плане быть.
                        • 0
                          Это правда: идея в том, чтобы включить песенку по дороге из душа на работу.
                        • +2
                          Красота, люблю ретро вещи, адаптированные к современному миру)
                          • 0
                            очень здорово! получила огромное удовольствие от прочтения: познавательно и необычно
                            • 0
                              Я очень надеюсь, что подобные посты донесут ещё одну мысль: создавать такие штуки чрезвычайно просто.
                            • +1
                              Вакуумные трубы?! А почему не радиолампы? :)
                              • 0
                                Уже исправил. Vacuum tubes, понимайте ли. Я микроэлектронику по американским материалам изучал. Только что дошло, что это и есть лампы! Ламповый звук! Тфу, пропасть…
                                • 0
                                  Капитан Очевидность просит исправить «вакуумные лампы» на просто лампы.
                                  • 0
                                    Капитан Очевидность сегодня не в форме, лампы бывают и газонаполненные.
                              • +2
                                Экран выглядит инородным телом, надо было ему рамку медную сделать, чтобы он был вровень с корпусом.
                                • +1
                                  И «магического глаза» очень не хватает.
                                • 0
                                  хм, экран ИМХО нужно как-то «выпуклить» — родной смотрелся гармоничнее.
                                  • 0
                                    Серый цвет каким-то синим выглядит на фоне всего остального. Выпадает из гаммы.
                                    • 0
                                      Надо же! Я планирую изготовление похожего устройства, только с некоторыми отличиями.
                                      Могу поделиться идеями — добавить проигрывание плейлистов различных интернет-станций, например, jazzradio, там хоть иногда проскакивает реклама если не платить, все же очень приятные направления. Можно подцепить через .pls файл.
                                      В моем устройстве будет сочетание оффлайн аудиотеки и онлайн-трансляций.
                                      • 0
                                        А на базе какой платформы вы думаете делать?
                                        • 0
                                          Микроконтроллер (да, да, Ардуино.), кнопки-вертелки от радиотюнера, его же шкала.
                                          Также дополнительно планирую ИК пульт.

                                          Микроконтроллер шлет команды плате miniITX с VIA или Atom где все крутится на XP с возможностью выхода из Hibernate с сохраненным состоянием.
                                      • 0
                                        Apple Fan рассказывает про устройство на Android :)
                                        • 0
                                          У меня есть плата IOIO вот такая www.sparkfun.com/products/10748
                                          куплена здесь www.seeedstudio.com/depot/-p-1023.html?cPath=132_206
                                          с помощью PIKit 3 прошил в плату bootloader 3,06 и firmaware 3.26, но мой блютуз адаптер попрежнему не хочет работать(телефон не видит блютуз устройства) с этой платкой IOIO (купил из списка совместимых github.com/ytai/ioio/wiki/Supported-Bluetooth-Dongles) dx.com/p/super-mini-bluetooth-2-0-adapter-dongle-vista-compatible-11866. Что же я делаю не так? По USB плата работает отлично.

                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.