Spisu treści:

Radio internetowe z Raspberry Pi: 5 kroków (ze zdjęciami)
Radio internetowe z Raspberry Pi: 5 kroków (ze zdjęciami)

Wideo: Radio internetowe z Raspberry Pi: 5 kroków (ze zdjęciami)

Wideo: Radio internetowe z Raspberry Pi: 5 kroków (ze zdjęciami)
Wideo: Pierwsze kroki z Raspberry Pi: zdalny sterownik oświetlenia (via Ethernet) 2024, Listopad
Anonim
Image
Image
Radio internetowe zasilane przez Raspberry Pi
Radio internetowe zasilane przez Raspberry Pi
Radio internetowe zasilane przez Raspberry Pi
Radio internetowe zasilane przez Raspberry Pi

Jest coś satysfakcjonującego w obracaniu pokręteł i wciskaniu przycisków, jak w starych radiach. Niestety wiele z tych radiotelefonów jest zepsutych lub stacje ucichły. Na szczęście nie jest trudno zaktualizować dowolne radio w radio internetowe za pomocą raspberry pi zero W, a pokażę Ci jak!

Część pracy będzie zależeć od radia dawcy, które masz, ale wyjaśnię, co zrobiłem z moim, aby dać ci pojęcie, jak to działa.

Ponieważ pi działa w sposób łatwy do naśladowania, po podłączeniu sterowania radiowego można łatwo dodać inne funkcje, takie jak alarm, głośnik bluetooth, mówiący zegar itp., Po prostu zmieniając oprogramowanie przez ssh.

Ten projekt został zainspirowany radiem internetowym Dansette Pi, a główną różnicą jest to, że tutaj pokrętła sterują radiem, obracając je, a nie za pomocą przycisków.

Kieszonkowe dzieci

  • stare radio tranzystorowe
  • Raspberry pi zero W
  • Picax 20X2
  • Wzmacniacz mono Adafruit 3W - MAX98357 I2S Amp Breakout
  • Złącze baryłkowe do zasilania
  • Zasilanie 5 V DC pasujące do złącza beczki
  • różne rezystory
  • kilka kondensatorów 100nF
  • striptizerka
  • 20-pinowe gniazdo IC DIP
  • przewody połączeniowe i kołki rozgałęźne
  • małe nakrętki i śruby

Krok 1: Przegląd

Pomysł polega na tym, aby raspberry pi był podłączony do Internetu za pośrednictwem wbudowanego Wi-Fi i przesyłał strumieniowo jedną z listy wstępnie skonfigurowanych internetowych stacji radiowych. Oryginalne przyciski radiowe i pokrętła (potencjometry) zostaną podłączone do chipa Picaxe, który służy jako konwerter analogowo-cyfrowy. Pi stale odczytuje elementy sterujące z pikaxa i odpowiednio reaguje, zmieniając głośność lub stację. Gdy stacja zostanie zmieniona, radio wypowie nazwę nowej stacji. Na koniec strumień audio jest przesyłany do wzmacniacza mono, który jest podłączony do oryginalnego głośnika radiowego.

Wspaniałą rzeczą w użyciu raspberry pi jest to, że po skonfigurowaniu obwodu, funkcje radia można łatwo modyfikować, zmieniając tylko kilka linii kodu na pi przez ssh. Na przykład możesz łatwo połączyć się z głośnikiem bluetooth lub zrobić budzik:)

Krok 2: Radio

Radio
Radio
Radio
Radio
Radio
Radio

Najważniejszą częścią jest radio dawcy. Nie musi działać, ale musi mieć sprawny głośnik (chyba że chcesz zainstalować nowy).

Moje radio ma 4 pokrętła i 7 przycisków. Do zmiany głośności i stacji posłużą dwa pokrętła. Pozostałe dwa pokrętła i przyciski nic nie zrobią, ale i tak je połączę na wypadek, gdybym chciał z nich później skorzystać.

Pierwszym krokiem jest ostrożne rozebranie radia i wyjęcie całej wewnętrznej elektroniki, poza głośnikiem nie będą nam potrzebne.

Zmiana stacji W moim radiu, kiedy zmieniasz stację, po wyświetlaczu przesuwa się mały czerwony znacznik, wskazujący częstotliwość, której słuchasz. Naprawdę chciałem zachować tę funkcję! Pokrętło zmiany stacji obraca kondensator zmienny i obsługuje układ bloczkowy z kawałkiem sznurka, który trzyma czerwony znacznik.

Próbowałem zbudować obwód do pomiaru pojemności tego zmiennego kondensatora, ale pojemność była tak mała, że prosta metoda pomiaru czasu ładowania / rozładowania nie działa. Są inne metody, ale wydały mi się skomplikowane i nie warte wysiłku…

