INHOUDSOPGAWE:

FM -radio met RDS (radioteks), BT -beheer en laaibasis: 5 stappe
FM -radio met RDS (radioteks), BT -beheer en laaibasis: 5 stappe

Video: FM -radio met RDS (radioteks), BT -beheer en laaibasis: 5 stappe

Video: FM -radio met RDS (radioteks), BT -beheer en laaibasis: 5 stappe
Video: Observers meet 3 candidates and Medvedev rep ahead of elex 2024, November
Anonim
FM -radio met RDS (radioteks), BT -beheer en laaibasis
FM -radio met RDS (radioteks), BT -beheer en laaibasis
FM -radio met RDS (radioteks), BT -beheer en laaibasis
FM -radio met RDS (radioteks), BT -beheer en laaibasis

Bonjour, Dit is my tweede "Instructables". Aangesien ek daarvan hou om nie baie nuttige dinge te maak nie, is my laaste projek:

Dit is 'n FM -radio met radioteks met 'n laaibasis en kan via Bluetooth en 'n Android -app gemonitor word

Daarom sal ek u die Arduino -gedeelte, die Radio Text -gedeelte en dan die MIT App -uitvinderdeel voorstel (dit is die enigste manier waarop ek vaardig genoeg is om Android APP te bou)

Met 'n voedingsspanning van 10; 8 volt met wisselstroomvoorsiening en 9,6 met 'n battery, is die maksimum drywing 2x 1,5/1,25 watt RMS, wat wyd genoeg is

RMS (wortelgemiddelde vierkant) krag is die werklike krag, nie soos die ander groot getalle wat verkoop word soos wattmusiek of piekvermoë of enigiets anders nie)

Ek dink 1,5 Watt RMS kan in sommige winkels as 8 Watt verkoop word !!!!!!

Eerstens die benodigde komponente:

Hoofraad:

1x Arduino Nano

1x FM -radiomodule SI4703 van Sparkfun of gelykwaardig (5v aangedryf en 3.3V I2C met 'n 3 -polige aansluiting wat as antenna gebruik kan word)

1x HC-06 Bluetooth-module (waarsku die nuwe sagteware weergawe 3.0 bevat 'n totaal van verskillende opdragte) (ek het 'n paar opmerkings in die kode geplaas).

1x 4 kanale vlakverskakelaar 3.3 5 V

1x MC7805 5v DC -omskakelaar

1x 2200 µF 25V kapasitor

2x 1N5404 3 Amp diodes

2x 2N2222 transistors

1x 1Kohm weerstand

1x 47 Ohm weerstand

2x 3.3 KOhm-weerstande (vir I2C-busoptrek)

3x 330 Ohm weerstande (vir LED's)

2x 6,8 KOhm weerstande

1x 3,9 KOhm weerstand

Voorste paneel

1x 20X4 LCD I2C -bus

10x 680 Ohm weerstande

1x Rooi LED (ek het nie meer groen gehad nie!) Vir die kragtoevoer

1x geel LED vir die batterymodus

1x Blou LED vir die BT -verbinding

4x (AAN) -UIT- (AAN) skakelaars (soos vir 'n elektriese motorvenster)

2x drukknoppies

1x AAN/UIT -skakelaar

Ander komponente vir die radio:

2x 100W 10CM 8 Ohm HP

1x 1m uitschuifbare antenne (ongeveer 75 cm is die goeie lengte vir FM in Europa en die VSA)

1x telefoonstekker waarmee ek die kontakte vir die laaibasis gemaak het

1x 1N5404 3 Amp diode (op die batterykontak om rook te vermy in geval van gemors met die grond of 12V kontak)

1x 2x20 watt kragversterker (enige stereo versterker pas solank dit 12V is) gebaseer op TDA2020 gekoop vir 4 euro

1x 8XAA battery koppelstuk (om min 9.6V te hê)

'N Paar laaghout van 10 mm en 4 mm vir die boks

Laai basis:

1x 12V 3Amp Kragtoevoer

1x klein 3 -syfer /3 drade voltmeter

3 kontakte (gemaak met die telefoonprop)

1x 1N5404 3 Amp diode (op 12V -kontak)

2 skakelaars (om die wisselstroomtoevoer aan te skakel as die radio op die laaibasis is)

1x AAN/UIT -skakelaar (om die laaibasis uit te skakel indien nodig)

'N Paar laaghout van 10 mm en 4 mm vir die basis

Altesaam, insluitend laaghout, is dit nie meer as 70 € nie

Stap 1: Die 4703 -radiodeel

Eerstens 'n wysiging:

Die module is veronderstel om die headset -kabel as 'n antenna te gebruik; in my projek is dit nie handig nie, daarom moet ons eers 'n klein aanpassing aanbring om die eksterne antenna aan te sluit

In hierdie module is die 3 -polige jack -grond nie direk aan die grond gekoppel nie, maar via 'n induktansie (om FM -frekwensies te stop) en 'n kapasitor om die FM -frekwensies aan te sluit op die antenna -ingang van die SI4703.

Die beste manier is dus om die antenna direk aan die grondpen van die aansluiting te koppel en twee kabels vir die klankuitgang te soldeer

Beeld
Beeld

Om geluide in die klank (veral via Bluetooth) te voorkom, plaas ek die FM -module in 'n klein plastiekboks wat afgeskerm is met koperband wat aan die grond gekoppel is

Beeld
Beeld

Die RDS/Radio Text -protokol:

Eerstens wil ek Nathan Seidle bedank, aangesien ek ten volle geïnspireer is deur sy program "TEST_FM" van Junie 2011

En soos ooreengekom, sal ek baie bly wees om vir hom 'n bier te betaal, as hy een van die dae verlore gaan in my klein dorpie aan die diepkant van Bretagne !!

Ek het baie van sy programme gebruik, aangesien ek nie die bestaande biblioteke wou gebruik wat 'n bietjie te groot is vir die swak Nano -geheue nie, en ook omdat dit altyd beter is om die moontlikhede van 'n komponent te verdiep deur direk in te duik die registers

Die belangrikste verandering wat ek aangebring het, is vir die RDS -peiling

Ek het die moontlikheid benut om 'n onderbreking op die GPI02 -pen te veroorsaak deur die RDSIEN -bit en GPIO2 -waarde op 01 te stel

Dit sal 'n onderbreking op pen 3 van die nano veroorsaak

Dit verhoed dat die RDS -register ondersoek word, aangesien dit die Radio Text -program slegs sal aktiveer as die groep met 4 teks se radiotekste sonder foute beskikbaar is (nie -verbose modus)

Om 'n volledige radioteks te hê, moet ons hoogstens 16 blokke van 4 karakters (registers RDSC/RDSB van groep 2A of 2B) versamel. Ek het baie inligting in die program geplaas om te verduidelik wat ek gedoen het.

Hier is 'n beskrywing van die dataregisters vir radioteks (RDSSA/RDSC)

Beeld
Beeld

in register RDSSB (blok 2)

Waarde 4 in A3/0 dui aan (teksgroep)

B0 dui A (64 karakters) of B (32 tekens) aan (in nog nooit B teks gesien nie ………….)

PT0 tot PT4 is die indeks van 4 char se groep (0 tot 15)

PT5 moet as teks A/B -aanwyser gebruik word (wat beteken "dit is 'n nuwe teks"), maar dit word nie altyd so gebruik nie, afhangende van die radiostasie, dus dit is nie bruikbaar vir die radio -teksprogram nie.

4 karakters van die radioteks is in RDSSC en RDSSD (blok 3 en 4)

Ek raai u aan om die baie interessante dokument rakende RDS -protokol in SI4703 => AN243 van Silicon labs te lees

Ek stel ook die SKMODE -bietjie in die POWERCFG -register terug (sien die datablad SI4703) om binne die frekwensiebereik te bly terwyl ek na kanale soek

Die lees van datashhet sal baie help om die kode en al die registers se hantering te verstaan

Stap 2: Die laaibasis

Die laaibasis
Die laaibasis
Die laaibasis
Die laaibasis
Die laaibasis
Die laaibasis

Nie veel dinge om by te voeg nie

Die foto's kan beter praat.

Het pas 'n 1N5404 -diod bygevoeg op die 12 volt -kontak

1) om probleme te vermy as die batterykontak die 12 volt -kontak raak wanneer die radio op die basis geplaas word (maar dit het nooit gebeur nie)

2) om die spanningsvlak tot 10,8 volt te verlaag (daar is ook 'n diod op die moederbord), aangesien die MC7805 'n bietjie warm kan word as dit van 12V na 5 volt gaan met 1 Amp -stroom (ek het 'n stuk yster vasgeskroef terwyl 'n koellichaam aangeskakel is) die 7805)

Ek het 'n klein voltmeter van 3 x 7 segmente bygevoeg om die batterylading aan te dui

Hierdie toestel het drie drade om die verbruik te verlaag (meer as 1 Mega Ohm op die meetdraad), waardeur u die radio lank op die afgeskakel basis kan sit sonder om die battery te laai

Beeld
Beeld

2 hefboomskakelaars word gebruik om die wisselstroomtoevoer uit te skakel wanneer die radio van die basis af is (om te voorkom dat 12V op die kontakte is)

Beeld
Beeld

Die boks is gemaak van laaghout (voordat ek op die prentjie skilder), ek laat u dink hoe u 'n pragtige boks kan maak, want myne is nie baie sexy nie !!!!!

Ek was baie verbaas, maar die laaibasis loop goed en ek het nooit rook gehad toe ek die radio daarop geland het nie ………

Stap 3: Die boks

Die boks
Die boks
Die boks
Die boks
Die boks
Die boks
Die boks
Die boks

Ek vermoed dat enigiemand sou wou doen wat hy wil na aanleiding van sy artistieke vermoëns !!!!!

Hoe dan ook, ek sal binnekort verduidelik hoe ek iets kan bou wat vreeslik soos 'n gereedskapskas lyk

Voor en agter is gesny in 4 mm laaghout 15x45 cm

bo en onder is 10 mm laaghout 15x45 cm

Sye en die 2 interne afskortings (2 2 plekke vir HP en die komponente in die middelste) is 10 mm laaghout 13x13 cm

Op die voorpaneel het ek 2 x 10 cm gate vir die HP gemaak en 'n vierkantige gat van 14 x 14 om die 15x15 2 mm organiese glas wat ek in swart geverf het, in te voeg (nadat ek 'n deursigtige gedrukte plakker aangebring het, maar dit is nie so leesbaar nie as gevolg van die swart kleur agter)

Ek het 2 gate bo gemaak:

een vir die potensiometer van die kragversterker (om die vlak indien nodig aan te pas) en ook as hitte -uitset

nog een vir die antenna

op die agterpaneel het ek 2 gate gemaak:

Een vir die USB -aansluiting (steek die nano direk in)

Een 16 mm vir lugverkoeling (die 14 mm gat van die potensiometer van die kragversterker bo die boonste lugverkoelingsuitset)

die handvatsel is gemaak van 'n 12 mm koperbuis wat in swart geverf is

Al die komponente van die prent hierbo vind plek in die sentrale kompartement (later moes ek die batterye in die linker HP -kompartement sit omdat dit te naby was aan die HC06 BT -module in die hoofkompartement)

Dis dit

Natuurlik moet daar iets meer sexy wees !!!!!

Stap 4: Die Arduino -deel (skemas en kode)

Ek het probeer om soveel moontlik inligting in die kommentaar van die program te plaas.

Nog 'n paar inligting

Die Decode_TXT -prosedure word gebruik deur beide Bluetooth -prosedures en skakelingsprosedures

sommige sleutelwoorde word deur beide prosedures gebruik

v+ => om die volume te verhoog

v- => om te verlaag

f+ => om die frekwensie van 'n stap van 100 Khz te verhoog

f- => verminder

su+=> soek

sd-=> soek af

prefu => verhoog die vooraf gekose kanaalnommer

prefd => verminder

hallo => gestuur deur die Android APP tydens Bluetooth -verbinding, stuur die kode die status van die radio terug

bye => gestuur deur die APP wanneer BT ontkoppel

pow => per radio gestuur na die app in die kragbron (op die laaibasis)

bat => in die batterymodus

lb => gestuur as die batteryniveau te laag is (ongeveer 8 volt)

Bluetooth -kommunikasie word beveilig deur 'n bedieningslus:

Elke keer as die FM -radio 'n inligting stuur, word 'n timer begin wag vir die 'ok' antwoord deur die Android -app

in die geval van 3 foute (timer verstryk) word die BT -skakel deur die radio gesny. (dit sny ook die skakel aan Android -kant)

Aan die ander kant

As die app 'n opdrag stuur, wag dit op die antwoord van die radio om 'n ander opdrag te stuur.

Die get_RT -prosedure word begin wanneer die RDS -vlag gestel is (na 'n onderbreking op pen 3)

hier is die kode (skakel na GITHUB)

Die skemas:

Die hoofbord van die FM -radio (eintlik is die SI4703 uitmekaar in 'n afskermde boks):

Beeld
Beeld

Die voorpaneel:

Beeld
Beeld

Laai basis:

Beeld
Beeld

Die skakels na die Fritzing -lêers:

FR RADIO hoofbord

Voorste paneel

Laai basis

Stap 5: Die Android -app

Die Android -app
Die Android -app
Die Android -app
Die Android -app

Gemaak met APP uitvinder

hier is die skakels na GitHub

Radio FM aia

Android APK

Die app gebruik 2 kloktydtellers:

1) vir die Bluetooth -kommunikasie (100 ms)

2) vir die flits van die battery met 'n laai van ongeveer 8 v (1000 ms)

Vir die eerste keer moet u die HC06 -module met u slimfoon of tablet koppel.

Ek gebruik TinyDB om die BT -adres van die HC06 -module op te slaan, die eerste verbinding, die BT -adresknoppie word geaktiveer, en u moet die HC06 in die lys kies (ek het die HC06 -module in FM_RADIO herdoop)

In die app gebruik ek nie altyd die persentasie vir die grootte van die element nie, so daar kan baie probleme wees, afhangende van die slimfoon

Myne is 'n Galaxy note 3, so taamlik groot skerm ….

Ek het dus 'n goeie tyd bestee aan die ontdekking van hierdie klein, maar baie doeltreffende SI4703.

En ek was baie bly om hierdie instruksies te skryf

Tot my volgende projek

Totsiens!!!

Aanbeveel: