Inhoudsopgave:

Raspberry Pi-aangedreven internetradio - Ajarnpa
Raspberry Pi-aangedreven internetradio - Ajarnpa

Video: Raspberry Pi-aangedreven internetradio - Ajarnpa

Video: Raspberry Pi-aangedreven internetradio - Ajarnpa
Video: How To Broadcast on Internet Radio (Dutch) 2024, November
Anonim
Image
Image
Raspberry Pi-aangedreven internetradio
Raspberry Pi-aangedreven internetradio
Raspberry Pi-aangedreven internetradio
Raspberry Pi-aangedreven internetradio

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

De radio
De radio
De radio
De radio
De radio
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

Picaxe
Picaxe
Picaxe
Picaxe
Picaxe
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

Raspberry Pi
Raspberry Pi
Raspberry Pi
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

Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten

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: