Интернет-радио на базе старого радиоприемника

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

Многие из этих радиоприемников сломаны и подавляющее большинство не способны принимать современные радиостанции. К счастью, не так уж сложно преобразовать любое радио в интернет-радио с помощью Raspberry Pi Zero W, и мастер с ником benh293 покажет нам, как это сделать.

Конечно, некоторые детали будут зависеть от донорского радио, но мастер объясняет, как он это сделал на своем приемнике и дает общее представление о работе.

После установки Raspberry можно легко добавить другие функции, такие как будильник, динамик Bluetooth, говорящие часы и т. д., просто изменив немного программное обеспечение.

Инструменты и материалы:
-Старый радиоприемник;
-Raspberry pi zero W;
-Микроконтроллер PICAXE-20X2;
-Усилитель MAX98357 I2S;
-Разъем питания;
-Источник питания 5 В постоянного тока;
-Резисторы;
-Конденсаторы 100 нФ;
-20-контактный DIP-разъем IC;
-Перемычки;
-Крепеж;

Шаг первый: принцип работы
Идея состоит в том, чтобы Raspberry Pi был подключен к Интернету через встроенный Wi-Fi и транслировал одну из предварительно настроенных интернет-радиостанций. Оригинальные радиокнопки и ручки. (потенциометры) будут подключены к микросхеме picaxe, которая служит аналого-цифровым преобразователем. Рассбери постоянно считывает команды с микроконтроллера и реагирует соответствующим образом, изменяя громкость или станцию. При смене станции радио произнесет название новой станции. Наконец, потоковое аудио передается на усилитель, подключенный к динамику радиоприемника.

Самое интересное в использовании Raspberry Pi состоит в том, что после настройки, функции радио можно легко изменить, просто изменив несколько строк кода на Pi через ssh. Например, можно легко подключить к bluetooth-динамику или сделать будильник.

Шаг второй: радио
Самая важная часть — это донорский радиоприемник. Он не обязательно должен работать, но должен иметь работающий динамик (или нужно будет устанавливать новый).

У данного радио 4 круглых ручки регулировки и 7 кнопок. Два ручки будут использоваться для регулировки громкости и станции. Две других ручки и кнопки на данный момент ни каких функций выполнять не будут, но мастер все равно их подключит на случай дальнейшего использования.

Первый шаг — аккуратно разобрать магнитолу и удалить всю внутреннюю электронику, она не понадобится, кроме динамика.

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

Сначала он попытался построить схему для измерения емкости этого переменного конденсатора, но емкость была настолько мала, что простой метод измерения не работал. Есть и другие методы, но они сложные и это бы все усложнило.

Тогда он решил пойти другим путем. Из нижней части потенциометра выходит ось с плоским концом. Этот вал как раз подходит к пазу на ручке регулировки современного потенциометра.

Потенциометр мастер установил в батарейный отсек приемника и соединил с оригинальным потенциометром. Теперь, при вращении ручки настройки, вращается и ручка настройки потенциометра, установленного в батарейном отсеке и который используется для смены станций на цифровом радио.

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

Также нужно продумать, куда можно установить Рассбери и микроконтроллер. Желательно разместить их как можно дальше от динамика, так как магнитное поле динамика может испортить микропроцессоры.

Шаг третий: микроконтроллер
Схема микроконтроллера Picaxe находится ниже.

Мастер не стал приводить всю схему, а обозначил только два потенциометра и одну кнопка. Схема довольно проста: средний контакт каждого потенциометра подключен к входу АЦП, правый подключается к +3,3 В, а левый к земле. Для кнопок входной контакт привязан к земле, а кнопка находится между входом и + 3,3 В. Эта схема не включает схему загрузки, потому что микросхема была запрограммирована на отдельной плате.

Код picaxe довольно прост. Picaxe считывает значения АЦП потенциометров и состояния кнопок, а затем сохраняет их во внутренней памяти, которую будет считывать Рассбери.

Можно использовать любой чип X2 picaxe.

Если используется компьютер под управлением Linux для программирования picaxe, чтобы заработал порт загрузки AXE027, необходимо выполнить следующие команды:
sudo modprobe ftdi_sio

sudo chmod 777 /sys/bus/usb-serial/drivers/ftdi_sio/new_id

sudo echo <span class="pl-pds">"0403 bd90"</span> > /sys/bus/usb-serial/drivers/ftdi_sio/new_id

В случае, если значения потенциометра скачкообразны, нужно установить конденсатор емкостью 100 нФ между землей и средним контактом потенциометра.
Код можно скачать ниже.
pi_talk.bas.txt

Шаг четвертый: Raspberry Pi
Дальше подключение и прошивка Рассбери.

Некоторые пакеты необходимо будет установить на Pi с помощью пакета
sudo apt-get update

sudo apt-get install -y i2c-tools vlc espeak python-smbus python-pip

sudo pip install python-vlc

Рассбери будет «разговаривать» с микроконтроллером через I2C. Чтобы включить I2C, убедитесь, что файл / etc / modules содержит строку
i2c-dev
а в /boot/config.txt есть строка
dtparam=i2c_arm=on
Чтобы настроить Рассбери для работы с усилителем, следуйте руководству Adafruit здесь или просто запустите
curl -sS <a href="https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh"> https://raw.githubusercontent.com/adafruit/Raspbe…> | bash<br>
Код python довольно прост: после некоторой начальной настройки бесконечный цикл while отслеживает изменения значений потенциометра и нажатия кнопок.

Файл station.txt содержит список URL-адресов станций и названий станций, которые будут произноситься при смене станции. Он имеет следующий формат и в этом файле не должно быть пустых строк.
st1 = http://someradiostream
n1 = some radio
st2 = http://anotherstream
n2 = another station
Чтобы найти URL станции, мастер использует www.fmstream.org
Если вы будете выключать радио, просто отключив питание, рекомендуется установить Рассбери только для чтения, чтобы предотвратить повреждение SD-карты. Сценарий read_only_setup.sh делает это самостоятельно и позволяет переключаться между режимом «только чтение» и «чтение-запись» путем ввода «ro» и «rw» в терминале.
main.py
stations.txt
read_only_setup.sh.txt

Шаг пятый: сборка
После программирования мастер приступил к сборке устройства. Установил Рассбери, микроконтроллер и усилитель на монтажной плате. Смонтировал сему. Вместо штатного разъема установил разъем питания, к которому припаял кабель micro USB и подключил к Рассбери.
Установил заднюю крышку.

Все готово.

Источник (Source)

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

Источник: usamodelkina.ru

Понравилась статья? Поделиться с друзьями:
KIA