FM radio z RDS (radijsko besedilo), bazo za nadzor in polnjenje BT: 5 korakov
FM radio z RDS (radijsko besedilo), bazo za nadzor in polnjenje BT: 5 korakov
Anonim
FM radio z RDS (radijsko besedilo), bazo za nadzor in polnjenje BT
FM radio z RDS (radijsko besedilo), bazo za nadzor in polnjenje BT
FM radio z RDS (radijsko besedilo), bazo za nadzor in polnjenje BT
FM radio z RDS (radijsko besedilo), bazo za nadzor in polnjenje BT

Bonjour, To je moj drugi "Instructables". Ker rad delam ne zelo uporabne stvari, je tu moj zadnji projekt:

To je FM radio z radijskim besedilom z bazo za polnjenje, ki ga je mogoče spremljati prek Bluetootha in aplikacije za Android

Zato vam bom predstavil del Arduino, del radijskega besedila in nato del izumitelja aplikacije MIT (le tako sem dovolj usposobljen za izdelavo in Android APP)

Z napajalno napetostjo 10; 8 voltov z izmeničnim tokom in 9,6 z baterijo je največja moč 2x 1,5/1,25 vatov RMS, kar je na splošno dovolj

RMS (korenalni srednji kvadrat) moč je dejanska moč, ki ni podobna drugim velikim številkam, ki se prodajajo, kot je glasba v vatih ali največja moč, ali karkoli drugega)

Predvidevam, da je 1,5 W RMS v nekaterih trgovinah mogoče prodati kot 8 W !!!!!!

Najprej potrebne komponente:

Glavni odbor:

1x Arduino Nano

1x FM radijski modul SI4703 podjetja Sparkfun ali enakovreden (napaja se s 5V in 3.3V I2C s 3 -polnim vtičem, ki se lahko uporablja kot antena)

1x modul Bluetooth HC-06 (opozorilo, da imajo nova različica programske opreme 3.0 popolnoma drugačne ukaze (v kodo sem dal nekaj komentarjev).

1x 4 -kanalni menjalnik nivoja 3,3 5 V

1x MC7805 5v DC pretvornik

1x 2200 µF 25V kondenzator

2x 1N5404 3 Amp diode

2x 2N2222 tranzistorja

1x 1Kohm upor

1x 47 ohmski upor

2x 3,3 KOhm upori (za vlečenje vodila I2C)

3x 330 ohmski upori (za LED)

2x 6,8 KOhm upori

1x 3,9 KOhm upor

Sprednja plošča

1x vodilo LCD I2C LCD 20X4

10x 680 ohmski upori

1x rdeča LED (nisem imel več zelene !!) za napajanje

1x rumena LED za način delovanja z baterijo

1x modra LED za povezavo BT

4x stikala (ON) -OFF- (ON) (kot pri električnih oknih)

2x gumbi

1x stikalo za vklop/izklop

Druge komponente za radio:

2x 100W 10CM 8 Ohm HP

1x 1 m raztegljiva antena (približno 75 cm je dobra dolžina za FM v Evropi in ZDA)

1x telefonski vtič, s katerim sem vzpostavil stike za polnilno bazo

1x 1N5404 3 Amp dioda (na kontaktu baterije, da se izognete dimu v primeru nereda s tlemi ali 12V stikom)

1x 2X20 vatni ojačevalnik moči (kateri koli stereo ojačevalnik je primeren, dokler je 12V) na podlagi TDA2020, kupljenega za 4 evre

1x 8XAA spojka za baterije (za najmanj 9,6 V)

Nekaj 10 mm in 4 mm vezanega lesa za škatlo

Polnilna osnova:

1x 12V 3Amp napajanje

1x mali 3 -mestni /3 -žilni voltmeter

3 stiki (narejeni s telefonskim vtičem)

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

2 stikala za ročico (za vklop izmeničnega toka, ko je radio na podstavku za polnjenje)

1x stikalo za vklop/izklop (za izklop polnilne baze, če je potrebno)

Nekaj 10 mm in 4 mm vezanega lesa za podlago

Skupaj, vključno z vezanimi ploščami, ne presega 70 €

1. korak: Radijski del 4703

Najprej sprememba:

Modul naj bi uporabljal kabel slušalk kot anteno, v mojem projektu ni uporaben, zato bomo morali najprej narediti majhno spremembo za priključitev in zunanjo anteno

V tem modulu ozemljitev 3 -polnega priključka ni neposredno povezana z zemljo, ampak preko induktivnosti (za zaustavitev frekvenc FM) in kondenzatorja za povezavo frekvenc FM na antenski vhod SI4703.

Zato je najboljši način, da anteno priključite neposredno na ozemljitveni vtič vtičnice in spajate dva kabla za avdio izhod

Slika
Slika

Da preprečim zvoke v zvoku (zlasti iz Bluetootha), sem FM -modul postavil v majhno plastično škatlo, zaščiteno z bakrenim trakom, povezanim s tlemi

Slika
Slika

Protokol RDS/Radio Text:

Najprej bi se rad zahvalil Nathanu Seidleju, saj me je njegov program "TEST_FM" junija 2011 popolnoma navdušil

Po dogovoru mu bom z veseljem plačal pivo, če se bo v teh dneh izgubil v moji majhni vasici na globokem koncu Bretanje !!

Uporabil sem veliko njegovega programa, saj nisem hotel uporabljati obstoječih knjižnic, ki so za prevelik pomnilniški prostor Nano prevelike, pa tudi zato, ker je vedno bolje, da se poglobimo v možnosti komponente tako, da se potopimo neposredno v registre

Moja glavna sprememba je v anketi RDS

Izkoristil sem možnost, da sprožim prekinitev na pin GPI02, tako da nastavim bit RDSIEN in vrednost GPIO2 na 01

To bo sprožilo prekinitev na zatiču 3 nano

To preprečuje pozivanje v register RDS, saj bo sprožil program Radio Text le, če je 4 -mestna skupina radijskega besedila na voljo brez napak (način brez podrobnosti)

Če želimo imeti celotno radijsko besedilo, moramo zbrati največ 16 blokov s 4 znaki (registri RDSC/RDSB skupine 2A ali 2B). V program sem dal veliko informacij, da bi razložil, kaj sem naredil.

Tukaj je opis podatkovnih registrov za radijsko besedilo (RDSSA/RDSC)

Slika
Slika

v registru RDSSB (blok 2)

Vrednost 4 v A3/0 označuje (skupina besedila)

B0 označuje besedilo A (64 znakov) ali B (32 znakov) (nikoli nisem videl besedila B v uporabi ………..)

PT0 do PT4 je indeks skupine 4 znakov (0 do 15)

PT5 je treba uporabiti kot besedilni indikator A/B (kar pomeni "to je novo besedilo"), vendar se ne uporablja vedno tako, odvisno od radijske postaje, zato je ni mogoče uporabiti za radijski besedilni program.

4 znaki radijskega besedila so v RDSSC in RDSSD (bloka 3 in 4)

Svetujem vam, da preberete zelo zanimiv dokument o protokolu RDS v SI4703 => AN243 iz Silicon labs

Prav tako sem ponastavil bit SKMODE v registru POWERCFG (glej podatkovni list SI4703), da ostanem v območju frekvence, medtem ko iščem kanale

Branje podatkovnega lista bo v veliko pomoč pri razumevanju kode in vseh obravnav registrov

2. korak: Baza za polnjenje

Polnilna baza
Polnilna baza
Polnilna baza
Polnilna baza
Polnilna baza
Polnilna baza

Ni kaj dosti za dodati

Slike lahko govorijo bolje.

Pravkar sem dodal diodo 1N5404 na 12 -voltni kontakt

1), da se izognete težavam, če se kontakt baterije dotakne 12 -voltnega kontakta, ko postavite radio na bazo (vendar se to nikoli ni zgodilo)

2) za znižanje napetostne ravni na 10,8 volta (na matični plošči je tudi dioda), saj se lahko MC7805 nekoliko segreje pri prehodu z 12V na 5 voltov s tokom 1 Amp (priklopil sem kos železa kot hladilnik 7805)

Dodal sem majhen voltmeter 3 x 7 segmentov, ki označuje obremenitev baterije

Ta naprava ima 3 žice za zmanjšanje porabe (več kot 1 mega ohm na žici za mešanje), ki omogoča, da radio ostane dolgo časa na izklopljenem podstavku brez praznjenja baterije

Slika
Slika

2 stikala za ročico se uporabljata za izklop napajanja z izmeničnim tokom, ko je radio izven baze (da se izognete 12V na stikih)

Slika
Slika

Škatla je narejena iz vezanega lesa (pred slikanjem na sliki) Predstavljam vam, kako narediti čudovito škatlo, saj moja ni preveč seksi !!!!!

Bil sem zelo presenečen, vendar polnilna baza deluje dobro in nikoli nisem kadil, ko sem nanjo pristavil radio ………….

3. korak: Škatla

Škatla
Škatla
Škatla
Škatla
Škatla
Škatla
Škatla
Škatla

Mislim, da bi kdo rad delal po svojih željah in upošteval svoje umetniške sposobnosti !!!!!

Kakorkoli, v kratkem bom razložil, kako bi lahko zgradil nekaj, kar je grozno videti kot orodjarna

Spredaj in zadaj sta razrezana v 4 mm vezane plošče 15x45 cm

zgoraj in spodaj sta vezani plošči 10 mm 15x45 cm

Strani in 2 notranji pregradi (2 2 mesti za HP in komponente na sredini) sta 10 mm vezanega lesa 13x13 cm

Na sprednji plošči sem naredil 2 x 10 cm luknje za HP in 14x14 kvadratno luknjo, da sem vstavil 15x15 2 mm organsko steklo, ki sem ga pobarval v črno (po tem, ko sem pobarval prozorno natisnjeno nalepko, vendar zaradi črnine ni tako berljivo barva zadaj)

Na vrhu sem naredil 2 luknji:

ena za potenciometer ojačevalnika moči (za prilagoditev nivoja, če je potrebno) in tudi kot toplotna moč

drugo za anteno

na zadnji plošči sem naredil 2 luknji:

Eden za vtič USB (neposredno priključite na nano)

En 16 mm za zračno hlajenje (14 -milimetrska luknja potenciometra ojačevalnika moči nad zgornjim izhodom zračnega hlajenja)

ročaj je izdelan iz 12 mm bakrene cevi, pobarvane v črno

Vse komponente zgornje slike se nahajajo v osrednjem predelku (kasneje sem moral vstaviti baterije v levi predal HP, ker je bil preblizu modula HC06 BT v glavnem predelu)

To je to

Seveda mora biti nekaj bolj seksi !!!!!

4. korak: Arduino del (sheme in koda)

V komentarje programa sem poskušal vnesti čim več informacij.

Še nekaj informacij

Postopek Decode_TXT uporabljata tako postopek Bluetooth kot postopek preklopa

oba ključa uporabljata nekaj ključnih besed

v+ => za povečanje glasnosti

v- => za znižanje

f+ => za povečanje frekvence koraka 100 Khz

f- => zmanjšati

su+=> poišči

sd-=> poišči navzdol

prefu => poveča vnaprej izbrano številko kanala

prefd => zmanjšanje

hello =>, ki ga aplikacija Android pošlje med povezavo Bluetooth, koda vrne stanje radia

bye => poslal APP, ko se BT prekine

pow => po radiu pošlje aplikaciji v načinu napajanja (na podstavku za polnjenje)

bat => v načinu delovanja z baterijo

lb => poslano, če je nivo baterije prenizek (okoli 8 voltov)

Komunikacija Bluetooth je zaščitena z nadzorno zanko:

Vsakič, ko FM radio pošlje informacije, se zažene časovnik, ki čaka na odgovor "v redu" s strani APP za android

v primeru 3 napak (časovnik je potekel) radio prekine povezavo BT. (to prekine tudi povezavo na strani Android)

Na drugi strani

Ko aplikacija pošlje ukaz, počaka na odgovor radia, da pošlje nov ukaz.

Postopek get_RT se zažene, ko je zastavica RDS nastavljena (po prekinitvi na pin 3)

tukaj je koda (povezava do GITHUB)

Sheme:

Glavna radijska plošča FM (pravzaprav je SI4703 ločena v zaščiteni škatli):

Slika
Slika

Sprednja plošča:

Slika
Slika

Osnova za polnjenje:

Slika
Slika

Povezave do datotek Fritzing:

Glavna plošča FR RADIO

Sprednja plošča

Polnilna podlaga

5. korak: aplikacija za Android

Aplikacija za Android
Aplikacija za Android
Aplikacija za Android
Aplikacija za Android

Narejeno z izumiteljem APP

tukaj so povezave do GitHub

Radio FM aia

Android APK

Aplikacija uporablja 2 časovnika:

1) za komunikacijo bluetooth (100 ms)

2) za utripanje LED akumulatorja, ko je obremenitev okoli 8 v (1000ms)

Prvič boste morali modul HC06 seznaniti s pametnim telefonom ali tabličnim računalnikom.

TinyDB uporabljam za shranjevanje naslova BT modula HC06, prva povezava bo omogočena z gumbom naslova BT in na seznamu boste morali izbrati HC06 (sam sem preimenoval modul HC06 v FM_RADIO)

V aplikaciji nisem vedno uporabil odstotka za velikost elementa, zato lahko pride do tako velikih težav, odvisno od pametnega telefona

Moj je Galaxy Note 3, zato precej velik zaslon …….

Tako sem preživel lep čas, ko sem odkril ta majhen, a zelo učinkovit SI4703.

In z užitkom sem napisal ta navodila

Do mojega naslednjega projekta

Nasvidenje!!!