Innholdsfortegnelse:

Raspberry Pi-drevet internettradio: 5 trinn (med bilder)
Raspberry Pi-drevet internettradio: 5 trinn (med bilder)

Video: Raspberry Pi-drevet internettradio: 5 trinn (med bilder)

Video: Raspberry Pi-drevet internettradio: 5 trinn (med bilder)
Video: Как сделать свой собственный мини-NAS 2024, November
Anonim
Image
Image
Raspberry Pi-drevet internettradio
Raspberry Pi-drevet internettradio
Raspberry Pi-drevet internettradio
Raspberry Pi-drevet internettradio

Det er noe tilfredsstillende med å dreie på rattene og trykke på knapper, som de på gamle radioer. Dessverre er mange av disse radioene ødelagte eller stasjonene har blitt stille. Heldigvis er det ikke så vanskelig å oppdatere noen radio til en internettradio ved hjelp av en bringebær pi zero W, og jeg skal vise deg hvordan!

Noe av arbeidet vil avhenge av donorradioen du har, men jeg skal forklare hva jeg gjorde med mitt for å gi deg en ide om hvordan det går.

Siden pi kjører lett å følge python -koden, kan du enkelt legge til andre funksjoner som en alarm, Bluetooth -høyttaler, snakkeklokke osv. Når radiokontrollene er koblet til, bare ved å endre programvaren over ssh.

Dette prosjektet ble inspirert av Dansette Pi Internett -radio, den største forskjellen er at her kontrollerer skiven radioen ved å vri dem, ikke som trykknapper.

Rekvisita

  • gammel transistorradio
  • Bringebær pi zero W
  • Picaxe 20X2
  • Adafruit 3W mono forsterker - MAX98357 I2S Amp Breakout
  • Fatkontakt for strømforsyning
  • 5V likestrømforsyning som passer til fatkontakten
  • forskjellige motstander
  • noen få 100nF kondensatorer
  • stripboard
  • 20 -pinners IC DIP -kontakt
  • jumper ledninger og header pins
  • små muttere og bolter

Trinn 1: Oversikt

Tanken er å ha bringebær pi koblet til internett via innebygd wifi og streaming en av en liste over forhåndskonfigurerte internettradiostasjoner. De originale radioknappene og hjulene (potensiometre) vil bli koblet til en picaxe-brikke som fungerer som en analog-til-digital-omformer. Pi leser kontinuerlig kontrollene fra picaxen, og reagerer deretter og endrer enten volumet eller stasjonen. Når stasjonen endres, vil radioen snakke navnet på den nye stasjonen. Til slutt ledes den streamede lyden til en monoforsterker som er koblet til den originale radiohøyttaleren.

Det flotte med å bruke en bringebær pi er at når kretsen er satt opp, kan radioens funksjoner enkelt endres bare ved å endre noen få kodelinjer på pi gjennom ssh. For eksempel kan du enkelt koble til en Bluetooth -høyttaler, eller lage en vekkerklokke:)

Trinn 2: Radioen

Radioen
Radioen
Radioen
Radioen
Radioen
Radioen

Den viktigste delen er donorradioen. Det trenger ikke å fungere, men det må ha en fungerende høyttaler (med mindre du vil installere en ny).

Radioen min har 4 hjul og 7 trykknapper. To av hjulene skal brukes til å endre volumet og stasjonen. De to andre hjulene og knappene gjør ingenting, men jeg kobler dem til uansett hvis jeg vil bruke dem senere.

Det første trinnet er å demontere radioen forsiktig og fjerne all intern elektronikk, vi trenger dem ikke, bortsett fra høyttaleren.

Skifte stasjon På radioen min, når du bytter stasjon, beveger en liten rød markør seg over et display for å indikere hvilken frekvens du lytter til. Jeg ville virkelig beholde denne funksjonen! Stasjonsskiftet dreier en variabel kondensator og driver et remskive system med et stykke snor som holder den røde markøren.

Jeg prøvde å bygge en krets for å måle kapasitansen til denne variable kondensatoren, men kapasitansen var så liten at den enkle metoden for timing av ladning/utladning ikke fungerer. Det er andre metoder, men de virket kompliserte for meg og ikke verdt innsatsen …

Så det jeg gjorde her var å flate en aksel som pekte ut fra bunnen av den variable kondensatoren slik at denne akselen kan passe inn i sporet på et moderne potensiometer. Heldigvis kan dette potensiometeret monteres i den originale batteriboksen ved å bore et hull i den. Tross alt driver den variable kondensatoren nå direkte et potensiometer, som jeg bruker til å sette stasjonen på min digitale radio.

