Inhoudsopgave:
- Benodigdheden
- Stap 1: Overzicht
- Stap 2: De radio
- Stap 3: Picaxe
- Stap 4: Raspberry Pi
- Stap 5: Alles samenbrengen
Video: Raspberry Pi-aangedreven internetradio - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Er is iets bevredigends aan het draaien van wijzerplaten en het indrukken van knoppen, zoals die op oude radio's. Helaas zijn veel van deze radio's kapot of zijn de stations stilgevallen. Gelukkig is het niet zo moeilijk om een radio te updaten naar een internetradio met behulp van een Raspberry Pi Zero W, en ik zal je laten zien hoe!
Een deel van het werk zal afhangen van de donorradio die je hebt, maar ik zal uitleggen wat ik met de mijne heb gedaan om je een idee te geven van hoe het gaat.
Omdat de pi gemakkelijk te volgen python-code is, kun je, zodra de radiobediening is aangesloten, eenvoudig andere functies toevoegen, zoals een alarm, bluetooth-luidspreker, sprekende klok enz. door de software gewoon via ssh te wijzigen.
Dit project is geïnspireerd op de Dansette Pi-internetradio, met als belangrijkste verschil dat hier de wijzerplaten de radio bedienen door eraan te draaien, niet als drukknoppen.
Benodigdheden
- oude transistorradio
- Raspberry pi nul W
- Picaxe 20X2
- Adafruit 3W monoversterker - MAX98357 I2S Amp Breakout
- Barrel connector voor voeding
- 5V DC-voeding om op de barrelconnector te passen
- verschillende weerstanden
- een paar 100nF condensatoren
- stripbord
- 20-pins IC DIP-aansluiting
- jumperdraden en header-pinnen
- kleine moeren en bouten
Stap 1: Overzicht
Het idee is om de Raspberry Pi via de ingebouwde wifi met internet te verbinden en een van een lijst met vooraf geconfigureerde internetradiostations te streamen. De originele radio buttons en dials (potentiometers) worden aangesloten op een picaxe chip die dient als analoog-naar-digitaal converter. De pi leest continu de bedieningselementen van de picaxe en reageert dienovereenkomstig, waarbij het volume of het station wordt gewijzigd. Wanneer de zender wordt gewijzigd, zal de radio de naam van de nieuwe zender uitspreken. Ten slotte wordt de gestreamde audio doorgesluisd naar een monoversterker die is aangesloten op de originele radioluidspreker.
Het mooie van het gebruik van een raspberry pi is dat als het circuit eenmaal is ingesteld, de functies van de radio eenvoudig kunnen worden gewijzigd door een paar regels code op de pi te wijzigen via ssh. Je kunt bijvoorbeeld eenvoudig verbinding maken met een bluetooth-speaker, of een wekker maken:)
Stap 2: De radio
Het belangrijkste onderdeel is de donorradio. Het hoeft niet te werken, maar het moet wel een werkende luidspreker hebben (tenzij je een nieuwe wilt installeren).
Mijn radio heeft 4 draaiknoppen en 7 drukknoppen. Twee van de wijzerplaten zullen worden gebruikt voor het wijzigen van het volume en het station. De andere twee wijzerplaten en de knoppen zullen niets doen, maar ik zal ze toch aansluiten voor het geval ik ze later wil gebruiken.
De eerste stap is om de radio voorzichtig te demonteren en alle interne elektronica te verwijderen, die hebben we niet nodig, behalve de luidspreker.
Van zender veranderen Als je op mijn radio van zender verandert, beweegt een kleine rode markering over een display om aan te geven naar welke frequentie je luistert. Ik wilde deze functie heel graag behouden! De stationswisselknop draait een variabele condensator en bedient een katrolsysteem met een touwtje dat de rode markering vasthoudt.
Ik heb geprobeerd een circuit te bouwen om de capaciteit van deze variabele condensator te meten, maar de capaciteit was zo klein dat de eenvoudige methode om de lading / ontlading te timen niet werkt. Er zijn andere methoden, maar die leken me ingewikkeld en niet de moeite waard…
Dus wat ik hier deed, was een as die uit de onderkant van de variabele condensator wees, plat vijlen, zodat deze in de groef van een moderne potentiometer past. Gelukkig kon deze potmeter in de originele accubak worden gemonteerd door er een gat in te boren. De variabele condensator bedient nu immers direct een potentiometer, waarmee ik de zender op mijn digitale radio instel.
Drukknoppen
Er was een ingewikkelde printplaat met de infrastructuur voor de drukknoppen. Na het verwijderen van de componenten en draden die erop waren gesoldeerd, heb ik uitgezocht welke verbindingen worden gemaakt/verbroken wanneer een knop wordt ingedrukt of losgelaten. Sommige knoppen waren met elkaar verbonden, dus ik moest een paar koperen sporen in de printplaat breken. Ten slotte heb ik wat draden gesoldeerd die naar de picaxe gaan om 6 drukknoppen te geven die afzonderlijk werken.
Zoek ook een gezellige plek voor de pi en picaxe om te zitten, idealiter zo ver mogelijk weg van de luidspreker, omdat het magnetische veld van de luidspreker microprocessors kan verknoeien. Ik heb een paar gaten in het metalen frame van de radio geboord om de pi te monteren.
Stap 3: Picaxe
Het picaxe-circuit staat hierboven, met slechts twee van de potentiometers en één knop voor de duidelijkheid. Het circuit is vrij eenvoudig, waarbij de wisser van elke potentiometer is aangesloten op een ADC-ingang. Voor de knoppen is de ingangspin verbonden met aarde en bevindt de knop zich tussen de ingang en +3,3V. Dit circuit bevat niet het downloadcircuit omdat ik mijn picaxe op een apart bord heb geprogrammeerd.
De picaxe-code is vrij eenvoudig. De picaxe leest de ADC-waarden van de potentiometers en de toestanden van de knoppen in en slaat ze vervolgens op in het interne geheugen dat de pi zal lezen.
U kunt elke X2 picaxe-chip gebruiken. Niet-X2-onderdelen hebben geen I2C-slavemodus en werken dus niet met deze instructies.
Als u een linux-computer gebruikt om de picaxe te programmeren, moet u de volgende opdrachten uitvoeren om de AXE027-downloadkabel te laten werken:
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
In het geval dat de potentiometerwaarden onregelmatig verspringen, kan een 100nF-condensator tussen de grond en de wiper van de pot worden geplaatst.
Stap 4: Raspberry Pi
Hier komen de hersenen van de operatie. Sommige pakketten moeten op de pi worden geïnstalleerd met:
sudo apt-get update
sudo apt-get install -y i2c-tools vlc espeak python-smbus python-pip sudo pip install python-vlc
De pi zal via I2C met de picaxe praten. Om I2C in te schakelen, controleer of het bestand /etc/modules de regel bevat
i2c-dev
en dat /boot/config.txt heeft
dtparam=i2c_arm=aan
Om de pi in te stellen om met de versterker te werken, volg je Adafruit's eigen gids hier, of ren je gewoon
curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | bash
en accepteer alles.
De python-code is vrij eenvoudig, na enige initiële opzet luistert een eindeloze while-lus naar veranderingen in de potentiometerwaarden en of de knoppen zijn ingedrukt.
N
Het bestand stations.txt bevat een lijst van de stations-URL's en stationsnamen die worden uitgesproken wanneer het station wordt gewijzigd. Het heeft het volgende formaat:
st1 =
n1 = sommige radio st2 = https://anotherstream n2 = andere zender
Dit bestand mag geen lege regels bevatten.
Om station-URL's te vinden, gebruik ik www.fmstream.org.
Als u van plan bent de radio uit te zetten door gewoon aan de stroom te trekken, is het een goed idee om de pi in te stellen op alleen-lezen om beschadiging van de SD-kaart te voorkomen. Het script read_only_setup.sh doet dat voor u en maakt het mogelijk om te schakelen tussen alleen-lezen en lezen-schrijven door "ro" en "rw" in een terminal te typen.
Stap 5: Alles samenbrengen
Met stripboard heb ik een hoedje gemaakt voor de picaxe en de versterker om bovenop de pi te zitten.
Voor de stroomvoorziening heb ik een van de oude connector jacks van de radio verwijderd en een nieuwe DC barrel jack geïnstalleerd waaraan ik een micro USB kabel heb gesoldeerd. Let goed op de polariteit van de draden!
Sluit ten slotte alles aan, probeer de draden beter te leiden die ik deed, sluit het deksel en geniet van je radio!
Aanbevolen:
1964 Dansette Pi internetradio: 6 stappen (met afbeeldingen)
1964 Dansette Pi internetradio: deze stijlvolle draagbare Dansette-radio uit het midden van de jaren 60 speelt nu de beste internetradiostations van de 21e eeuw dankzij een liefdevolle upgrade. Alle originele bedieningselementen zijn opnieuw gebruikt en je zou nooit weten dat het een conversie is - totdat je het inschakelt
Roberts RM33 Raspberry Pi internetradio (nog een): 8 stappen (met afbeeldingen)
Roberts RM33 Raspberry Pi-internetradio (nog een …): Ja, het is een andere Raspberry Pi-internetradio en ook niet mijn eerste. Ik weet niet zeker waarom deze build nog steeds zo populair is, maar ik geniet er nog steeds van en kan ook niet zeggen dat dit mijn laatste zal zijn. Ik hou echt van het uiterlijk van de Robert
INTERNETRADIO / TICKER / WEERSTATION: 5 stappen
INTERNETRADIO / TICKER / WEERSTATION: Dit is een zeer goede internetradio, maar meer dan dat, het is ook een weerstation, een ticker en een domoticasysteem. En het is: heel goedkoop werkt echt goed heel eenvoudig te bouwen en te bedienen draagbaar door de gemakkelijke verbinding met wifi
Internetradio met een ESP32: 7 stappen (met afbeeldingen)
Internetradio met behulp van een ESP32: Beste vrienden welkom bij een andere Instructable! Vandaag gaan we een internetradio-apparaat bouwen met een groot 3,5-inch scherm met behulp van een goedkoop ESP32-bord. Geloof het of niet, we kunnen nu een internetradio bouwen in minder dan 10 minuten en met minder
Internetradio/webradio met Raspberry Pi 3 (zonder kop): 8 stappen
Internet Radio/ Web Radio Met Raspberry Pi 3 (headless): HI Wilt u uw eigen Radio hosting via internet dan bent u bij ons aan het juiste adres. Ik zal proberen zoveel mogelijk uit te werken. Ik heb verschillende manieren geprobeerd, de meeste van hen hadden ofwel een geluidskaart nodig die ik niet graag wilde kopen. maar slaagde erin om