Rádio FM s RDS (text rádia), ovládání BT a nabíjecí základna: 5 kroků
Rádio FM s RDS (text rádia), ovládání BT a nabíjecí základna: 5 kroků
Anonim
Rádio FM s RDS (text rádia), ovládání BT a nabíjecí základna
Rádio FM s RDS (text rádia), ovládání BT a nabíjecí základna
Rádio FM s RDS (text rádia), ovládání BT a nabíjecí základna
Rádio FM s RDS (text rádia), ovládání BT a nabíjecí základna

Bonjour, Toto je můj druhý „Instructables“. Protože rád dělám nepříliš užitečné věci, zde je můj poslední projekt:

Jedná se o FM rádio s rádiovým textem s nabíjecí základnou, které lze sledovat pomocí Bluetooth a aplikace pro Android

Proto vám představím část Arduino, část Radio Text a poté část vynálezce MIT App (Toto je jediný způsob, jak jsem natolik zručný, abych stavěl a Android APP)

S napájecím napětím 10; 8 voltů se střídavým napájením a 9,6 s baterií je maximální výkon 2x 1,5/1,25 W RMS, což je široce dostačující

Výkon RMS (root mean square) je skutečný výkon, ne jako ostatní velká čísla, která se prodávají jako wattová hudba nebo špičkový výkon nebo cokoli jiného)

Myslím, že 1,5 W RMS lze v některých obchodech prodávat za 8 W !!!!!!

Nejprve potřebné komponenty:

Hlavní deska:

1x Arduino Nano

1x FM rádio modul SI4703 od Sparkfun nebo ekvivalentního (napájen 5v a 3,3V I2C se 3pólovým jackem, který lze použít jako anténu)

1x modul HC-06 Bluetooth (upozornění na novou verzi softwaru 3.0 mají nastaveny zcela odlišné příkazy (do kódu jsem vložil několik komentářů).

1x 4kanálový řadič úrovně 3,3 5 V.

1x převodník MC7805 5v DC

1 x 2200 µF 25V kondenzátor

2x 1N5404 3 A diody

2x 2N2222 tranzistory

1x 1Kohm rezistor

1x odpor 47 ohmů

2x 3,3 KOhm odpory (pro pull-up sběrnici I2C)

3x 330 Ohm odpory (pro LED diody)

2x 6,8 KOhm odpory

1x odpor 3,9 KOhm

Přední panel

1x 20X4 LCD I2C sběrnice

Rezistory 10x 680 Ohm

1x červená LED (už jsem neměl zelenou !!) pro napájení

1x žlutá LED pro režim baterie

1x modrá LED pro připojení BT

4x přepínače (ON) -OFF- (ON) (jako u elektrického okna)

2x tlačítka

1x vypínač ON/OFF

Další komponenty pro rádio:

2x 100W 10CM 8 Ohm HP

1 x 1 m rozšiřitelná anténa (kolem 75 cm je dobrá délka pro FM v Evropě a USA)

1x telefonní zástrčka, kterou jsem použil k vytvoření kontaktů pro nabíjecí základnu

1x 1N5404 3 A dioda (na kontaktu baterie, aby se zabránilo kouři v případě nepořádku se zemí nebo 12V kontaktu)

1x 2X20 wattový zesilovač (jakýkoli stereo zesilovač se vejde, pokud je 12V) na základě TDA2020 zakoupeného za 4 Euro

1x 8XAA vazební člen baterie (mít min. 9,6V)

Nějaká 10 mm a 4 mm překližka pro krabici

Nabíjecí základna:

1x 12V 3Amp Napájení

1x malý 3místný /3vodičový voltmetr

3 kontakty (vyrobené z telefonní zástrčky)

1x 1N5404 3 A dioda (na kontaktu 12V)

2 páčkové spínače (pro napájení střídavým proudem, když je rádio na nabíjecí základně)

1x vypínač ON/OFF (v případě potřeby vypne nabíjecí základnu)

Asi 10 mm a 4 mm překližka pro základnu

Dohromady, včetně překližky, to není více než 70 EUR

Krok 1: Část 4703 rádia

Nejprve změna:

Modul má používat kabel náhlavní soupravy jako anténu, v mém projektu to není užitečné, takže budeme muset nejprve provést malou úpravu, abychom mohli připojit a externí anténu

V tomto modulu není 3pólová zásuvka připojena přímo k zemi, ale prostřednictvím indukčnosti (pro zastavení frekvencí FM) a kondenzátoru pro připojení frekvencí FM k anténnímu vstupu SI4703.

Nejlepší způsob je tedy připojit anténu přímo k uzemňovacímu kolíku konektoru a pájet dva kabely pro výstup zvuku

obraz
obraz

Aby se předešlo jakýmkoli zvukům ve zvuku (zejména z Bluetooth), vložil jsem modul FM do malé plastové krabice stíněné měděnou páskou připojenou k zemi

obraz
obraz

Protokol RDS/Radio Text:

Nejprve chci poděkovat Nathanovi Seidlemu, protože jsem se plně inspiroval jeho programem „TEST_FM“z června 2011

A jak bylo dohodnuto, velmi rád mu zaplatím pivo, pokud se jednoho z těchto dnů ztratí v mé malé vesnici na hlubokém konci Bretaně !!

Použil jsem hodně z jeho programu, protože jsem nechtěl používat stávající knihovny, které jsou pro chudý Nano paměťový prostor trochu velké, a také proto, že je vždy lepší jít hluboko do možností komponenty potápěním přímo v registry

Hlavní úprava, kterou jsem provedl, je pro dotazování RDS

Využil jsem možnosti spustit přerušení na pinu GPI02 nastavením bitu RDSIEN a hodnoty GPIO2 na 01

Tím dojde k přerušení na pinu 3 nano

To zabrání dotazování registru RDS, protože spustí program Radio Text pouze v případě, že je k dispozici skupina 4 znaků rádiového textu bez chyb (režim bez podrobností)

Abychom měli úplný text rádia, musíme shromáždit maximálně 16 bloků po 4 znacích (registry RDSC/RDSB skupiny 2A nebo 2B). Do programu jsem vložil spoustu informací, abych vysvětlil, co jsem udělal.

Zde je popis datových registrů pro rádiový text (RDSSA/RDSC)

obraz
obraz

v registru RDSSB (blok 2)

Hodnota 4 v A3/0 označuje (textová skupina)

B0 označuje text A (64 znaků) nebo B (32 znaků) (nikdy nebyl použit text B ………..)

PT0 až PT4 je index skupiny 4 znaků (0 až 15)

PT5 by měl být použit jako textový A/B indikátor (což znamená „toto je nový text“), ale ne vždy se takto používá v závislosti na rozhlasové stanici, takže není použitelný pro textový program Radio.

4 znaky textu rádia jsou v RDSSC a RDSSD (blok 3 a 4)

Doporučuji vám přečíst si velmi zajímavý dokument týkající se protokolu RDS v SI4703 => AN243 ze Silicon labs

Také jsem resetoval SKMODE bit v registru POWERCFG (viz datový list SI4703), abych při hledání kanálů zůstal v rozsahu frekvencí

Čtení datového listu pomůže hodně porozumět kódu a všem manipulacím s registry

Krok 2: Nabíjecí základna

Nabíjecí základna
Nabíjecí základna
Nabíjecí základna
Nabíjecí základna
Nabíjecí základna
Nabíjecí základna

Není moc co dodat

Obrázky mohou mluvit lépe.

Právě byla přidána dioda 1N5404 na 12voltový kontakt

1) aby se předešlo problémům v případě kontaktu baterie při kontaktu rádia na základně (ale nikdy se to nestalo)

2) snížit úroveň napětí na 10,8 voltů (na základní desce je také dioda), protože MC7805 se může trochu zahřát při přechodu z 12 na 5 voltů proudem 1 A (na chladič jsem přišrouboval kus železa 7805)

Přidal jsem malý voltmetr 3 x 7 segmentů pro indikaci zatížení baterie

Toto zařízení je vybaveno 3 vodiči, aby se snížila spotřeba (více než 1 Mega Ohm na měřicím vodiči), což umožňuje udržet rádio na napájené VYPNUTÉ základně po dlouhou dobu bez vybití baterie

obraz
obraz

2 páčkové spínače slouží k vypnutí napájení střídavým proudem, když je rádio mimo základnu (aby se zabránilo kontaktu 12V na kontaktech)

obraz
obraz

Krabice je vyrobena z překližky (před malováním na obrázek) Nechám vás představit si, jak udělat krásnou krabici, protože moje není příliš sexy !!!!!

Byl jsem velmi ohromen, ale nabíjecí základna funguje dobře a nikdy jsem nekouřil, když jsem na ni vysílal rádio ………….

Krok 3: Krabice

Krabice
Krabice
Krabice
Krabice
Krabice
Krabice
Krabice
Krabice

Myslím, že každý by měl chtít dělat, co chce, sledovat jeho umělecké schopnosti !!!!!

Každopádně krátce vysvětlím, jak jsem mohl postavit něco, co strašně vypadá jako sada nástrojů

Přední a zadní část je řezána překližkou 4 mm 15x45 cm

horní a spodní část jsou překližky 10 mm 15x45 cm

Boky a 2 vnitřní příčky (2 2 místa pro HP a součásti uprostřed) jsou překližka 10 mm 13x13 cm

Na předním panelu jsem vytvořil 2 x 10 cm otvory pro HP a 14x14 čtvercový otvor pro vložení organického skla 15x15 2 mm, které jsem namaloval černou barvou (přidáním po natření průhledné potištěné nálepky, ale kvůli černé není tak čitelné barva vzadu)

Nahoře jsem udělal 2 otvory:

jeden pro potenciometr výkonového zesilovače (pro případnou úpravu úrovně) a také jako tepelný výkon

další pro anténu

na zadním panelu jsem udělal 2 otvory:

Jeden pro konektor USB (přímo zapojte do nano)

Jeden 16 mm pro chlazení vzduchem (14 mm otvor potenciometru výkonového zesilovače je výstup horního vzduchového chlazení)

rukojeť je vyrobena z 12mm měděné trubky natřené černou barvou

Všechny součásti obrázku nahoře nacházejí místo v centrální přihrádce (později jsem musel vložit baterie do levé přihrádky HP, protože byla příliš blízko modulu HC06 BT v hlavní přihrádce)

A je to

Samozřejmě tam musí být něco víc sexy !!!!!

Krok 4: Část Arduino (schémata a kód)

Snažil jsem se do komentářů programu vložit co nejvíce informací.

Několik dalších informací

Proceduru Decode_TXT používá procedura Bluetooth i procedura přepínání

některá klíčová slova používají oba postupy

v+ => pro zvýšení hlasitosti

v- => snížit

f+ => ke zvýšení frekvence kroku 100 Khz

f- => snížit

su+=> hledat

sd-=> hledat dolů

prefu => zvyšte číslo předvoleného kanálu

prefd => snížit

ahoj => odesláno Android APP během připojení bluetooth, kód odešle zpět stav rádia

ahoj => odesláno APP, když se BT odpojí

pow => vysílán rádiem do aplikace v režimu napájení (na nabíjecí základně)

bat => v režimu baterie

lb => odesláno, když je úroveň nabití baterie příliš nízká (přibližně 8 voltů)

Komunikace Bluetooth je zajištěna řídicí smyčkou:

Pokaždé, když FM rádio odešle informaci, spustí se časovač čekající na odpověď „ok“aplikací pro Android

v případě 3 chyb (časovač vypršel) je BT spojení přerušeno rádiem. (tím se také odstraní odkaz na straně Androidu)

Na druhé straně

Když aplikace odešle příkaz, čeká na odpověď z rádia a odešle další příkaz.

Procedura get_RT se spustí, když je nastaven příznak RDS (po přerušení na pinu 3)

zde je kód (odkaz na GITHUB)

Schémata:

Základní deska rádia FM (ve skutečnosti se SI4703 nachází ve stíněné krabici):

obraz
obraz

Přední panel:

obraz
obraz

Nabíjecí základna:

obraz
obraz

Odkazy na soubory Fritzing:

FR RADIO hlavní deska

Přední panel

Nabíjecí základna

Krok 5: Aplikace pro Android

Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android

Vyrobeno s vynálezcem APP

zde jsou odkazy na GitHub

Rádio FM aia

Android APK

Aplikace používá 2 časovače hodin:

1) pro komunikaci bluetooth (100 ms)

2) pro blikání LED baterie, když je zátěž kolem 8 V (1000 ms)

Poprvé budete muset spárovat modul HC06 se smartphonem nebo tabletem.

Používám TinyDB pro ukládání BT adresy modulu HC06, první připojení bude povoleno tlačítko BT adresa a budete muset vybrat HC06 v seznamu (z mé strany jsem modul HC06 přejmenoval v FM_RADIO)

V aplikaci jsem vždy nepoužil procenta pro velikost prvku, takže v závislosti na smartphonu mohou existovat problémy s zobrazováním

Můj je Galaxy Note 3, takže docela velká obrazovka ……..

Strávil jsem tedy dobrý čas objevováním této malé, ale velmi účinné SI4703.

A psaní této instruktáže mě velmi potěšilo

Až do mého dalšího projektu

Nashledanou!!!