Trykke knapper

Det var et komplisert kretskort som inneholdt infrastrukturen for trykknappene. Etter å ha fjernet komponentene og ledningene som ble loddet på, fant jeg ut hvilke tilkoblinger som blir gjort/ødelagt når en knapp trykkes eller slippes. Noen av knappene var koblet til hverandre, så jeg måtte bryte noen kobberspor i kretskortet. Til slutt loddet jeg på noen ledninger som går til picaxen for å gi 6 trykknapper som fungerer isolert.

Finn også et koselig sted for pi og picaxe å sitte, helst så langt unna høyttaleren som mulig, ettersom magnetfeltet fra høyttaleren kan ødelegge mikroprosessorer. Jeg boret noen hull i radioens metallramme for å montere pi -en.

Trinn 3: Picaxe

Picaxe
Picaxe
Picaxe
Picaxe
Picaxe
Picaxe

Picaxe -kretsen er ovenfor, med bare to av potensiometrene og en knapp vist for klarhet. Kretsen er ganske enkel, med viskeren til hvert potensiometer koblet til en ADC -inngang. For knappene er inngangspinnen knyttet til bakken og knappen er mellom inngangen og +3,3V. Denne kretsen inkluderer ikke nedlastningskretsen fordi jeg programmerte picaxen min på et eget bord.

Picaxe -koden er ganske enkel. Picaxen leser inn ADC -verdiene til potensiometrene og tilstandene til knappene, og lagrer dem deretter i det interne minnet som pi vil lese.

Du kan bruke hvilken som helst X2 picaxe -brikke. Ikke X2 -deler har ikke I2C -slavemodus, og vil derfor ikke fungere med disse instruksjonene.

Hvis du bruker en linux -datamaskin for å programmere picaxe, må du kjøre følgende kommandoer for å få nedlastingskabelen AXE027 til å fungere:

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

I tilfelle potensiometerverdiene hopper uregelmessig, kan en 100nF kondensator plasseres mellom bakken og viskeren til potten.

Trinn 4: Bringebær Pi

Bringebær Pi
Bringebær Pi
Bringebær Pi
Bringebær Pi

Her kommer hjernen til operasjonen. Noen pakker må installeres på pi med

sudo apt-get oppdatering

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

Pi vil snakke med picaxe gjennom I2C. For å aktivere I2C, må du kontrollere at filen /etc /modules inneholder linjen

i2c-dev

og som /boot/config.txt har

dtparam = i2c_arm = på

For å sette opp pi -en for å fungere med forsterkeren, følg Adafruits egen guide her, eller bare kjør

curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | bash

og godta alt.

Python -koden er ganske enkel, etter noen innledende oppsett en uendelig mens sløyfe lytter etter endringer i potensiometerverdiene og hvis knappene har blitt trykket på.

n

Filen stations.txt inneholder en liste over stasjonenes URL -er og stasjonsnavn som blir sagt når stasjonen endres. Den har følgende format

st1 = https:// someradiostream

n1 = noen radio st2 = https:// anotherstream n2 = en annen stasjon

Denne filen skal ikke inneholde tomme linjer.

For å finne stasjonsadresser bruker jeg www.fmstream.org.

Hvis du har tenkt å slå av radioen ved å trekke i strømmen, er det en god idé å sette pi-en til skrivebeskyttet for å forhindre korrupsjon av SD-kort. Skriptet read_only_setup.sh gjør det for deg og lar deg bytte mellom skrivebeskyttet og skrive-skrive ved å skrive "ro" og "rw" i en terminal.

Trinn 5: Sett alt sammen

Sette alt sammen
Sette alt sammen
Sette alt sammen
Sette alt sammen
Sette alt sammen
Sette alt sammen

Ved hjelp av stripboard lagde jeg en liten lue for picaxen og forsterkeren for å sitte på toppen av pi.

For strømforsyningen fjernet jeg en av de gamle kontaktene på radioen og installerte en ny DC -fatkontakt som jeg loddet en mikro -USB -kabel til. Sørg for å kontrollere ledningenes polaritet nøye!

Til slutt, koble alt sammen, prøv å gjøre en bedre jobb med å rute ledningene som jeg gjorde, lukk lokket og nyt radioen din!

Anbefalt: