Innehållsförteckning:
Video: Raspberry Pi-driven internetradio: 5 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:37
Det är något tillfredsställande med att vrida rattar och trycka på knappar, som de på gamla radioapparater. Tyvärr är många av dessa radioer trasiga eller stationerna har tystnat. Lyckligtvis är det inte alltför svårt att uppdatera någon radio till en internetradio med hjälp av en hallon pi zero W, så ska jag visa dig hur!
En del av arbetet beror på givarradion du har, men jag ska förklara vad jag gjorde med mitt för att ge dig en uppfattning om hur det går.
Eftersom pi körs lätt att följa pythonkod, när radiokontrollerna är anslutna kan du enkelt lägga till andra funktioner som ett larm, Bluetooth -högtalare, talarklocka etc. genom att bara ändra programvaran över ssh.
Detta projekt inspirerades av Dansette Pi internetradio, den största skillnaden är att rattarna här styr radion genom att vrida dem, inte som tryckknappar.
Tillbehör
- gammal transistorradio
- Hallon pi zero W
- Picaxe 20X2
- Adafruit 3W mono förstärkare - MAX98357 I2S Amp Breakout
- Fatkontakt för strömförsörjning
- 5V DC strömförsörjning för att passa fatkontakten
- olika motstånd
- några 100nF kondensatorer
- bandbräda
- 20 -stifts IC DIP -uttag
- bygelkablar och toppar
- små muttrar och bultar
Steg 1: Översikt
Tanken är att ha hallon pi ansluten till internet via inbyggt wifi och streaming en av en lista med förkonfigurerade internetradiostationer. De ursprungliga radioknapparna och rattar (potentiometrar) kommer att anslutas till ett picaxe-chip som fungerar som en analog-till-digital-omvandlare. Pi läser kontinuerligt kontrollerna från picaxen och reagerar därefter, ändrar antingen volymen eller stationen. När stationen ändras talar radion namnet på den nya stationen. Slutligen ledas det strömmade ljudet till en monoförstärkare som är ansluten till den ursprungliga radiohögtalaren.
Det fina med att använda en hallon pi är att när kretsen väl är upprättad kan radions funktioner enkelt ändras genom att bara ändra några rader kod på pi genom ssh. Till exempel kan du enkelt ansluta till en Bluetooth -högtalare eller göra en väckarklocka:)
Steg 2: Radion
Den viktigaste delen är donatorradion. Det behöver inte fungera men det måste ha en fungerande högtalare (om du inte vill installera en ny).
Min radio har 4 rattar och 7 tryckknappar. Två av rattarna kommer att användas för att ändra volym och station. De andra två urtavlorna och knapparna gör ingenting men jag kommer att ansluta dem ändå om jag vill använda dem senare.
Det första steget är att försiktigt demontera radion och ta bort all intern elektronik, vi kommer inte att behöva dem, förutom högtalaren.
Byta station På min radio, när du byter station, rör sig en liten röd markör över en display för att indikera vilken frekvens du lyssnar på. Jag ville verkligen behålla den här funktionen! Stationens växelvred vrider en variabel kondensator och driver ett remskivsystem med ett snöre som håller den röda markören.
Jag försökte bygga en krets för att mäta kapacitansen hos denna variabla kondensator men kapacitansen var så liten att den enkla metoden för att tajma laddningen/urladdningen inte fungerar. Det finns andra metoder, men de verkade mig komplicerade och inte värda ansträngningen …
Så det jag gjorde här var att fila en axel som pekade ut från botten av den variabla kondensatorn så att denna axel kan passa in i spåret på en modern potentiometer. Lyckligtvis kan denna potentiometer monteras i den ursprungliga batterilådan genom att borra ett hål i den. När allt kommer omkring driver den variabla kondensatorn nu direkt en potentiometer, som jag använder för att ställa in stationen på min digitala radio.
Trycka på knappar
Det fanns ett komplicerat kretskort som rymmer infrastrukturen för tryckknapparna. Efter att ha tagit bort komponenterna och trådarna som lödts på räknade jag ut vilka anslutningar som görs/bryts när en knapp trycks eller släpps. Några av knapparna var anslutna till varandra så jag var tvungen att bryta några kopparspår i kretskortet. Slutligen lodde jag på några trådar som går till picaxen för att ge 6 tryckknappar som arbetar isolerat.
Hitta också en mysig plats för pi och picaxe att sitta, helst så långt bort från högtalaren som möjligt, eftersom magnetfältet från högtalaren kan förstöra mikroprocessorer. Jag borrade några hål i radions metallram för att montera pi: n.
Steg 3: Picaxe
Picaxekretsen är ovan, med bara två av potentiometrarna och en knapp som visas för tydlighetens skull. Kretsen är ganska enkel, med torkaren på varje potentiometer ansluten till en ADC -ingång. För knapparna är ingångsstiften knuten till marken och knappen är mellan ingången och +3,3V. Denna krets inkluderar inte nedladdningskretsen eftersom jag programmerade min picaxe på ett separat kort.
Picaxe -koden är ganska enkel. Picaxen läser in potentiometrarnas ADC -värden och knapparnas tillstånd och lagrar dem sedan i det interna minnet som pi kommer att läsa.
Du kan använda valfritt X2 picaxe -chip. Icke X2 -delar har inte I2C -slavläge och fungerar därför inte med dessa instruktioner.
Om du använder en Linux -dator för att programmera picaxe måste du köra följande kommandon för att få nedladdningskabeln AXE027 att fungera:
sudo modprobe ftdi_sio
sudo chmod 777/sys/bus/usb-serial/drivers/ftdi_sio/new_id sudo echo "0403 bd90">/sys/bus/usb-serial/drivers/ftdi_sio/new_id
Om potentiometervärdena hoppar oregelbundet kan en 100nF kondensator placeras mellan marken och torkaren på krukan.
Steg 4: Hallon Pi
Här kommer operationens hjärna. Vissa paket måste installeras på pi med
sudo apt-get uppdatering
sudo apt-get install -y i2c-tools vlc espeak python-smbus python-pip sudo pip install python-vlc
Pi kommer att prata med picaxen genom I2C. För att aktivera I2C, kontrollera att filen /etc /modules innehåller raden
i2c-dev
och som /boot/config.txt har
dtparam = i2c_arm = på
För att konfigurera pi: n för att fungera med förstärkaren, följ Adafruits egen guide här, eller bara spring
curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | våldsamt slag
och acceptera allt.
Python -koden är ganska enkel, efter en inledande inställning en oändlig medan loop lyssnar efter ändringar i potentiometervärdena och om knapparna har tryckts in.
n
Filen stations.txt innehåller en lista över stationernas webbadresser och stationsnamn som kommer att talas när stationen ändras. Den har följande format
st1 = https:// someradiostream
n1 = någon radio st2 = https:// anotherstream n2 = en annan station
Den här filen får inte innehålla några tomma rader.
För att hitta stationens webbadresser använder jag www.fmstream.org.
Om du tänker stänga av radion genom att bara dra i strömmen är det en bra idé att ställa in pi: n som skrivskyddad för att förhindra korruption av SD-kort. Skriptet read_only_setup.sh gör det åt dig och gör det möjligt att växla mellan skrivskyddat och läs-skriv genom att skriva "ro" och "rw" i en terminal.
Steg 5: Sätta ihop allt
Med stripboard gjorde jag en liten hatt för picaxen och förstärkaren för att sitta ovanpå pi.
För strömförsörjningen tog jag bort en av de gamla kontaktdonen på radion och installerade ett nytt DC -fatuttag som jag lödde en mikro -USB -kabel till. Var noga med att kontrollera ledarnas polaritet noggrant!
Slutligen, anslut allt, försök att göra ett bättre jobb med att dra ledningarna som jag gjorde, stäng locket och njut av din radio!
Rekommenderad:
BOSEBerry Pi Internetradio: 4 steg (med bilder)
BOSEBerry Pi Internetradio: Jag älskar att lyssna på radio! Jag använde en DAB -radio i mitt hus, men tyckte att mottagningen var lite ojämn och ljudet fortsatte att bryta ihop, så jag bestämde mig för att bygga min egen internetradio. Jag har en stark wifi -signal runt mitt hus och den digitala broen
1964 Dansette Pi Internetradio: 6 steg (med bilder)
1964 Dansette Pi internetradio: Denna eleganta bärbara radio från mitten av 1960-talet spelar nu 2000-talets finaste internetradiostationer tack vare en kärleksfull uppgradering. Alla de ursprungliga kontrollerna har återanvänds, och du skulle aldrig veta att det är en konvertering - tills du slår på den
Roberts RM33 Raspberry Pi Internetradio (ännu en ): 8 steg (med bilder)
Roberts RM33 Raspberry Pi Internetradio (ännu en …): Ja, det är en annan Raspberry Pi internetradiobyggnad och inte min första heller. Jag är inte säker på varför den här byggnaden fortfarande är så populär, men jag tycker fortfarande om den och kan inte säga att den här kommer att bli min sista heller. Jag älskar verkligen utseendet på Robert
Internetradio med hjälp av en ESP32: 7 steg (med bilder)
Internetradio med hjälp av en ESP32: Kära vänner välkomna till en annan instruerbar! Idag ska vi bygga en internetradioenhet med en stor 3,5”-skärm med ett billigt ESP32 -kort. Tro det eller ej, vi kan nu bygga en internetradio på mindre än 10 minuter och med mindre
1979 Bang & Olufsen Raspberry Pi Internetradio: 10 steg (med bilder)
1979 Bang & Olufsen Raspberry Pi Internet Radio: Detta är en Bang & Olufsen 1979 -radio: Detta är en 1979 Bang & Olufsen Beocord 1500 kassettinspelare som jag har konverterat till en fristående Raspberry Pi internetradio. De analoga VU -mätarna drivs av Pi via en DAC -krets (digital till analog omvandlare), med aktuell tid,