Więc to, co tu zrobiłem, to spłaszczyć wałek, który wskazywał na spód zmiennego kondensatora, aby ten wałek mógł pasować do rowka nowoczesnego potencjometru. Na szczęście ten potencjometr można było zamontować w oryginalnej skrzynce na baterie wiercąc w niej otwór. Po tym wszystkim kondensator zmienny teraz bezpośrednio steruje potencjometrem, którego używam do ustawiania stacji w moim radiu cyfrowym.

Wciskać przyciski

Była tam skomplikowana płytka drukowana, w której znajdowała się infrastruktura dla przycisków. Po wyjęciu podzespołów i przewodów, które zostały przylutowane, wymyśliłem, które połączenia są zawiązywane/przerywane po naciśnięciu lub zwolnieniu przycisku. Niektóre przyciski były ze sobą połączone, więc musiałem zerwać kilka miedzianych ścieżek na płytce drukowanej. Na koniec przylutowałem kilka drutów, które pójdą do pikaxa, aby dać 6 przycisków pracujących w izolacji.

Znajdź także przytulne miejsce, w którym mogą usiąść pi i pikaxe, najlepiej jak najdalej od głośnika, ponieważ pole magnetyczne z głośnika może zepsuć mikroprocesory. Wywierciłem kilka otworów w metalowej ramie radia, aby zamontować pi.

Krok 3: pikax

pikax
pikax
pikax
pikax
pikax
pikax

Obwód pikaxa znajduje się powyżej, a dla przejrzystości pokazano tylko dwa potencjometry i jeden przycisk. Układ jest dość prosty, z wycieraczką każdego potencjometru podłączoną do wejścia ADC. W przypadku przycisków pin wejściowy jest związany z masą, a przycisk znajduje się między wejściem a +3,3V. Ten obwód nie zawiera obwodu pobierania, ponieważ zaprogramowałem moją pikaxę na osobnej płytce.

Kod pikaxe jest dość prosty. Pikas odczytuje wartości ADC potencjometrów i stany przycisków, a następnie zapisuje je w pamięci wewnętrznej, którą odczyta pi.

Możesz użyć dowolnego chipa pikaksowego X2. Części inne niż X2 nie mają trybu I2C slave, więc nie będą działać z tymi instrukcjami.

Jeśli używasz komputera z systemem Linux do zaprogramowania pikaxa, aby kabel do pobierania AXE027 działał, musisz uruchomić następujące polecenia:

sudo modprobe ftdi_sio

sudo chmod 777 /sys/bus/usb-serial/drivers/ftdi_sio/nowy_id sudo echo "0403 bd90" > /sys/bus/usb-serial/drivers/ftdi_sio/nowy_id

W przypadku nieregularnych skoków wartości potencjometrów, kondensator 100nF można umieścić między masą a wycieraczką potencjometru.

Krok 4: Raspberry Pi

Malina Pi
Malina Pi
Malina Pi
Malina Pi

Nadchodzą mózgi operacji. Niektóre pakiety będą musiały zostać zainstalowane na pi za pomocą

aktualizacja sudo apt-get

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

Pi będzie rozmawiał z pikaxem przez I2C. Aby włączyć I2C, sprawdź, czy plik /etc/modules zawiera linię

i2c-dev

i że /boot/config.txt ma

dtparam=i2c_arm=wł.

Aby skonfigurować pi do pracy ze wzmacniaczem, postępuj zgodnie z własnym przewodnikiem Adafruit tutaj lub po prostu uruchom

curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | grzmotnąć

i zaakceptuj wszystko.

Kod Pythona jest dość prosty, po wstępnej konfiguracji niekończąca się pętla while nasłuchuje zmian w wartościach potencjometrów i czy przyciski zostały naciśnięte.

n

Plik Stations.txt zawiera listę adresów URL stacji i nazw stacji, które będą wypowiadane po zmianie stacji. Ma następujący format

st1 =

n1 = jakieś radio st2 = https://anotherstream n2 = inna stacja

Ten plik nie powinien zawierać pustych wierszy.

Aby znaleźć adresy URL stacji, korzystam z www.fmstream.org.

Jeśli zamierzasz wyłączyć radio, po prostu pociągając zasilanie, dobrym pomysłem jest ustawienie pi na tylko do odczytu, aby zapobiec uszkodzeniom karty SD. Skrypt read_only_setup.sh robi to za Ciebie i umożliwia przełączanie między trybem tylko do odczytu i do odczytu i zapisu poprzez wpisanie w terminalu „ro” i „rw”.

Krok 5: Składanie wszystkiego razem

Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem

Używając stripboardu, zrobiłem mały kapelusz dla pikaxa i wzmacniacza, aby usiąść na szczycie pi.

Do zasilania wyjąłem jedno ze starych gniazdek radia i zainstalowałem nowe gniazdo DC, do którego przylutowałem kabel micro USB. Pamiętaj, aby dokładnie sprawdzić biegunowość przewodów!

Na koniec podłącz wszystko, spróbuj lepiej poprowadzić przewody, które zrobiłem, zamknij pokrywę i ciesz się radiem!

Zalecana: