Obsah:

Internetové rádio s Raspberry Pi: 5 kroků (s obrázky)
Internetové rádio s Raspberry Pi: 5 kroků (s obrázky)

Video: Internetové rádio s Raspberry Pi: 5 kroků (s obrázky)

Video: Internetové rádio s Raspberry Pi: 5 kroků (s obrázky)
Video: Arduino návody | Raspberry Pi: Úvod a výběr desky 2024, Listopad
Anonim
Image
Image
Internetové rádio s Raspberry Pi
Internetové rádio s Raspberry Pi
Internetové rádio s Raspberry Pi
Internetové rádio s Raspberry Pi

Otočení číselníků a stisknutí tlačítek je něco uspokojivého, jako u starých rádií. Je smutné, že mnoho z těchto rádií je rozbitých nebo stanice ztichly. Naštěstí není příliš obtížné aktualizovat jakékoli rádio na internetové rádio pomocí malinového pi nulového W a já vám ukážu, jak!

Některé práce budou záviset na rádiu dárce, které máte, ale vysvětlím vám, co jsem s tím svým udělal, abyste měli představu, jak to jde.

Vzhledem k tomu, že pi běží snadno sledovatelným kódem pythonu, po zapojení ovládacích prvků rádia můžete snadno přidat další funkce, jako je alarm, reproduktor bluetooth, mluvící hodiny atd. Pouhou změnou softwaru přes ssh.

Tento projekt byl inspirován internetovým rádiem Dansette Pi, hlavní rozdíl je v tom, že zde číselníky ovládají rádio otáčením, nikoli jako tlačítka.

Zásoby

  • staré tranzistorové rádio
  • Malina pi nula W
  • Picaxe 20X2
  • Adafruit 3W mono zesilovač - MAX98357 I2S zesilovač Breakout
  • Sudový konektor pro napájení
  • Napájecí zdroj 5 V DC, který odpovídá hlavni konektoru
  • různé odpory
  • několik kondenzátorů 100 nF
  • stripboard
  • 20kolíková zásuvka IC DIP
  • propojovací vodiče a kolíkové lišty
  • malé matice a šrouby

Krok 1: Přehled

Cílem je, aby byl malinový pi připojen k internetu prostřednictvím integrovaného wifi a streamoval jeden ze seznamu předem nakonfigurovaných internetových rozhlasových stanic. Původní přepínače a číselníky (potenciometry) budou připojeny k picaxovému čipu, který slouží jako převodník analogově na digitální. Pi nepřetržitě čte ovládací prvky z picaxe a reaguje podle toho, mění buď hlasitost, nebo stanici. Když je stanice změněna, rádio vysloví název nové stanice. Nakonec je streamovaný zvuk zapojen do mono zesilovače, který je připojen k původnímu reproduktoru rádia.

Skvělá věc na používání malinového pi je, že jakmile je obvod nastaven, funkce rádia lze snadno upravit pouhou změnou několika řádků kódu na pí přes ssh. Můžete se například snadno připojit k reproduktoru bluetooth nebo si vytvořit budík:)

Krok 2: Rádio

Rádio
Rádio
Rádio
Rádio
Rádio
Rádio

Nejdůležitější částí je rádio dárce. Nemusí fungovat, ale musí mít funkční reproduktor (pokud nechcete nainstalovat nový).

Moje rádio má 4 číselníky a 7 tlačítek. Dva z číselníků budou použity pro změnu hlasitosti a stanice. Další dva voliče a tlačítka nic neudělají, ale stejně je připojím pro případ, že je budu chtít později použít.

Prvním krokem je opatrné rozebrání rádia a odstranění veškeré vnitřní elektroniky, kromě reproduktoru je nebudeme potřebovat.

Změna stanic Na mém rádiu se při změně stanice přesouvá po displeji malá červená značka, která ukazuje, jakou frekvenci posloucháte. Opravdu jsem chtěl tuto funkci zachovat! Knoflík pro změnu stanice otáčí variabilní kondenzátor a provozuje kladkový systém s kouskem provázku, který drží červenou značku.

Pokusil jsem se vytvořit obvod pro měření kapacity tohoto variabilního kondenzátoru, ale kapacita byla tak malá, že jednoduchá metoda načasování nabíjení/vybíjení nefunguje. Existují i jiné metody, ale zdály se mi komplikované a nestojí za námahu…

Co jsem zde tedy udělal, bylo naplocho sejmout hřídel, která ukazovala ze spodní části variabilního kondenzátoru, aby se tento hřídel vešel do drážky moderního potenciometru. Naštěstí tento potenciometr mohl být namontován do původního bateriového boxu vyvrtáním otvoru. Koneckonců, variabilní kondenzátor nyní přímo ovládá potenciometr, který používám k nastavení stanice na svém digitálním rádiu.

Tlačítka

Byla zde komplikovaná deska s obvody, ve které byla umístěna infrastruktura pro tlačítka. Po vyjmutí součástek a vodičů, které byly připájeny, jsem zjistil, která spojení jsou vytvořena/přerušena při stisknutí nebo uvolnění tlačítka. Některá tlačítka byla navzájem propojena, takže jsem musel přerušit několik měděných stop v desce s obvody. Nakonec jsem připájel některé dráty, které půjdou k picaxu, aby bylo 6 tlačítek pracujících izolovaně.

Najděte si také příjemné místo k sezení pi a picaxe, ideálně co nejdále od reproduktoru, protože magnetické pole z reproduktoru může zkazit mikroprocesory. Do kovového rámu vysílačky jsem vyvrtal několik otvorů pro upevnění pí.

Krok 3: Picaxe

Picaxe
Picaxe
Picaxe
Picaxe
Picaxe
Picaxe

Picaxový obvod je nahoře, pro přehlednost jsou zobrazeny pouze dva potenciometry a jedno tlačítko. Obvod je poměrně jednoduchý, stěrač každého potenciometru je připojen ke vstupu ADC. U tlačítek je vstupní kolík svázán se zemí a tlačítko je mezi vstupem a +3,3 V. Tento obvod nezahrnuje obvod pro stahování, protože jsem naprogramoval svůj picaxe na samostatnou desku.

Kód picaxe je velmi jednoduchý. Picaxe načte hodnoty ADC potenciometrů a stavy tlačítek a poté je uloží do vnitřní paměti, kterou pi načte.

Můžete použít jakýkoli čip X2 picaxe. Části jiné než X2 nemají režim slave I2C, a proto s těmito pokyny nebudou fungovat.

Pokud k programování programu picaxe používáte počítač se systémem Linux, ke spuštění kabelu pro stahování AXE027 musíte spustit následující příkazy:

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

V případě, že hodnoty potenciometru přeskočí nepravidelně, lze mezi zem a stěrač hrnce umístit kondenzátor 100nF.

Krok 4: Raspberry Pi

Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi

Tady přichází mozek operace. Některé balíčky bude nutné nainstalovat na pi pomocí

sudo apt-get update

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

Pí bude mluvit s picaxe přes I2C. Chcete -li povolit I2C, zkontrolujte, zda soubor /etc /modules obsahuje řádek

i2c-dev

a že /boot/config.txt má

dtparam = i2c_arm = zapnuto

Chcete -li nastavit pí tak, aby fungovala se zesilovačem, postupujte podle vlastního průvodce Adafruit zde, nebo jen spusťte

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

a přijmout vše.

Kód pythonu je docela jednoduchý, po určitém počátečním nastavení nikdy nekončící smyčka naslouchá změnám hodnot potenciometru a pokud byla stisknuta tlačítka.

n

Soubor station.txt obsahuje seznam adres URL stanic a názvů stanic, které budou vysloveny při změně stanice. Má následující formát

st1 = https:// someradiostream

n1 = nějaké rádio st2 = https:// jiný proud n2 = další stanice

Tento soubor by neměl obsahovat žádné prázdné řádky.

K vyhledání adres URL stanic používám www.fmstream.org.

Pokud máte v úmyslu vypnout rádio pouhým odpojením napájení, je vhodné nastavit pi na pouze pro čtení, aby se zabránilo poškození karty SD. Skript read_only_setup.sh to udělá za vás a umožňuje přepínání mezi režimem jen pro čtení a pro čtení pro čtení zadáním „ro“a „rw“do terminálu.

Krok 5: Dát to všechno dohromady

Dát to všechno dohromady
Dát to všechno dohromady
Dát to všechno dohromady
Dát to všechno dohromady
Dát to všechno dohromady
Dát to všechno dohromady

Pomocí stripboardu jsem vytvořil malý klobouk pro picaxe a zesilovač, aby seděl na vrcholu pí.

Pro napájení jsem odstranil jeden ze starých konektorových konektorů rádia a nainstaloval nový konektor DC, ke kterému jsem připájel kabel micro USB. Nezapomeňte pečlivě zkontrolovat polaritu vodičů!

Nakonec vše připojte, zkuste lépe odvést kabely, které jsem udělal, zavřete víko a užívejte si rádio!

Doporučuje: