Innholdsfortegnelse:

FM -radio med RDS (radiotekst), BT -kontroll og ladestasjon: 5 trinn
FM -radio med RDS (radiotekst), BT -kontroll og ladestasjon: 5 trinn

Video: FM -radio med RDS (radiotekst), BT -kontroll og ladestasjon: 5 trinn

Video: FM -radio med RDS (radiotekst), BT -kontroll og ladestasjon: 5 trinn
Video: Tõnissaar Ring FM-is (14.10.2011) 2024, November
Anonim
FM -radio med RDS (radiotekst), BT -kontroll og ladestasjon
FM -radio med RDS (radiotekst), BT -kontroll og ladestasjon
FM -radio med RDS (radiotekst), BT -kontroll og ladestasjon
FM -radio med RDS (radiotekst), BT -kontroll og ladestasjon

Bonjour, Dette er min andre "Instructables". Siden jeg liker å lage lite nyttige ting, er her mitt siste prosjekt:

Dette er en FM -radio med radiotekst med en ladebase og som kan overvåkes via Bluetooth og en Android -APP

Derfor vil jeg presentere deg, Arduino -delen, Radio Text -delen og deretter MIT App -oppfinnerdelen (Dette er den eneste måten jeg er dyktig nok til å bygge og Android APP)

Med en forsyningsspenning på 10; 8 volt med vekselstrømforsyning og 9,6 med batteri er maksimal effekt 2x 1,5/1,25 watt RMS som er mye nok

RMS (root mean square) effekt er den virkelige effekten, ikke som de andre store tallene som selges som wattmusikk eller toppeffekt eller noe annet)

Jeg antar at 1,5 Watt RMS kan selges som 8 Watt i noen butikker !!!!!!

Først trenger komponentene:

Hovedkort:

1x Arduino Nano

1x FM -radiomodul SI4703 fra Sparkfun eller tilsvarende (5v drevet og 3,3V I2C med en 3 -polet kontakt som kan brukes som antenne)

1x HC-06 Bluetooth-modul (advarsel om at den nye programvareversjonen 3.0 har totalt forskjellige kommandoer (jeg legger noen kommentarer i koden).

1x 4 -kanals nivåskifter 3,3 5 V

1x MC7805 5v DC -omformer

1x 2200 µF 25V kondensator

2x 1N5404 3 Amp dioder

2x 2N2222 transistorer

1x 1Kohm motstand

1x 47 Ohm motstand

2x 3,3 KOhm motstander (for I2C buss pull-up)

3x 330 Ohm motstander (for LED)

2x 6,8 KOhm motstander

1x 3,9 KOhm motstand

Frontpanel

1x 20X4 LCD I2C buss

10x 680 Ohm motstander

1x rød LED (jeg hadde ikke mer grønt !!) for strømforsyningen

1x gul LED for batterimodus

1x blå LED for BT -tilkobling

4x (ON) -OFF- (ON) brytere (som for et elektrisk bilvindu)

2x trykknapper

1x PÅ/AV -bryter

Andre komponenter for radioen:

2x 100W 10CM 8 Ohm HP

1x 1m uttrekkbar antenne (ca. 75 cm er den gode lengden for FM i Europa og USA)

1x telefonplugg som jeg brukte til å lage kontaktene for ladestasjonen

1x 1N5404 3 Amp diod (på batterikontakten for å unngå røyk ved rot med bakken eller 12V kontakt)

1x 2X20 watt effektforsterker (enhver stereoforsterker passer så lenge den er 12V) basert på TDA2020 kjøpt for 4 Euro

1x 8XAA batterikobling (for å ha min 9,6V)

Noen 10 mm og 4 mm kryssfiner for boksen

Ladestasjon:

1x 12V 3Amp Strømforsyning

1x lite 3 siffer /3 ledninger voltmeter

3 kontakter (laget med telefonpluggen)

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

2 spakbrytere (for å slå på vekselstrømforsyningen når radioen er på ladestasjonen)

1x PÅ/AV -bryter (for å slå av ladestasjonen om nødvendig)

Noen 10 mm og 4 mm kryssfiner for basen

Til sammen, inkludert kryssfiner, er det ikke mer enn 70 €

Trinn 1: Radiodelen 4703

Først en modifikasjon:

Modulen skal bruke hodesettkabelen som en antenne, i prosjektet mitt er det ikke nyttig, så vi må først gjøre en liten modifikasjon for å koble til og ekstern antenne

I denne modulen er 3 -polet jack -bakken ikke koblet direkte til bakken, men via en induktans (for å stoppe FM -frekvenser) og en kondensator for å koble FM -frekvensene til antenneinngangen på SI4703.

Så den beste måten er å koble antennen direkte til jordpinnen på kontakten og lodde to kabler for lydutgangen

Bilde
Bilde

For å forhindre lyder i lyden (spesielt fra Bluetooth), la jeg FM -modulen i en liten plastboks som var skjermet med kobberbånd koblet til bakken

Bilde
Bilde

RDS/Radio Text -protokollen:

Først vil jeg takke Nathan Seidle da jeg ble fullt inspirert av programmet "TEST_FM" fra juni 2011

Og som avtalt, vil jeg være veldig glad for å betale ham en øl, hvis han en av disse dagene går tapt i min lille landsby i den dype enden av Bretagne !!

Jeg brukte mye av programmet hans, da jeg ikke ønsket å bruke de eksisterende bibliotekene som er litt for store for det dårlige Nano -minneplassen, og også fordi det alltid er bedre å gå dypt inn i mulighetene til en komponent ved å dykke direkte inn registerene

Den viktigste endringen jeg gjorde er for RDS -avstemningen

Jeg benyttet muligheten til å utløse et avbrudd på GPI02 -pinnen ved å sette RDSIEN -biten og GPIO2 -verdien til 01

Dette vil utløse et avbrudd på pin 3 på nano

Dette forhindrer at polling i RDS -registeret, da det bare vil utløse radiotekstprogrammet når gruppen med 4 tekst med radiotekst er tilgjengelig uten feil (ikke -verbose modus)

For å ha en fullstendig radiotekst, må vi maksimalt samle 16 blokker med 4 røyker (registrerer RDSC/RDSB i gruppe 2A eller 2B). Jeg legger mye informasjon i programmet for å forklare hva jeg gjorde.

Her er en beskrivelse av dataregistrene for radiotekst (RDSSA/RDSC)

Bilde
Bilde

i register RDSSB (blokk 2)

Verdi 4 i A3/0 indikerer (tekstgruppe)

B0 indikerer A (64 tegn) eller B (32 tegn) tekst (har aldri sett B -tekst i bruk ………..)

PT0 til PT4 er indeksen for 4 røyegrupper (0 til 15)

PT5 bør brukes som tekst A/B -indikator (som betyr "dette er en ny tekst"), men det er ikke alltid det brukes slik avhengig av radiostasjonen, så det er ikke brukbart for radiotekstprogrammet.

4 tegn av radioteksten er i RDSSC og RDSSD (blokk 3 og 4)

Jeg anbefaler deg å lese det veldig interessante dokumentet om RDS -protokollen i SI4703 => AN243 fra Silicon labs

Jeg tilbakestiller også SKMODE -biten i POWERCFG -registeret (se databladet SI4703) for å holde seg innenfor frekvensområdet mens jeg søker etter kanaler

Å lese datashhet vil hjelpe mye å forstå koden og alle registerhåndteringer

Trinn 2: Ladestasjonen

Ladestasjonen
Ladestasjonen
Ladestasjonen
Ladestasjonen
Ladestasjonen
Ladestasjonen

Ikke veldig mange ting å legge til

Bildene kan snakke bedre.

Har nettopp lagt til en 1N5404 diod på 12 volt kontakten

1) for å unngå problemer i tilfelle batterikontakt berører 12 volt kontakten når du setter radioen på basen (men det skjedde aldri)

2) å senke spenningsnivået til 10,8 volt (det er også en diod på hovedkortet) ettersom MC7805 kan bli litt varm når den går fra 12V til 5 volt med 1 amp strøm (jeg skrudde et stykke jern som kjøleribbe på 7805)

Jeg la til et lite 3 x7 segmenters voltmeter for å indikere batterilasten

Denne enheten er utstyrt med 3 ledninger for å redusere forbruket (mer enn 1 Mega Ohm på målingskabelen), som gjør det mulig å holde radioen på den avslåtte basen lenge uten å lade ut batteriet

Bilde
Bilde

2 spakbrytere brukes til å slå av vekselstrømforsyningen når radioen er utenfor basen (for å unngå å ha 12V på kontaktene)

Bilde
Bilde

Boksen er laget med kryssfiner (før du maler på bildet) Jeg lar deg forestille deg hvordan du lager en vakker boks, da min ikke er veldig sexy !!!!!

Jeg ble veldig overrasket, men ladestasjonen kjører bra, og jeg hadde aldri røyk mens jeg landet radioen på den ………….

Trinn 3: Boksen

Boksen
Boksen
Boksen
Boksen
Boksen
Boksen
Boksen
Boksen

Jeg antar at noen burde like å gjøre som han vil etter hans kunstneriske evner !!!!!

Uansett vil jeg snart forklare hvordan jeg kunne bygge noe som fryktelig ser ut som en verktøykasse

Front og bak er kuttet i 4 mm kryssfiner 15x45 cm

topp og bunn er 10 mm kryssfiner 15x45 cm

Sidene og de to interne partisjonene (2 2 plasser for HP og komponentene i den midterste) er 10 mm kryssfiner 13x13 cm

På frontpanelet laget jeg 2 x 10 cm hull for HP og et 14x14 firkantet hull for å sette inn 15x15 2 mm organisk glass som jeg malte i svart (la til etter å ha malt et gjennomsiktig trykt klistremerke på, men det er ikke så lesbart på grunn av det svarte farge bak)

Jeg laget 2 hull på toppen:

en for potensiometeret til effektforsterkeren (for å justere nivået om nødvendig) og også som varmeeffekt

en annen til antennen

på bakpanelet laget jeg 2 hull:

En for USB -kontakten (plugg direkte på nano)

En 16 mm for luftkjøling (det 14 mm hullet på potensiometeret til effektforsterkeren er den øvre luftkjølingseffekten)

håndtaket er laget av et 12 mm kobberrør malt i svart

Alle komponentene på bildet ovenfor finner plass i det sentrale rommet (senere måtte jeg sette batteriene i det venstre HP -rommet fordi det var for nær HC06 BT -modulen i hovedrommet)

Det er det

Selvfølgelig må det være noe mer sexy !!!!!

Trinn 4: Arduino -delen (skjemaer og kode)

Jeg prøvde å sette så mye informasjon som mulig i kommentarene til programmet.

Litt mer informasjon

Decode_TXT -prosedyren brukes av både Bluetooth -prosedyre og switch -prosedyre

noen søkeord brukes av begge prosedyrene

v+ => for å øke volumet

v- => for å senke

f+ => for å øke frekvensen til et trinn på 100 Khz

f- => for å redusere

su+=> søk opp

sd-=> søk ned

prefu => øke det forhåndsvalgte kanalnummeret

prefd => redusere

hei => sendt av Android -appen under Bluetooth -tilkobling, koden sender statusen til radioen tilbake

bye => sendt av appen når BT kobler fra

pow => sendt av radioen til appen i strømforsyningsmodus (på ladestasjonen)

bat => i batterimodus

lb => sendes når batterinivået er for lavt (rundt 8 volt)

Bluetooth -kommunikasjon er sikret med en kontrollløkke:

Hver gang FM -radioen sender informasjon, startes en tidtaker som venter på "ok" svar fra Android -appen

i tilfelle 3 feil (timeren er utløpt) blir BT -lenken kuttet av radioen. (dette kutter også lenken på Android -siden)

På den andre siden

Når App sender en kommando, venter den på at svaret fra radioen sender en annen kommando.

Get_RT -prosedyren startes når RDS -flagget er satt (etter et avbrudd på pin 3)

her er koden (lenke til GITHUB)

Skjemaene:

FM -radioens hovedkort (faktisk er SI4703 fra hverandre i en skjermet eske):

Bilde
Bilde

Frontpanelet:

Bilde
Bilde

Ladestasjonen:

Bilde
Bilde

Lenker til Fritzing -filene:

FR RADIO hovedkort

Frontpanel

Ladestasjon

Trinn 5: Android -appen

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

Laget med APP -oppfinner

her er koblingene til GitHub

Radio FM aia

Android APK

Appen bruker 2 tidtakere:

1) for Bluetooth -kommunikasjon (100 ms)

2) for blinkende batteri LED når belastningen er rundt 8 v (1000 ms)

For første gang må du koble HC06 -modulen med smarttelefonen eller nettbrettet.

Jeg bruker TinyDB for å lagre BT -adressen til HC06 -modulen, den første tilkoblingen vil BT -adresseknappen aktiveres, og du må velge HC06 i listen (for min del har jeg gitt nytt navn til HC06 -modulen i FM_RADIO)

I appen brukte jeg ikke alltid prosentene for størrelsen på elementet, så det kan være så store problemer avhengig av smarttelefonen

Min er en Galaxy note 3 så ganske stor skjerm …..

Så jeg brukte god tid på å oppdage denne lille, men veldig effektive SI4703.

Og tok stor glede av å skrive denne instruksen

Frem til mitt neste prosjekt

Au revoir !!!

Anbefalt: