INHOUDSOPGAWE:
- Stap 1: Die 4703 -radiodeel
- Stap 2: Die laaibasis
- Stap 3: Die boks
- Stap 4: Die Arduino -deel (skemas en kode)
- Stap 5: Die Android -app
Video: FM -radio met RDS (radioteks), BT -beheer en laaibasis: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
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
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
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)
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
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
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)
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
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):
Die voorpaneel:
Laai basis:
Die skakels na die Fritzing -lêers:
FR RADIO hoofbord
Voorste paneel
Laai basis
Stap 5: 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:
Raspberry Pi -boks met koelventilator met CPU -temperatuuraanwyser: 10 stappe (met foto's)
Raspberry Pi Box of Cooling FAN Met CPU Temperature Indicator: Ek het framboos pi (Hierna as RPI) CPU temperatuur aanwyser stroombaan in die vorige projek bekendgestel. Die kring wys eenvoudig RPI 4 verskillende CPU temperatuur vlakke soos volg.- Groen LED aangeskakel wanneer CPU temperatuur is binne 30 ~
Spel met 4 knoppies met een analoog invoer: 6 stappe (met foto's)
Spel met 4 knoppies met een analoog invoer: hierdie instruksies fokus op die gebruik van een analoog invoerlyn vir verskeie knoppies wat onafhanklik van mekaar opgespoor kan word. Al die speletjies (8 in t
Alle bandontvanger met SI4732 / SI4735 (FM / RDS, AM en SSB) met Arduino: 3 stappen
Alle bandontvanger met SI4732 / SI4735 (FM / RDS, AM en SSB) Met Arduino: dit is 'n all -band -ontvangerprojek. Dit gebruik die Si4734 Arduino -biblioteek. Hierdie biblioteek het meer as 20 voorbeelde. U kan na FM luister met RDS, plaaslike AM (MW), SW en amateurradiostasies (SSB). Alle dokumentasie hier
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe u die Si4703 FM -radiobord met RDS gebruik - Arduino -tutoriaal: 5 stappe (met foto's)
Hoe om die Si4703 FM -radiobord te gebruik met RDS - Arduino -tutoriaal: Dit is 'n evalueringsbord vir die Silicon Laboratories Si4703 FM -ontvanger -chip. Behalwe dat dit 'n eenvoudige FM -radio is, kan die Si4703 ook inligting oor Radio Data Service (RDS) en Radio Broadcast Data Service (RBDS) opspoor en verwerk