Taula de continguts:

Ràdio FM amb RDS (text de ràdio), control BT i base de càrrega: 5 passos
Ràdio FM amb RDS (text de ràdio), control BT i base de càrrega: 5 passos

Vídeo: Ràdio FM amb RDS (text de ràdio), control BT i base de càrrega: 5 passos

Vídeo: Ràdio FM amb RDS (text de ràdio), control BT i base de càrrega: 5 passos
Vídeo: Создание приложений для мобильных устройств, игр, Интернета вещей и многого другого с помощью AWS DynamoDB, Рик Хулихан 2024, Juliol
Anonim
Ràdio FM amb RDS (Radio Text), control BT i base de càrrega
Ràdio FM amb RDS (Radio Text), control BT i base de càrrega
Ràdio FM amb RDS (Radio Text), control BT i base de càrrega
Ràdio FM amb RDS (Radio Text), control BT i base de càrrega

Bon dia, Aquest és el meu segon "Instructables". Com que m'agrada fer coses poc útils, aquí teniu el meu darrer projecte:

Es tracta d’una ràdio FM amb Radio Text amb una base de càrrega i que es pot controlar mitjançant Bluetooth i una aplicació per a Android

Per tant, us presentaré la part d’Arduino, la part de Radio Text i, a continuació, la part de l’inventor de l’aplicació MIT (Aquesta és l’única manera que sóc prou hàbil per construir i l’APP per a Android)

Amb una tensió d'alimentació de 10; 8 volts amb alimentació de CA i 9,6 amb bateria, la potència màxima és de 2x 1,5 / 1,25 watts RMS, que és àmpliament suficient

La potència RMS (root mean square) és la potència real, no com els altres grans números que es venen com la música de watts, la potència màxima o qualsevol altra cosa)

Suposo que 1,5 watts RMS es poden vendre com a 8 watts en algunes botigues !!!!!!

Primer els components necessaris:

Junta principal:

1x Arduino Nano

1 mòdul de ràdio FM SI4703 de Sparkfun o equivalent (alimentat de 5v i I2C de 3,3V amb un jack de 3 pols que es pot utilitzar com a antena)

1x mòdul Bluetooth HC-06 (advertint que la nova versió del programari 3.0 té un conjunt d’ordres totalment diferents (he posat alguns comentaris al codi).

1 canvi de nivell de 4 canals 3,3 5 V

1x convertidor MC7805 5v CC

Condensador 1x 2200 µF 25V

2x 1N5404 díodes de 3 Amp

2x transistors 2N2222

1x resistència de 1 Kohm

Resistència 1x 47 Ohm

2 resistències de 3,3 KOhm (per a la pujada del bus I2C)

3x resistències de 330 Ohm (per a leds)

2x resistències de 6,8 KOhm

1x resistència de 3,9 KOhm

Panell frontal

1x bus LCD I2C de 20x4

Resistències de 10x 680 Ohm

1x LED vermell (ja no tenia verd !!) per a la font d'alimentació

1x LED groc per al mode de bateria

1x LED blau per a la connexió BT

4x (ON) -OFF- (ON) interruptors (com per a un vidre elèctric)

2x polsadors

1x interruptor ON / OFF

Altres components de la ràdio:

2x 100W 10CM 8 Ohm HP

1x antena extensible de 1m (al voltant de 75 cm és la bona longitud per a FM a Europa i els EUA)

1x endoll telefònic que he utilitzat per fer els contactes de la base de càrrega

1x 1N5404 díode de 3 Amp (al contacte de la bateria per evitar fum en cas d'embolicar-se amb el sòl o el contacte de 12V)

Amplificador de potència de 1 x 2X20 watts (qualsevol amplificador estèreo s’adapta sempre que sigui de 12V) basat en el TDA2020 comprat per 4 euros

1x acoblador de bateria 8XAA (per tenir un mínim de 9,6 V)

Uns contraxapats de 10 mm i 4 mm per a la caixa

Base de càrrega:

1x Alimentació 12V 3Amp

1 x voltímetre de 3 dígits / 3 cables

3 contactes (fets amb l’endoll del telèfon)

1x 1N5404 díode de 3 Ampers (al contacte de 12V)

2 interruptors de palanca (per encendre el subministrament de CA quan la ràdio es troba a la base de càrrega)

1 commutador ON / OFF (per apagar la base de càrrega si cal)

Uns contraxapats de 10 mm i 4 mm per a la base

En total, inclosa la fusta contraxapada, no supera els 70 €

Pas 1: la part de ràdio 4703

En primer lloc, una modificació:

Se suposa que el mòdul hauria d’utilitzar el cable dels auriculars com a antena, en el meu projecte no és útil, de manera que primer haurem de fer una petita modificació per connectar-nos i l’antena externa.

En aquest mòdul, la terra de la presa de 3 pols no està connectada directament a terra, sinó mitjançant una inductància (per aturar les freqüències FM) i un condensador per connectar les freqüències FM a l'entrada d'antena del SI4703.

Per tant, la millor manera és connectar directament l’antena al pin de terra del connector i soldar dos cables per a la sortida d’àudio

Imatge
Imatge

Per evitar sorolls a l’àudio (sobretot per Bluetooth), he posat el mòdul FM en una petita caixa de plàstic blindada amb cinta de coure connectada a terra

Imatge
Imatge

El protocol RDS / Radio Text:

En primer lloc, vull donar les gràcies a Nathan Seidle perquè em vaig inspirar plenament en el seu programa "TEST_FM" del juny de 2011

I, tal com es va acordar, estaré molt content de pagar-li una cervesa, si, un d'aquests dies, es perd al meu petit poble al fons de la Bretanya !!

Vaig utilitzar una gran part del seu programa, ja que no volia fer servir les biblioteques existents, que són una mica grans per al pobre espai de memòria Nano i també perquè sempre és millor aprofundir en les possibilitats d’un component bussejant directament a els registres

La principal modificació que he fet és per a l'enquesta RDS

Vaig aprofitar la possibilitat d’activar una interrupció en el pin GPI02 establint el bit RDSIEN i el valor GPIO2 a 01

Això provocarà una interrupció al pin 3 del nano

Això impedeix interrogar el registre RDS, ja que activarà el programa Radio Text només quan el grup de text de ràdio de 4 caràcters estigui disponible sense errors (mode no detallat)

Per tenir un text radiofònic complet, hem de reunir com a màxim 16 blocs de 4 caràcters (registra RDSC / RDSB del grup 2A o 2B). He posat molta informació al programa per explicar què he fet.

Aquí teniu una descripció dels registres de dades del text de ràdio (RDSSA / RDSC)

Imatge
Imatge

al registre RDSSB (bloc 2)

El valor 4 en A3 / 0 indica (grup de text)

B0 indica text A (64 caràcters) o B (32 caràcters) (mai no he vist el text B en ús ………..)

PT0 a PT4 és l'índex del grup de 4 caràcters (0 a 15)

El PT5 s'hauria d'utilitzar com a indicador de text A / B (que significa "aquest és un text nou"), però no sempre s'utilitza així segons l'estació de ràdio, de manera que no es pot utilitzar per al programa de text de la ràdio.

4 caràcters del text de ràdio es troben a RDSSC i RDSSD (bloc 3 i 4)

Us aconsello llegir el document molt interessant sobre el protocol RDS a SI4703 => AN243 dels laboratoris de Silicon

També he restablert el bit SKMODE al registre POWERCFG (vegeu el full de dades SI4703) per mantenir-me en el rang de freqüència mentre cercava canals.

La lectura de la fitxa de dades ajudarà molt a entendre el codi i tots els tractaments de registres

Pas 2: la base de càrrega

La base de càrrega
La base de càrrega
La base de càrrega
La base de càrrega
La base de càrrega
La base de càrrega

No hi ha moltes coses per afegir

Les imatges poden parlar millor.

S'acaba d'afegir un díode 1N5404 al contacte de 12 volts

1) per evitar problemes en cas que el contacte de la bateria toqui el contacte de 12 volts en posar la ràdio a la base (però mai no va passar)

2) per baixar el nivell de tensió fins a 10,8 volts (també hi ha un díode a la placa base), ja que l'MC7805 pot passar una mica de calor en passar de 12 V a 5 volts amb un corrent d'1 Amp (he cargolat un tros de ferro com a dissipador de calor) el 7805)

Vaig afegir un petit voltímetre de 3 x7 segments per indicar la càrrega de la bateria

Aquest dispositiu té 3 cables per tal de reduir el consum (més d’1 Mega Ohm al cable de mesurament) que permet mantenir la ràdio a la base OFF desactivada durant molt de temps sense descarregar la bateria

Imatge
Imatge

S’utilitzen 2 interruptors de palanca per apagar l’alimentació de CA quan la ràdio està fora de la base (per evitar tenir 12V als contactes)

Imatge
Imatge

La caixa està feta amb fusta contraxapada (abans de pintar a la imatge) us deixo imaginar com fer una bella caixa ja que la meva no és molt sexy !!!!!

Em va sorprendre molt, però la base de càrrega funciona bé i mai vaig fumar mentre hi posava la ràdio ……..

Pas 3: la caixa

La Caixa
La Caixa
La Caixa
La Caixa
La Caixa
La Caixa
La Caixa
La Caixa

Suposo que a qualsevol li agradaria fer el que vulgui seguint les seves capacitats artístiques !!!!!

De totes maneres, explicaré en breu com podria construir alguna cosa que sembli terriblement una caixa d'eines

La part davantera i la posterior es tallen en contraxapat de 4 mm de 15x45 cm

la part superior i inferior són de fusta contraxapada de 10 mm de 15x45 cm

Els laterals i les 2 particions internes (2 2 places per a HP i els components del mig) són de fusta contraxapada de 10 mm de 13x13 cm

Al tauler frontal vaig fer 2 forats de 10 x 10 cm per a l’HP i un forat quadrat de 14 x 14 per inserir el vidre orgànic de 15 x 15 2 mm que vaig pintar de negre (afegint després de pintar-hi un adhesiu imprès transparent, però no es pot llegir tan a causa del negre color darrere)

He fet 2 forats a la part superior:

un per al potenciòmetre de l'amplificador de potència (per ajustar el nivell si cal) i també, com a potència de calor

un altre per a l'antena

al tauler posterior vaig fer 2 forats:

Un per al connector USB (connecteu directament el nano)

Un de 16 mm per a la refrigeració per aire (el forat de 14 mm del potenciòmetre de la potència de l'amplificador de la sortida de refrigeració per aire superior)

el mànec està fabricat amb un tub de coure de 12 mm pintat de negre

Tots els components de la imatge de dalt es troben al compartiment central (més tard vaig haver de posar les bateries al compartiment HP esquerre perquè estava massa a prop del mòdul HC06 BT del compartiment principal)

Això és

Per descomptat, hi deu haver alguna cosa més sexy !!!!!

Pas 4: la part Arduino (esquemes i codi)

Vaig intentar posar tota la informació possible als comentaris del programa.

Alguna informació més

Tant el procediment Bluetooth com el procediment de commutació utilitzen el procediment Decode_TXT

ambdós procediments utilitzen algunes paraules clau

v + => per augmentar el volum

v- => baixar

f + => per augmentar la freqüència d’un pas de 100 Khz

f- => disminuir

su + => cerca

sd - => buscar

prefu => augmenta el número de canal preseleccionat

prefd => disminuir

hola => enviada per l'aplicació Android durant la connexió bluetooth, el codi torna a enviar l'estat de la ràdio

bye => enviat per l'APP quan BT es desconnecta

pow => enviat per la ràdio a l'aplicació en mode de subministrament d'energia (a la base de càrrega)

bat => quan es troba en mode bateria

lb => s'envia quan el nivell de la bateria és massa baix (al voltant de 8 volts)

La comunicació Bluetooth està assegurada mitjançant un bucle de control:

Cada vegada que la ràdio FM envia informació, s’inicia un temporitzador esperant la resposta “correcta” de l’APP per a Android

en cas de 3 errors (el temporitzador ha caducat), la ràdio talla l'enllaç BT. (això també talla l'enllaç del costat d'Android)

Per una altra banda

Quan l'App envia una ordre, espera la resposta de la ràdio per enviar una altra ordre.

El procediment get_RT s'inicia quan s'estableix el senyalador RDS (després d'una interrupció al pin 3)

aquí teniu el codi (enllaç a GITHUB)

Els esquemes:

La placa principal de la ràdio FM (de fet, el SI4703 està separat en una caixa blindada):

Imatge
Imatge

El tauler frontal:

Imatge
Imatge

La base de càrrega:

Imatge
Imatge

Els enllaços als fitxers Fritzing:

Taula principal FR RADIO

Panell frontal

Base de càrrega

Pas 5: l'aplicació d'Android

L’aplicació per a Android
L’aplicació per a Android
L’aplicació per a Android
L’aplicació per a Android

Fet amb l’inventor de l’APP

aquí teniu els enllaços a GitHub

Ràdio FM aia

APK Android

L'aplicació utilitza 2 temporitzadors de rellotge:

1) per a la comunicació bluetooth (100 ms)

2) per parpellejar led de la bateria quan la càrrega ronda els 8 v (1000 ms)

Per primera vegada haureu d’aparellar el mòdul HC06 amb el vostre telèfon intel·ligent o tauleta.

Utilitzo TinyDB per desar l’adreça BT del mòdul HC06, la primera connexió s’activarà el botó d’adreça BT i haurà de triar l’HC06 a la llista (per la meva banda, he canviat el nom del mòdul HC06 a FM_RADIO)

A l’aplicació no sempre he utilitzat el percentatge per a la mida de l’element, de manera que pot ser que hi hagi problemes de distribució en funció del telèfon intel·ligent

El meu és un Galaxy Note 3, de manera que és una pantalla bastant gran …

Així que vaig passar una bona estona descobrint aquest petit però molt eficient SI4703.

I em va agradar molt escriure això instructable

Fins al meu proper projecte

Adéu!!!

Recomanat: