Indholdsfortegnelse:

FM -radio med RDS (radiotekst), BT -kontrol og opladningsbase: 5 trin
FM -radio med RDS (radiotekst), BT -kontrol og opladningsbase: 5 trin

Video: FM -radio med RDS (radiotekst), BT -kontrol og opladningsbase: 5 trin

Video: FM -radio med RDS (radiotekst), BT -kontrol og opladningsbase: 5 trin
Video: Tõnissaar Ring FM-is (14.10.2011) 2024, November
Anonim
FM -radio med RDS (radiotekst), BT -kontrol og ladestation
FM -radio med RDS (radiotekst), BT -kontrol og ladestation
FM -radio med RDS (radiotekst), BT -kontrol og opladningsbase
FM -radio med RDS (radiotekst), BT -kontrol og opladningsbase

Bonjour, Dette er mit andet "Instructables". Da jeg kan lide at lave ikke særlig nyttige ting, er her mit sidste projekt:

Dette er en FM -radio med radiotekst med en opladningsbase, og som kan overvåges via Bluetooth og en Android APP

Derfor vil jeg præsentere dig, Arduino -delen, Radio Text -delen og derefter MIT App -opfinderdelen (Dette er den eneste måde, jeg er dygtig nok til at bygge og Android APP)

Med en forsyningsspænding på 10; 8 volt med vekselstrømforsyning og 9,6 med batteri er den maksimale effekt 2x 1,5/1,25 watt RMS, hvilket er bredt nok

RMS (root mean square) effekt er den virkelige effekt ikke som de andre store tal, der sælges som wattmusik eller spidseffekt eller andet)

Jeg gætter på, at 1,5 Watt RMS kan sælges som 8 Watt i nogle butikker !!!!!!

Først de nødvendige komponenter:

Hovedbestyrelse:

1x Arduino Nano

1x FM -radiomodul SI4703 fra Sparkfun eller tilsvarende (5v drevet og 3,3V I2C med et 3 -polet stik, der kan bruges som antenne)

1x HC-06 Bluetooth-modul (advarsel om den nye softwareversion 3.0 har en række forskellige kommandoer sat (jeg sætter nogle kommentarer i koden).

1x 4 -kanals niveauskifter 3,3 5 V

1x MC7805 5v DC -konverter

1x 2200 µF 25V kondensator

2x 1N5404 3 Amp dioder

2x 2N2222 transistorer

1x 1Kohm modstand

1x 47 Ohm modstand

2x 3,3 KOhm modstande (til I2C bus pull-up)

3x 330 Ohm modstande (til LED'erne)

2x 6,8 KOhm modstande

1x 3,9 KOhm modstand

Frontpanel

1x 20X4 LCD I2C bus

10x 680 Ohm modstande

1x Rød LED (jeg havde ikke mere grøn !!) til strømforsyningen

1x gul LED til batteritilstand

1x Blå LED til BT -tilslutning

4x (ON) -OFF- (ON) kontakter (som for en el-bilrude)

2x trykknapper

1x TÆND/SLUK -kontakt

Andre komponenter til radioen:

2x 100W 10CM 8 Ohm HP

1x 1m udtrækkelig antenne (ca. 75 cm er den gode længde for FM i Europa og USA)

1x telefonstik, som jeg brugte til at lave kontakterne til opladningsbasen

1x 1N5404 3 Amp diod (på batterikontakten for at undgå røg i tilfælde af rod med jorden eller 12V kontakt)

1x 2X20 watt effektforstærker (enhver stereoforstærker vil passe så længe den er 12V) baseret på TDA2020 købt for 4 Euro

1x 8XAA batterikobling (for at have min 9,6V)

Nogle 10 mm og 4 mm krydsfiner til kassen

Opladningsbase:

1x 12V 3Amp Strømforsyning

1x lille 3 cifret /3 leders voltmeter

3 kontakter (lavet med telefonstikket)

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

2 håndtagskontakter (for at tænde for vekselstrømforsyningen, når radioen er på ladestationen)

1x ON/OFF -kontakt (for at slukke for ladestationen, hvis det er nødvendigt)

Nogle 10 mm og 4 mm krydsfiner til basen

Alt i alt, inklusive krydsfiner, er det ikke mere end 70 €

Trin 1: 4703 radiodelen

Først en ændring:

Modulet formodes at bruge headset -kablet som en antenne, i mit projekt er det ikke nyttigt, så vi bliver først nødt til at foretage en lille ændring for at tilslutte og ekstern antenne

I dette modul er 3 -polet jack -jorden ikke forbundet direkte til jorden, men via en induktans (for at stoppe FM -frekvenser) og en kondensator til at forbinde FM -frekvenserne til antenneindgangen på SI4703.

Så den bedste måde er at tilslutte antennen direkte til jordstikket på stikket og lodde to kabler til lydudgangen

Billede
Billede

For at forhindre lyde i lyden (især fra Bluetooth) lagde jeg FM -modulet i en lille plastkasse afskærmet med kobberbånd tilsluttet jorden

Billede
Billede

RDS/radiotekstprotokollen:

Først vil jeg takke Nathan Seidle, da jeg blev fuldt inspireret af hans program "TEST_FM" fra juni 2011

Og som aftalt vil jeg meget gerne betale ham en øl, hvis han en af disse dage går tabt i min lille landsby i den dybe ende af Bretagne !!

Jeg brugte meget af hans program, da jeg ikke ville bruge de eksisterende biblioteker, der er lidt for store til det dårlige Nano -hukommelsesrum, og også fordi det altid er bedre at gå dybt ind i mulighederne for en komponent ved at dykke direkte i registre

Den vigtigste ændring, jeg foretog, er for RDS -afstemningen

Jeg udnyttede muligheden for at udløse et afbrydelse på GPI02 -pin ved at indstille RDSIEN -bit og GPIO2 -værdien til 01

Dette vil udløse et afbrud på pin 3 på nano'en

Dette forhindrer i at polle RDS -registret, da det kun vil udløse radiotekstprogrammet, når 4 -tegns gruppe radiotekst er tilgængelig uden fejl (ikke -verbose tilstand)

For at have en fuld radiotekst skal vi højst samle 16 blokke med 4 tegn (registrerer RDSC/RDSB i gruppe 2A eller 2B). Jeg lagde mange oplysninger i programmet for at forklare, hvad jeg gjorde.

Her er en beskrivelse af dataregistre for radiotekst (RDSSA/RDSC)

Billede
Billede

i register RDSSB (blok 2)

Værdi 4 i A3/0 angiver (tekstgruppe)

B0 angiver A (64 tegn) eller B (32 tegn) tekst (har aldrig set B -tekst i brug ………..)

PT0 til PT4 er indekset for 4 char's gruppe (0 til 15)

PT5 bør bruges som tekst A/B -indikator (hvilket betyder "dette er en ny tekst"), men det bruges ikke altid på denne måde afhængigt af radiostationen, så det kan ikke bruges til radiotekstprogrammet.

4 tegn af radioteksten er i RDSSC og RDSSD (blok 3 og 4)

Jeg råder dig til at læse det meget interessante dokument vedrørende RDS -protokol i SI4703 => AN243 fra Silicon labs

Jeg nulstillede også SKMODE -bit i POWERCFG -registeret (se SI4703 -databladet) for at blive inden for frekvensområdet, mens jeg søgte kanaler

At læse datashhet vil hjælpe meget med at forstå koden og alle registrehåndteringer

Trin 2: Opladningsbasen

Opladningsbasen
Opladningsbasen
Opladningsbasen
Opladningsbasen
Opladningsbasen
Opladningsbasen

Ikke særlig mange ting at tilføje

Billederne kan tale bedre.

Tilføjede lige en 1N5404 diod på 12 volt kontakten

1) for at undgå problemer, hvis batterikontakt rører ved 12 volt kontakten, når du sætter radioen på basen (men det skete aldrig)

2) for at sænke spændingsniveauet til 10,8 volt (der er også en diod på bundkortet), da MC7805 kan blive lidt varm, når den går fra 12V til 5 volt med 1 Amp -strøm (jeg skruede et stykke jern som køleplade på 7805)

Jeg tilføjede et lille voltmeter på 3 x 7 segmenter for at angive batteriets belastning

Denne enhed er med 3 ledninger for at reducere forbruget (mere end 1 Mega Ohm på målingskablet), som gør det muligt at holde radioen på den slukkede base i lang tid uden at aflade batteriet

Billede
Billede

2 håndtagskontakter bruges til at slukke for vekselstrømforsyningen, når radioen er fra basen (for at undgå at have 12V på kontakterne)

Billede
Billede

Boksen er lavet med krydsfiner (før maling på billedet) Jeg lader dig forestille dig, hvordan du laver en smuk kasse, da min ikke er særlig sexet !!!!!

Jeg var meget overrasket, men ladestationen kører godt, og jeg havde aldrig røg, mens jeg landede radioen på den ………….

Trin 3: Kassen

Kassen
Kassen
Kassen
Kassen
Kassen
Kassen
Kassen
Kassen

Jeg tror, at nogen gerne vil gøre som han vil efter hans kunstneriske kapacitet !!!!!

Under alle omstændigheder vil jeg snart forklare, hvordan jeg kunne bygge noget, der frygteligt ligner en værktøjskasse

For og bag er skåret i 4 mm krydsfiner 15x45 cm

top og bund er 10 mm krydsfiner 15x45 cm

Siderne og de 2 indvendige skillevægge (2 2 pladser til HP og komponenterne i den midterste) er 10 mm krydsfiner 13x13 cm

På frontpanelet lavede jeg 2 x 10 cm huller til HP'en og et 14x14 firkantet hul for at indsætte det 15x15 2 mm organiske glas, som jeg malede i sort (tilføjelse efter at have malet et gennemsigtigt trykt klistermærke på, men det er ikke så læsbart på grund af det sorte farve bagved)

Jeg lavede 2 huller på toppen:

en til potentiometeret på effektforstærkeren (for at justere niveauet om nødvendigt) og også som varmeeffekt

en anden til antennen

på bagpanelet lavede jeg 2 huller:

En til USB -stikket (stik direkte på nano)

Én 16 mm til luftkøling (14 mm hul på potentiometeret på effektforstærkeren er den øvre luftkølingseffekt)

håndtaget er lavet af et 12 mm kobberrør malet i sort

Alle komponenterne på billedet ovenfor finder plads i det centrale rum (senere måtte jeg lægge batterierne i det venstre HP -rum, fordi det var for tæt på HC06 BT -modulet i hovedrummet)

Det er det

Selvfølgelig må der være noget mere sexet !!!!!

Trin 4: Arduino -delen (skemaer og kode)

Jeg forsøgte at lægge så mange oplysninger som muligt i kommentarerne til programmet.

Noget mere information

Decode_TXT -proceduren bruges af både Bluetooth -procedure og switch -procedure

nogle søgeord bruges af begge procedurer

v+ => for at øge lydstyrken

v- => for at sænke

f+ => for at øge frekvensen af et trin på 100 Khz

f- => for at reducere

su+=> søg op

sd-=> søge ned

prefu => forøg det forvalgte kanalnummer

prefd => fald

hej => sendt af Android APP under bluetooth -forbindelse, koden sender status for radioen tilbage

farvel => sendt af appen, når BT afbryder forbindelsen

pow => sendt af radioen til App i strømforsyningstilstand (på ladestationen)

bat => i batteritilstand

lb => sendes når batteriniveauet er for lavt (ca. 8 volt)

Bluetooth -kommunikation er sikret med en kontrol loop:

Hver gang FM -radioen sender en information, startes en timer og venter på det "ok" svar fra Android APP

i tilfælde af 3 fejl (timeren er udløbet) afbrydes BT -linket af radioen. (dette skærer også linket på Android side)

På den anden side

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

Get_RT -proceduren startes, når RDS -flag er indstillet (efter et afbrud på pin 3)

her er koden (link til GITHUB)

Skemaerne:

FM -radioens hovedkort (faktisk er SI4703 adskilt i en afskærmet kasse):

Billede
Billede

Frontpanelet:

Billede
Billede

Opladningsbasen:

Billede
Billede

Linkene til Fritzing -filerne:

FR RADIO hovedkort

Frontpanel

Opladningsbase

Trin 5: Android -appen

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

Lavet med APP opfinder

her er linkene til GitHub

Radio FM aia

Android APK

Appen bruger 2 ur -timere:

1) til bluetooth -kommunikation (100 ms)

2) til blinkende batteri, når belastningen er omkring 8 v (1000 ms)

For første gang skal du parre HC06 -modulet med din smartphone eller tablet.

Jeg bruger TinyDB til at gemme BT -adressen på HC06 -modulet, den første forbindelse, BT -adresse -knappen aktiveres, og du bliver nødt til at vælge HC06 på listen (for mit vedkommende omdøbte jeg HC06 -modulet til FM_RADIO)

I appen brugte jeg ikke altid procentdelen til elementets størrelse, så der kan være så store problemer afhængigt af smartphonen

Min er en Galaxy note 3, så ret stor skærm ……..

Så jeg brugte god tid på at opdage denne lille, men meget effektive SI4703.

Og havde stor glæde af at skrive denne instruktør

Op til mit næste projekt

På gensyn!!!

Anbefalede: