FM radio sa RDS (Radio Text), BT kontrolom i bazom za punjenje: 5 koraka
FM radio sa RDS (Radio Text), BT kontrolom i bazom za punjenje: 5 koraka
Anonim
FM radio sa RDS (Radio Text), BT kontrolom i bazom za punjenje
FM radio sa RDS (Radio Text), BT kontrolom i bazom za punjenje
FM radio sa RDS (radio tekst), BT kontrolom i bazom za punjenje
FM radio sa RDS (radio tekst), BT kontrolom i bazom za punjenje

Bonjour, Ovo je moj drugi "Instructables". Kako volim raditi ne baš korisne stvari, evo mog posljednjeg projekta:

Ovo je FM radio s radio tekstom s bazom za punjenje i koji se može pratiti putem Bluetootha i Android aplikacije

Stoga ću vam predstaviti dio Arduino, dio Radio Text, a zatim dio izumitelja aplikacije MIT (ovo je jedini način na koji sam dovoljno vješt za izradu i Android aplikaciju)

Sa naponom napajanja od 10; 8 volti sa izmjeničnim napajanjem i 9,6 sa baterijom, maksimalna snaga je 2x 1,5/1,25 vata RMS što je široko dovoljno

RMS (root mean square) snaga je stvarna snaga koja nije poput ostalih velikih brojeva koji se prodaju poput muzike u vatima ili vršne snage ili bilo čega drugog)

Pretpostavljam da se 1,5 W RMS može prodati kao 8 W u nekim trgovinama !!!!!!

Prvo potrebne komponente:

Glavni odbor:

1x Arduino Nano

1x FM radio modul SI4703 iz Sparkfun -a ili ekvivalenta (napaja se 5v i I2C 3.3V sa 3 -polnom utičnicom koja se može koristiti kao antena)

1x Bluetooth-modul HC-06 (upozoravam da nova verzija softvera 3.0 ima potpuno drugačije komande (stavio sam neke komentare u kôd).

1x 4 -kanalni prekidač nivoa 3,3 5 V

1x MC7805 5v DC pretvarač

1x 2200 µF 25V kondenzator

2x 1N5404 3 Amp diode

2x 2N2222 tranzistora

1x 1Kohm otpornik

1x 47 Ohm otpornik

2x otpornika od 3,3 KOhm (za izvlačenje sabirnice I2C)

3x 330 Ohm otpornici (za LED diode)

2x 6,8 KOhm otpornika

1x 3,9 KOhm otpornik

Prednji panel

1x 20X4 LCD I2C sabirnica

10x 680 Ohm otpornici

1x crvena LED dioda (više nisam imao zelenu !!) za napajanje

1x žuta LED za način rada baterije

1x plava LED dioda za BT vezu

4x (ON) -OFF- (ON) prekidači (kao za prozore na električnim automobilima)

2x dugmad

1x prekidač za uključivanje/isključivanje

Ostale komponente za radio:

2x 100W 10CM 8 Ohm KS

1x 1 m produžna antena (oko 75 cm je dobra dužina za FM u Evropi i SAD -u)

1x telefonski utikač koji sam koristio za uspostavljanje kontakata na bazi za punjenje

1x 1N5404 3 Amp dioda (na kontaktu baterije kako bi se izbjegao dim u slučaju nereda sa uzemljenjem ili kontaktom od 12V)

1x Pojačalo snage 2X20 W (bilo koje stereo pojačalo odgovara sve dok je 12V) na osnovu TDA2020 kupljenog za 4 eura

1x 8XAA spojnica za baterije (za min 9,6 V)

Nekih 10 mm i 4 mm šperploče za kutiju

Baza za punjenje:

1x 12V 3Amp Napajanje

1x mali voltmetar sa 3 cifre /3 žice

3 kontakta (napravljena pomoću telefonskog utikača)

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

2 prekidača (za uključivanje naizmjenične struje kada je radio na bazi za punjenje)

1x prekidač za uključivanje/isključivanje (za isključivanje baze za punjenje ako je potrebno)

Nekih 10 mm i 4 mm šperploče za podlogu

Ukupno, uključujući šperploču, to nije više od 70 €

Korak 1: Radio dio 4703

Prvo, izmjena:

Modul bi trebao koristiti kabel slušalica kao antenu, u mom projektu nije koristan, pa ćemo prvo morati napraviti malu izmjenu za povezivanje i vanjsku antenu

U ovom modulu uzemljenje sa tri pola utičnice nije spojeno direktno na masu, već putem induktivnosti (za zaustavljanje FM frekvencija) i kondenzatora za povezivanje FM frekvencija na antenski ulaz SI4703.

Stoga je najbolji način da spojite antenu direktno na uzemljeni priključak utičnice i lemite dva kabela za audio izlaz

Image
Image

Kako bih spriječio bilo kakve zvukove u zvuku (posebno s Bluetootha), FM modul sam stavio u malu plastičnu kutiju zaštićenu bakrenom trakom spojenom na tlo

Image
Image

RDS/Radio Text protokol:

Prvo, želim zahvaliti Nathanu Seidleu jer sam bio potpuno inspiriran njegovim programom "TEST_FM" iz lipnja 2011.

I, kako je dogovoreno, bit ću mu vrlo sretan platiti pivo ako se jednog od ovih dana izgubi u mom malom selu na kraju Bretanje !!

Koristio sam mnogo njegovog programa jer nisam želio koristiti postojeće biblioteke koje su malo prevelike za siromašni prostor Nano memorije, a također i zato što je uvijek bolje duboko ući u mogućnosti komponente uranjajući direktno u registre

Glavna izmjena koju sam napravio je za RDS ispitivanje

Iskoristio sam mogućnost pokretanja prekida na GPI02 pinu postavljanjem RDSIEN bita i GPIO2 vrijednosti na 01

Ovo će pokrenuti prekid na pinu 3 nano

Ovo sprječava pozivanje u RDS registar jer će pokrenuti program Radio Text samo ako je grupa radijskog teksta sa 4 znaka dostupna bez grešaka (bez detaljnog načina)

Da bismo imali potpuni radio tekst, moramo prikupiti najviše 16 blokova od 4 znaka (registri RDSC/RDSB grupe 2A ili 2B). U program sam stavio mnogo informacija kako bih objasnio šta sam uradio.

Ovdje je opis registara podataka za radio tekst (RDSSA/RDSC)

Image
Image

u registru RDSSB (blok 2)

Vrijednost 4 u A3/0 označava (grupa teksta)

B0 označava tekst A (64 znaka) ili B (32 znaka) (nikada nisam vidio tekst B u upotrebi ………..)

PT0 do PT4 je indeks grupe od 4 znaka (0 do 15)

PT5 treba koristiti kao tekstualni A/B indikator (što znači "ovo je novi tekst"), ali se ne koristi uvijek ovako, ovisno o radio stanici, pa se ne može koristiti za radio tekstualni program.

4 znaka radio teksta su u RDSSC i RDSSD (blokovi 3 i 4)

Savetujem vam da pročitate vrlo zanimljiv dokument u vezi sa RDS protokolom u SI4703 => AN243 iz Silicon labs

Također sam resetirao SKMODE bit u registru POWERCFG (vidi tehnički list SI4703) kako bih ostao u rasponu frekvencije dok tražim kanale

Čitanje podatkovnog polja puno će pomoći u razumijevanju koda i rukovanja svim registrima

Korak 2: Baza za punjenje

Baza za punjenje
Baza za punjenje
Baza za punjenje
Baza za punjenje
Baza za punjenje
Baza za punjenje

Nema mnogo stvari za dodati

Slike mogu bolje govoriti.

Upravo sam dodao 1N5404 diodu na 12 voltni kontakt

1) kako biste izbjegli probleme u slučaju da kontakt baterije dodirne 12 -voltni kontakt prilikom stavljanja radija na bazu (ali to se nikada nije dogodilo)

2) za snižavanje razine napona na 10,8 volti (na matičnoj ploči postoji i dioda) jer se MC7805 može zagrijati pri prelasku s 12 V na 5 volti sa strujom od 1 Amp (zašrafio sam komad željeza kao hladnjak na 7805)

Dodao sam mali voltmetar 3 x 7 segmenata koji pokazuje napunjenost baterije

Ovaj uređaj ima 3 žice kako bi se smanjila potrošnja (više od 1 mega ohma na žici za mjerenje) što omogućava da radio ostane na isključenoj bazi dugo bez pražnjenja baterije

Image
Image

2 prekidača se koriste za isključivanje napajanja izmjeničnom strujom kada je radio izvan baze (kako bi se izbjeglo 12V na kontaktima)

Image
Image

Kutija je napravljena od šperploče (prije slikanja na slici) Dopuštam vam da zamislite kako napraviti lijepu kutiju jer moja nije baš seksi !!!!!

Bio sam jako začuđen, ali baza za punjenje radi dobro i nikada nisam pušio dok sam na nju spuštao radio ………….

Korak 3: Kutija

Kutije
Kutije
Kutije
Kutije
Kutije
Kutije
Kutije
Kutije

Pretpostavljam da bi svako htio raditi kako želi slijedeći svoje umjetničke sposobnosti !!!!!

U svakom slučaju, kratko ću objasniti kako bih mogao izgraditi nešto što užasno izgleda kao kutija s alatima

Prednji i stražnji dio izrezani su u šperploču 4 mm 15x45 cm

gornji i donji dio su 10 mm šperploča 15x45 cm

Bočne strane i 2 unutrašnje pregrade (2 2 mjesta za HP i komponente u sredini) su 10 mm šperploča 13x13 cm

Na prednjoj ploči sam napravio rupe od 2 x10 cm za HP i 14x14 kvadratnu rupu za umetanje 15x15 2 mm organskog stakla koje sam ofarbao u crno (dodajući nakon bojenja prozirnu otisnutu naljepnicu, ali nije toliko čitljiva zbog crne boje boja iza)

Napravio sam 2 rupe na vrhu:

jedan za potenciometar pojačala (za podešavanje nivoa ako je potrebno) i kao izlaz topline

drugi za antenu

Na stražnjoj ploči napravio sam 2 rupe:

Jedan za USB priključak (direktno priključite na nano)

Jedan 16 mm za zračno hlađenje (otvor od 14 mm na potenciometru pojačala snage iznad izlaznog hlađenja zraka)

ručka je izrađena od bakrene cijevi od 12 mm obojene u crnu boju

Sve komponente gornje slike nalaze se u centralnom odjeljku (kasnije sam morao staviti baterije u lijevi odjeljak za HP jer je bio preblizu HC06 BT modula u glavnom odjeljku)

To je to

Naravno da mora postojati nešto seksi !!!!!

Korak 4: Arduino dio (sheme i kod)

Pokušao sam staviti što je moguće više informacija u komentare programa.

Još nekoliko informacija

Postupak Decode_TXT koristi se i Bluetooth procedurom i procedurom prebacivanja

obje procedure koriste neke ključne riječi

v+ => za povećanje glasnoće

v- => za smanjenje

f+ => za povećanje frekvencije koraka od 100 Khz

f- => za smanjenje

su+=> traži gore

sd-=> traži dolje

prefu => povećati unaprijed odabrani broj kanala

prefd => smanjenje

hello => koje je Android aplikacija poslala tokom bluetooth veze, kôd šalje status radija

bye => poslao APP kada se BT prekine

pow => radio je poslao aplikaciji u načinu napajanja (na bazi za punjenje)

bat => kada je u režimu rada baterije

lb => šalje se ako je nivo baterije prenizak (oko 8 volti)

Bluetooth komunikacija je osigurana kontrolnom petljom:

Svaki put kada FM radio pošalje informaciju, tajmer se pokreće čekajući odgovor "u redu" od strane Android aplikacije

u slučaju 3 greške (tajmer je istekao) BT vezu prekida Radio. (ovo također prekida vezu na Android strani)

Na drugoj strani

Kada aplikacija pošalje naredbu, čeka se da odgovor s radija pošalje drugu naredbu.

Procedura get_RT se pokreće kada se postavi RDS zastavica (nakon prekida na pinu 3)

evo koda (veza na GITHUB)

Sheme:

Glavna ploča FM radija (zapravo SI4703 je odvojen u oklopljenoj kutiji):

Image
Image

Prednja ploča:

Image
Image

Baza za punjenje:

Image
Image

Veze do datoteka Fritzing:

Glavna ploča FR RADIO

Prednji panel

Baza za punjenje

Korak 5: Android aplikacija

Android aplikacija
Android aplikacija
Android aplikacija
Android aplikacija

Napravljeno sa pronalazačem APP -a

evo linkova na GitHub

Radio FM aia

Android APK

Aplikacija koristi 2 brojača vremena:

1) za Bluetooth komunikaciju (100ms)

2) za treptanje LED diode baterije kada je opterećenje oko 8 v (1000ms)

Prvi put ćete morati upariti HC06 modul sa svojim pametnim telefonom ili tabletom.

Koristim TinyDB za spremanje BT adrese HC06 modula, prva veza će omogućiti dugme BT adrese i morat ćete odabrati HC06 na popisu (sa svoje strane, preimenovao sam HC06 modul u FM_RADIO)

U aplikaciji nisam uvijek koristio postotak za veličinu elementa, pa bi moglo doći do tako velikih problema ovisno o pametnom telefonu

Moj je Galaxy Note 3 pa prilično veliki ekran ………

Tako sam proveo dobro vrijeme otkrivajući ovaj mali, ali vrlo efikasan SI4703.

I bilo mi je veliko zadovoljstvo pisati ove upute

Do mog sljedećeg projekta

Doviđenja!!!