INHOUDSOPGAWE:

Raspberry Pi-aangedrewe internetradio: 5 stappe (met foto's)
Raspberry Pi-aangedrewe internetradio: 5 stappe (met foto's)

Video: Raspberry Pi-aangedrewe internetradio: 5 stappe (met foto's)

Video: Raspberry Pi-aangedrewe internetradio: 5 stappe (met foto's)
Video: CS50 2013 - Week 10, continued 2024, November
Anonim
Image
Image
Framboos Pi-aangedrewe internetradio
Framboos Pi-aangedrewe internetradio
Framboos Pi-aangedrewe internetradio
Framboos Pi-aangedrewe internetradio

Daar is iets bevredigends aan die draai van die draaiknoppies en die druk op knoppies, soos dié op ou radio's. Ongelukkig is baie van hierdie radio's stukkend of is die stasies stil. Gelukkig is dit nie te moeilik om 'n radio op te dateer na 'n internetradio met 'n framboos pi zero W nie, en ek sal jou wys hoe!

Sommige van die werk sal afhang van die skenkerradio wat u het, maar ek sal verduidelik wat ek met myne gedoen het om u 'n idee te gee van hoe dit gaan.

Aangesien die pi maklik loop om die python -kode te volg, kan u eers die funksies soos 'n alarm, 'n bluetooth -luidspreker, 'n sprekende horlosie ens byvoeg sodra die radiokontroles aangeskakel is deur die sagteware oor ssh te verander.

Hierdie projek is geïnspireer deur die Dansette Pi internetradio, die belangrikste verskil is dat die draaiknoppe die radio hier beheer deur dit te draai, nie as drukknoppies nie.

Voorrade

  • ou transistor radio
  • Framboos pi zero W
  • Picaxe 20X2
  • Adafruit 3W mono versterker - MAX98357 I2S Amp Breakout
  • Vat -aansluiting vir kragtoevoer
  • 5V DC -kragtoevoer wat op die vatkonneksie pas
  • verskillende weerstande
  • 'n paar 100nF kapasitors
  • strookbord
  • 20 -pins IC DIP -aansluiting
  • springdrade en kopstukke
  • klein moere en boute

Stap 1: Oorsig

Die idee is dat die framboos-pi via die ingeboude wifi aan die internet gekoppel is en een van 'n lys van vooraf gekonfigureerde internetradiostasies kan stroom. Die oorspronklike radioknoppies en draaiknoppies (potensiometers) word gekoppel aan 'n picaxe-chip wat dien as 'n analoog-na-digitale omskakelaar. Die pi lees voortdurend die kontroles van die piekstok af en reageer dienooreenkomstig deur die volume of die stasie te verander. As die stasie verander word, sal die radio die naam van die nuwe stasie spreek. Laastens word die gestroomde klank in 'n mono -versterker geplaas wat aan die oorspronklike radioluidspreker gekoppel is.

Die wonderlike van die gebruik van 'n framboos -pi is dat sodra die kring opgestel is, die funksies van die radio maklik verander kan word deur slegs 'n paar reëls kode op die pi deur ssh te verander. U kan byvoorbeeld maklik aan 'n bluetooth -luidspreker koppel of 'n wekker maak:)

Stap 2: Die radio

Die radio
Die radio
Die radio
Die radio
Die radio
Die radio

Die belangrikste deel is die skenkerradio. Dit hoef nie te werk nie, maar wel 'n funksionerende luidspreker (tensy u 'n nuwe een wil installeer).

My radio het 4 draaiknoppe en 7 drukknoppies. Twee van die draaiknoppies word gebruik om die volume en die stasie te verander. Die ander twee draaiknoppies en die knoppies sal niks doen nie, maar ek sal dit in elk geval verbind as ek dit later wil gebruik.

Die eerste stap is om die radio versigtig uitmekaar te haal en al die interne elektronika te verwyder; ons benodig dit nie, behalwe die luidspreker.

Stasies verander Op my radio, as u van stasie verander, beweeg 'n rooi merker oor 'n skerm om aan te dui na watter frekwensie u luister. Ek wou hierdie funksie regtig behou! Die skakelaar van die stasie draai 'n veranderlike kapasitor en werk 'n katrolstelsel met 'n stuk tou wat die rooi merker hou.

Ek het wel 'n stroombaan probeer bou om die kapasitansie van hierdie veranderlike kapasitor te meet, maar die kapasitansie was so klein dat die eenvoudige metode om die lading/ontlading te bepaal nie werk nie. Daar is ander metodes, maar dit lyk vir my ingewikkeld en nie die moeite werd nie …

Dus, wat ek hier gedoen het, was om 'n as plat te maak wat uit die onderkant van die veranderlike kapasitor wys, sodat hierdie as in die groef van 'n moderne potensiometer kan pas. Gelukkig kan hierdie potensiometer in die oorspronklike batterykas gemonteer word deur 'n gat daarin te boor. Die veranderlike kondensator werk immers nou direk met 'n potensiometer, waarmee ek die stasie op my digitale radio instel.

Drukknoppies

Daar was 'n ingewikkelde printplaat wat die infrastruktuur vir die drukknoppies bevat. Nadat ek die komponente en drade wat aan die soldeersel was, verwyder het, het ek vasgestel watter verbindings gemaak/verbreek word as 'n knoppie gedruk of losgemaak word. Sommige van die knoppies was met mekaar verbind, so ek moes 'n paar koperspore in die kringbord breek. Uiteindelik het ek aan 'n paar drade gesoldeer wat na die piekstok gaan en 6 drukknoppies wat afsonderlik werk, gee.

Vind ook 'n gesellige plek vir die pi en picaxe om te sit, ideaal so ver as moontlik van die luidspreker af, aangesien die magnetiese veld van die luidspreker mikroverwerkers kan versteur. Ek het 'n paar gate in die radio se metaalraam geboor om die pi te monteer.

Stap 3: Picaxe

Picaxe
Picaxe
Picaxe
Picaxe
Picaxe
Picaxe

Die picaxe -kring is hierbo, met slegs twee van die potensiometers en een knoppie wat duidelikheid toon. Die kring is redelik eenvoudig, met die veër van elke potensiometer gekoppel aan 'n ADC -ingang. Vir die knoppies word die invoerpen aan die grond vasgemaak en die knoppie is tussen die ingang en +3.3V. Hierdie stroombaan sluit nie die aflaai -kring in nie, want ek het my piekniek op 'n aparte bord geprogrammeer.

Die picaxe -kode is redelik eenvoudig. Die picaxe lees die ADC -waardes van die potensiometers en die toestande van die knoppies in, en stoor dit dan in die interne geheue wat die pi sal lees.

U kan enige X2 picaxe -chip gebruik. Nie -X2 -onderdele het nie die I2C -slawemodus nie en sal dus nie met hierdie instruksies werk nie.

As u 'n Linux -rekenaar gebruik om die picaxe te programmeer, moet u die volgende opdragte uitvoer om die AXE027 -aflaai -kabel te laat werk:

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

As die potensiometerwaardes onregmatig spring, kan 'n 100nF -kondensator tussen die grond en die veër van die pot geplaas word.

Stap 4: Framboos Pi

Framboos Pi
Framboos Pi
Framboos Pi
Framboos Pi

Hier kom die brein van die operasie. Sommige pakkette moet op die pi geïnstalleer word met

sudo apt-get update

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

Die pi sal met I2C met die piksels praat. Om I2C moontlik te maak, moet u seker maak dat die lêer /etc /modules die reël bevat

i2c-dev

en die /boot/config.txt het

dtparam = i2c_arm = aan

Om die pi op te stel om met die versterker te werk, volg die eie gids van Adafruit hier, of hardloop net

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

en aanvaar alles.

Die luislangkode is redelik eenvoudig, na 'n aanvanklike opstelling 'n nimmereindigende terwyl lus luister na veranderinge in die potensiometerwaardes en as die knoppies ingedruk is.

n

Die lêer stations.txt bevat 'n lys met die URL's van die stasie en die naam van die stasie wat uitgespreek sal word wanneer die stasie verander word. Dit het die volgende formaat

st1 = https:// someradiostream

n1 = 'n paar radio st2 = https:// anotherstream n2 = 'n ander stasie

Hierdie lêer mag geen leë reëls bevat nie.

Ek gebruik www.fmstream.org om stasie -URL's te vind.

As u van plan is om die radio af te skakel deur net aan die krag te trek, is dit 'n goeie idee om die pi op leesalleen in te stel om korrupsie van die SD-kaart te voorkom. Die script read_only_setup.sh doen dit vir u en laat toe om tussen leesalleen en lees-skryf te skakel deur 'ro' en 'rw' in 'n terminaal te tik.

Stap 5: Alles saamvoeg

Om alles bymekaar te sit
Om alles bymekaar te sit
Om alles bymekaar te sit
Om alles bymekaar te sit
Om alles bymekaar te sit
Om alles bymekaar te sit

Met behulp van strookbord het ek 'n hoedjie gemaak vir die picaxe en versterker om bo -op die pi te sit.

Vir die krag, het ek een van die ou aansluitpunte van die radio verwyder en 'n nuwe DC -vataansluiting geïnstalleer waaraan ek 'n mikro -USB -kabel gesoldeer het. Kontroleer die polariteit van die drade noukeurig!

Koppel uiteindelik alles aan, probeer om die drade wat ek gedoen het, beter te doen, maak die deksel toe en geniet u radio!

Aanbeveel: