Innehållsförteckning:

FM -radio med RDS (radiotext), BT -kontroll och laddningsbas: 5 steg
FM -radio med RDS (radiotext), BT -kontroll och laddningsbas: 5 steg

Video: FM -radio med RDS (radiotext), BT -kontroll och laddningsbas: 5 steg

Video: FM -radio med RDS (radiotext), BT -kontroll och laddningsbas: 5 steg
Video: Tõnissaar Ring FM-is (14.10.2011) 2024, November
Anonim
FM -radio med RDS (radiotext), BT -kontroll och laddningsbas
FM -radio med RDS (radiotext), BT -kontroll och laddningsbas
FM -radio med RDS (radiotext), BT -kontroll och laddningsbas
FM -radio med RDS (radiotext), BT -kontroll och laddningsbas

Bonjour, Detta är min andra "Instructables". Eftersom jag gillar att göra inte särskilt användbara saker, här är mitt sista projekt:

Detta är en FM -radio med radiotext med en laddningsbas och som kan övervakas via Bluetooth och en Android -APP

Därför kommer jag att presentera dig, Arduino -delen, Radio Text -delen och sedan MIT App -uppfinnaren (Detta är det enda sättet jag är skicklig nog att bygga och Android APP)

Med en matningsspänning på 10; 8 volt med växelström och 9,6 med batteri är maxeffekten 2x 1,5/1,25 watt RMS vilket är tillräckligt brett

RMS (root mean square) effekt är den verkliga effekten inte som de andra stora siffrorna som säljs som wattmusik eller toppeffekt eller något annat)

Jag antar att 1,5 Watt RMS kan säljas som 8 Watt i vissa butiker !!!!!!

Först de komponenter som behövs:

Moderkort:

1x Arduino Nano

1x FM -radiomodul SI4703 från Sparkfun eller motsvarande (5v driven och 3.3V I2C med en 3 -polig jack som kan användas som antenn)

1x HC-06 Bluetooth-modul (varning för den nya mjukvaruversionen 3.0 har totalt olika kommandon (jag lägger några kommentarer i koden).

1x 4kanals nivåväxel 3,3 5 V

1x MC7805 5v DC -omvandlare

1x 2200 µF 25V kondensator

2x 1N5404 3 Amp dioder

2x 2N2222 transistorer

1x 1Kohm motstånd

1x 47 Ohm motstånd

2x 3,3 KOhm-motstånd (för I2C-bussuppdrag)

3x 330 Ohm motstånd (för LED)

2x 6,8 KOhm motstånd

1x 3,9 KOhm motstånd

Frontpanel

1x 20X4 LCD I2C -buss

10x 680 Ohm motstånd

1x röd LED (jag hade inte mer grön !!) för strömförsörjningen

1x gul LED för batteriläge

1x blå LED för BT -anslutning

4x (ON) -OFF- (ON) omkopplare (som för en elbil-fönster)

2x tryckknappar

1x ON/OFF -omkopplare

Andra komponenter för radion:

2x 100W 10CM 8 Ohm HP

1x 1m utdragbar antenn (cirka 75 cm är bra längd för FM i Europa och USA)

1x telefonplugg som jag använde för att skapa kontakterna för laddningsbasen

1x 1N5404 3 Amp diod (på batterikontakten för att undvika rök i händelse av stök med marken eller 12V kontakt)

1x 2X20 watt effektförstärkare (valfri stereoförstärkare passar så länge den är 12V) baserat på TDA2020 köpt för 4 Euro

1x 8XAA batterikopplare (för att ha min 9,6V)

Några 10 mm och 4 mm plywood för lådan

Laddningsbas:

1x 12V 3Amp Strömförsörjning

1x liten 3 -siffrig /3 -ledars voltmeter

3 kontakter (gjorda med telefonkontakten)

1x 1N5404 3 Amp diod (på 12V -kontakten)

2 spakbrytare (för att slå på nätströmmen när radion är på laddningsbasen)

1x ON/OFF -omkopplare (för att stänga av laddningsbasen om det behövs)

Några 10 mm och 4 mm plywood för basen

Sammantaget, inklusive plywood är det inte mer än 70 €

Steg 1: Radiodelen 4703

Först en ändring:

Modulen ska använda headsetkabeln som en antenn, i mitt projekt är det inte användbart, så vi måste först göra en liten ändring för att ansluta och extern antenn

I denna modul är den 3 -poliga jackjorden inte ansluten direkt till marken utan via en induktans (för att stoppa FM -frekvenser) och en kondensator för att ansluta FM -frekvenserna till antenningången på SI4703.

Så det bästa sättet är att ansluta antennen direkt till jordstiftet på uttaget och löda två kablar för ljudutgången

Bild
Bild

För att förhindra ljud från ljudet (särskilt från Bluetooth) lägger jag FM -modulen i en liten plastlåda som är skärmad med koppartejp ansluten till marken

Bild
Bild

RDS/Radio Text -protokollet:

Först vill jag tacka Nathan Seidle eftersom jag var fullt inspirerad av hans program "TEST_FM" i juni 2011

Och, som överenskommet, kommer jag att vara mycket glad över att betala honom en öl, om han en av dessa dagar försvinner i min lilla by i Bretagne djupa ände !!

Jag använde mycket av hans program eftersom jag inte ville använda de befintliga biblioteken som är lite för stora för det dåliga Nano -minnesutrymmet och också för att det alltid är bättre att gå djupt in i en komponents möjligheter genom att dyka direkt i registren

Den huvudsakliga ändringen jag gjorde är för RDS -undersökningen

Jag utnyttjade möjligheten att utlösa ett avbrott i GPI02 -stiftet genom att ställa in RDSIEN -bit och GPIO2 -värde till 01

Detta kommer att utlösa ett avbrott på stift 3 på nano

Detta förhindrar att polla RDS -registret eftersom det bara kommer att utlösa radiotextprogrammet när 4 -karaktärs grupp av radiotext är tillgänglig utan fel (icke -verböst läge)

För att få en fullständig radiotext måste vi samla högst 16 block med 4 tecken (registrerar RDSC/RDSB i grupp 2A eller 2B). Jag lägger in mycket information i programmet för att förklara vad jag gjorde.

Här är en beskrivning av dataregistren för radiotext (RDSSA/RDSC)

Bild
Bild

i register RDSSB (block 2)

Värde 4 i A3/0 indikerar (textgrupp)

B0 anger A (64 tecken) eller B (32 tecken) text (har aldrig sett B -text i bruk ………….)

PT0 till PT4 är indexet för 4 rödinggrupper (0 till 15)

PT5 bör användas som text A/B -indikator (vilket betyder "detta är en ny text") men det används inte alltid så här beroende på radiostation, så det är inte användbart för radiotextprogrammet.

4 tecken på radiotexten finns i RDSSC och RDSSD (block 3 och 4)

Jag råder dig att läsa det mycket intressanta dokumentet angående RDS -protokoll i SI4703 => AN243 från Silicon labs

Jag återställde också SKMODE -biten i POWERCFG -registret (se SI4703 -datablad) för att stanna inom frekvensområdet medan jag söker kanaler

Att läsa datashhet hjälper mycket att förstå koden och alla registerhanteringar

Steg 2: Laddningsbasen

Laddningsbasen
Laddningsbasen
Laddningsbasen
Laddningsbasen
Laddningsbasen
Laddningsbasen

Inte mycket saker att lägga till

Bilderna kan tala bättre.

Har precis lagt till en 1N5404 -diod på 12 volt -kontakten

1) för att undvika problem om batterikontakt vidrör 12 volts kontakten när du sätter radion på basen (men det hände aldrig)

2) för att sänka spänningsnivån till 10,8 volt (det finns också en diod på moderkortet) eftersom MC7805 kan bli lite varm när den går från 12V till 5 volt med 1 Amp -ström (jag skruvade en bit järn som kylfläns på 7805)

Jag lade till en liten 3 x7 segmentvolymmeter för att indikera batteriladdningen

Den här enheten har tre ledningar för att sänka förbrukningen (mer än 1 Mega Ohm på mätningstråden) vilket gör det möjligt att hålla radion på den avstängda basen länge utan att ladda ur batteriet

Bild
Bild

Två spakströmställare används för att stänga av nätströmmen när radion är från basen (för att undvika att ha 12V på kontakterna)

Bild
Bild

Lådan är gjord med plywood (innan du målar på bilden) Jag låter dig föreställa dig hur du gör en vacker låda eftersom min inte är särskilt sexig !!!!!

Jag blev mycket förvånad men laddningsbasen går bra och jag hade aldrig rök när jag landade radion på den …………..

Steg 3: Boxen

Lådan
Lådan
Lådan
Lådan
Lådan
Lådan
Lådan
Lådan

Jag antar att någon skulle vilja göra som han vill efter hans konstnärliga kapacitet !!!!!

Hur som helst kommer jag snart att förklara hur jag skulle kunna bygga något som fruktansvärt ser ut som en verktygslåda

Fram och bak skärs i 4 mm plywood 15x45 cm

topp och botten är 10 mm plywood 15x45 cm

Sidorna och de 2 interna skiljeväggarna (2 2 platser för HP och komponenterna i den mellersta) är 10 mm plywood 13x13 cm

På frontpanelen gjorde jag 2 x 10 cm hål för HP och ett 14x14 fyrkantigt hål för att sätta in 15x15 2 mm organiskt glas som jag målade i svart (lägg till efter att ha målat en transparent tryckt klistermärke på, men det är inte så läsbart på grund av det svarta färg bakom)

Jag gjorde 2 hål på toppen:

en för potentiometern på effektförstärkaren (för att justera nivån vid behov) och även som värmeeffekt

en annan för antennen

på bakpanelen gjorde jag 2 hål:

En för USB -kontakten (anslut direkt till nano)

En 16 mm för luftkylning (14 mm hål på potentiometern på effektförstärkaren är den övre luftkylningseffekten)

handtaget är tillverkat av ett 12 mm kopparrör målat i svart

Alla komponenter i bilden ovan hittar plats i det centrala facket (senare var jag tvungen att sätta batterierna i det vänstra HP -facket eftersom det var för nära HC06 BT -modulen i huvudfacket)

Det är allt

Naturligtvis måste det finnas något mer sexigt !!!!!

Steg 4: Arduino -delen (scheman och kod)

Jag försökte lägga in så mycket information som möjligt i programmets kommentarer.

Lite mer information

Decode_TXT -proceduren används av både Bluetooth -proceduren och switch -proceduren

vissa sökord används av båda procedurerna

v+ => för att öka volymen

v- => för att sänka

f+ => för att öka frekvensen för ett steg på 100 Khz

f- => att minska

su+=> sök upp

sd-=> sök ner

prefu => öka det förvalda kanalnumret

prefd => minska

hej => skickas av Android -appen under Bluetooth -anslutning, koden skickar tillbaka radioens status

hejdå => skickas av appen när BT kopplar bort

pow => skickas av radion till appen i strömförsörjningsläge (på laddningsbasen)

bat => i batteriläge

lb => skickas när batterinivån är för låg (cirka 8 volt)

Bluetooth -kommunikation säkras med en styrslinga:

Varje gång FM -radion skickar en information startas en timer som väntar på "ok" svar från android -appen

vid 3 fel (timern har löpt ut) bryts BT -länken av radion. (detta skär också av länken på Android -sidan)

På andra sidan

När App skickar ett kommando väntar det på svaret från radion för att skicka ett annat kommando.

Get_RT -proceduren startas när RDS -flaggan är inställd (efter ett avbrott på stift 3)

här är koden (länk till GITHUB)

Schemat:

FM -radioens huvudkort (faktiskt SI4703 är isär i en skärmad låda):

Bild
Bild

Frontpanelen:

Bild
Bild

Laddningsbasen:

Bild
Bild

Länkarna till Fritzing -filerna:

FR RADIO huvudkort

Frontpanel

Laddningsbas

Steg 5: Android -appen

Android -appen
Android -appen
Android -appen
Android -appen

Tillverkad med APP -uppfinnare

här är länkarna till GitHub

Radio FM aia

Android APK

Appen använder 2 klockur:

1) för Bluetooth -kommunikation (100 ms)

2) för blinkande batteri LED när belastningen är cirka 8 V (1000 ms)

För första gången måste du para ihop HC06 -modulen med din smartphone eller surfplatta.

Jag använder TinyDB för att spara BT -adressen för HC06 -modulen, den första anslutningen aktiveras BT -adressknappen och du måste välja HC06 i listan (för min del bytte jag namn på HC06 -modulen i FM_RADIO)

I appen använde jag inte alltid procenten för elementets storlek, så det kan finnas så stora problem beroende på smarttelefonen

Min är en Galaxy note 3 så ganska stor skärm ……..

Så jag ägnade en god tid åt att upptäcka denna lilla men mycket effektiva SI4703.

Och tog mycket glädje av att skriva detta instruktörer

Fram till mitt nästa projekt

Hej då!!!

Rekommenderad: