Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
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
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
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)
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
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
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)
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
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):
Přední panel:
Nabíjecí základna:
Odkazy na soubory Fritzing:
FR RADIO hlavní deska
Přední panel
Nabíjecí základna
Krok 5: 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!!!