Sommario:
- Passaggio 1: la parte radio 4703
- Passaggio 2: la base di ricarica
- Passaggio 3: la scatola
- Passaggio 4: la parte Arduino (schemi e codice)
- Passaggio 5: l'app per Android
Video: Radio FM con RDS (Radio Text), controllo BT e base di ricarica: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Buongiorno, Questo è il mio secondo "Instructables". Dato che mi piace fare cose poco utili, ecco il mio ultimo progetto:
Questa è una radio FM con Radio Text con una base di ricarica e che può essere monitorata tramite Bluetooth e un'APP Android
Pertanto ti presenterò, la parte Arduino, la parte Radio Text e poi la parte dell'inventore dell'app MIT (Questo è l'unico modo in cui sono abbastanza esperto per costruire e APP Android)
Con una tensione di alimentazione di 10,8 volt con alimentazione CA e 9,6 con batteria, la potenza massima è 2x 1,5/1,25 watt RMS che è ampiamente sufficiente
La potenza RMS (root mean square) è la potenza reale non come gli altri grandi numeri che vengono venduti come musica in watt o potenza di picco o qualsiasi altra cosa)
Immagino che 1,5 Watt RMS possano essere venduti come 8 Watt in alcuni negozi!!!!!!
Innanzitutto i componenti necessari:
Scheda principale:
1x Arduino Nano
1x modulo radio FM SI4703 di Sparkfun o equivalente (alimentato da 5 V e I2C da 3,3 V con un jack a 3 poli che può essere utilizzato come antenna)
1x modulo Bluetooth HC-06 (attenzione che la nuova versione software 3.0 ha un set di comandi completamente diverso (ho inserito alcuni commenti nel codice).
1x traslatore di livello a 4 canali 3.3 5 V
1x convertitore MC7805 5v CC
1x condensatore da 2200 µF 25 V
2x 1N5404 diodi da 3 Amp
2x transistor 2N2222
1x resistenza da 1Kohm
1x resistenza da 47 Ohm
2 resistenze da 3,3 KOhm (per pull-up bus I2C)
3 resistenze da 330 Ohm (per i led)
2 resistenze da 6,8 KOhm
1x resistenza da 3,9 KOhm
Pannello frontale
1x 20X4 LCD bus I2C
Resistori 10x 680 Ohm
1x LED rosso (non avevo più verde!!) per l'alimentatore
1x LED giallo per la modalità batteria
1x LED blu per la connessione BT
Interruttori 4x (ON)-OFF-(ON) (come per un finestrino elettrico)
2x pulsanti
1x interruttore ON/OFF
Altri componenti per la Radio:
2x 100W 10CM 8 Ohm HP
1x antenna estensibile da 1 m (circa 75 cm è la lunghezza buona per FM in Europa e negli Stati Uniti)
1x presa telefonica che ho usato per fare i contatti per la base di ricarica
1x 1N5404 diodo 3 Amp (sul contatto della batteria per evitare fumo in caso di pasticcio con la terra o contatto 12V)
1x Amplificatore di potenza 2X20 watt (qualsiasi amplificatore stereo si adatta finché è 12V) basato su TDA2020 acquistato per 4 Euro
1x accoppiatore batteria 8XAA (per avere min 9.6V)
Alcuni compensato da 10 mm e 4 mm per la scatola
Base di ricarica:
1x alimentatore 12V 3Amp
1x voltmetro piccolo a 3 cifre/3 fili
3 contatti (realizzati con presa telefonica)
1x 1N5404 diodo 3 Amp (sul contatto 12V)
2 interruttori a leva (per alimentare l'alimentazione AC quando la radio è sulla base di ricarica)
1x interruttore ON/OFF (per spegnere la base di ricarica se necessario)
Alcuni compensato da 10 mm e 4 mm per la base
Complessivamente, compreso il compensato non è più di 70€
Passaggio 1: la parte radio 4703
Innanzitutto, una modifica:
Il modulo dovrebbe utilizzare il cavo dell'auricolare come antenna, nel mio progetto non è utile, quindi dovremo prima fare una piccola modifica per collegare un'antenna esterna
In questo modulo la terra del jack a 3 poli non è collegata direttamente a terra ma tramite un'induttanza (per fermare le frequenze FM) e un condensatore per collegare le frequenze FM all'ingresso dell'antenna dell'SI4703.
Quindi il modo migliore è collegare direttamente l'antenna al pin di terra del jack e saldare due cavi per l'uscita audio
Per prevenire eventuali rumori nell'audio (soprattutto da Bluetooth), ho messo il modulo FM in una piccola scatola di plastica schermata con nastro di rame collegato a terra
Il protocollo RDS/Radio Text:
Innanzitutto, voglio ringraziare Nathan Seidle perché sono stato completamente ispirato dal suo programma "TEST_FM" di giugno 2011
E, come d'accordo, sarò ben lieto di dargli una birra, se uno di questi giorni si perderà nel mio paesino nel profondo della Bretagna!!
Ho usato molto il suo programma perché non volevo usare le librerie esistenti che sono un po' grandi per lo scarso spazio di memoria Nano e anche perché è sempre meglio approfondire le possibilità di un componente immergendosi direttamente i registri
La modifica principale che ho apportato riguarda il polling RDS
Ho sfruttato la possibilità di attivare un interrupt sul pin GPI02 impostando il bit RDSIEN e il valore GPIO2 su 01
Questo attiverà un interrupt sul pin 3 del nano
Ciò impedisce il polling del registro RDS in quanto attiverà il programma Radio Text solo quando il gruppo di 4 caratteri del radiotext è disponibile senza errori (modalità non verbose)
Per avere un radiotext completo, dobbiamo raccogliere al massimo 16 blocchi di 4 caratteri (registri RDSC/RDSB del gruppo 2A o 2B). Ho inserito molte informazioni nel programma per spiegare cosa ho fatto.
Ecco una descrizione dei Registri dati per il testo radio (RDSSA/RDSC)
nel registro RDSSB (blocco 2)
Il valore 4 in A3/0 indica (gruppo di testo)
B0 indica il testo A (64 caratteri) o B (32 caratteri) (non ho mai visto il testo B in uso………..)
Da PT0 a PT4 è l'indice del gruppo di 4 caratteri (da 0 a 15)
PT5 dovrebbe essere usato come indicatore di testo A/B (che significa "questo è un nuovo testo") ma non è sempre usato in questo modo a seconda della stazione radio, quindi non è utilizzabile per il programma di testo radio.
4 caratteri del testo radio sono in RDSSC e RDSSD (blocco 3 e 4)
Ti consiglio di leggere l'interessantissimo documento riguardante il protocollo RDS in SI4703 =>AN243 di Silicon labs
Ho anche resettato il bit SKMODE nel registro POWERCFG (vedi scheda tecnica SI4703) per rimanere nel range di frequenza durante la ricerca dei canali
Leggere datashhet aiuterà molto a capire il codice e tutte le manipolazioni dei registri
Passaggio 2: la base di ricarica
Non ci sono molte cose da aggiungere
Le immagini possono parlare meglio.
Ho appena aggiunto un diodo 1N5404 sul contatto da 12 volt
1) per evitare problemi nel caso in cui il contatto della batteria tocchi il contatto a 12 volt quando si mette la radio sulla base (ma non è mai successo)
2) abbassare il livello di tensione a 10,8 volt (c'è anche un diodo sulla scheda madre) in quanto l'MC7805 può diventare un po' caldo quando si passa da 12V a 5 volt con 1 Amp di corrente (ho avvitato un pezzo di ferro come dissipatore il 7805)
Ho aggiunto un piccolo voltmetro a 3 x 7 segmenti per indicare il carico della batteria
Questo dispositivo è a 3 fili per abbassare il consumo (più di 1 Mega Ohm sul filo di misura) che permette di mantenere la radio sulla base spenta a lungo senza scaricare la batteria
2 interruttori a leva sono utilizzati per spegnere l'alimentazione AC quando la radio è spenta dalla base (per evitare di avere 12V sui contatti)
La scatola è realizzata in compensato (prima di dipingere sulla foto) vi lascio immaginare come realizzare una bella scatola visto che la mia non è molto sexy!!!!!
Sono rimasto molto sbalordito ma la base di ricarica funziona bene e non ho mai fumato durante l'atterraggio della radio………….
Passaggio 3: la scatola
Immagino che chiunque dovrebbe voler fare come vuole seguendo le sue capacità artistiche!!!!!
Ad ogni modo ti spiegherò a breve come potrei costruire qualcosa che assomigli terribilmente a una cassetta degli attrezzi
Anteriore e posteriore sono tagliati in compensato da 4 mm 15x45 cm
la parte superiore e inferiore sono in compensato da 10 mm 15x45 cm
I fianchi e le 2 pareti divisorie interne (2 2 posti per HP e i componenti in quello centrale) sono in multistrato 10 mm 13x13 cm
Sul pannello frontale ho fatto dei fori 2x10 cm per l'HP e un foro quadrato 14x14 per inserire il vetro organico 15x15 2mm che ho dipinto di nero (aggiungendo dopo aver dipinto un adesivo stampato trasparente, ma non è così leggibile a causa del nero colore dietro)
Ho fatto 2 fori sulla parte superiore:
uno per il potenziometro del Power Amp (per regolare il livello se necessario) e anche come potenza termica
un altro per l'antenna
sul pannello posteriore ho fatto 2 fori:
Uno per la presa USB (collegare direttamente il nano)
Uno da 16 mm per il raffreddamento ad aria (il foro da 14 mm del potenziometro dell'amplificatore di potenza è l'uscita di raffreddamento ad aria superiore)
il manico è costituito da un tubo di rame da 12 mm verniciato in nero
Tutti i componenti della foto sopra trovano posto nel vano centrale (poi ho dovuto mettere le batterie nel vano HP sinistro perché era troppo vicino al modulo HC06 BT nel vano principale)
Questo è tutto
Ovviamente ci deve essere qualcosa di più sexy!!!!!
Passaggio 4: la parte Arduino (schemi e codice)
Ho cercato di inserire più informazioni possibili nei commenti del programma.
Qualche informazione in più
La procedura Decode_TXT viene utilizzata sia dalla procedura Bluetooth che dalla procedura switch
alcune parole chiave sono usate da entrambe le procedure
v+ => per aumentare il volume
v- => abbassare
f+ => per aumentare la frequenza di un passo di 100 Khz
f- => diminuire
su+=> cerca su
sd-=> cerca in basso
prefu => aumentare il numero del canale preselezionato
prefd => diminuire
ciao => inviato dall'APP Android durante la connessione bluetooth, il codice restituisce lo stato della radio
bye => inviato dall'APP quando BT si disconnette
pow => inviato dalla radio all'App in modalità alimentazione (sulla base di ricarica)
bat => in modalità batteria
lb => inviato quando il livello della batteria è troppo basso (circa 8 volt)
La comunicazione Bluetooth è protetta da un circuito di controllo:
Ogni volta che la radio FM invia un'informazione, viene avviato un timer in attesa della risposta "ok" da parte dell'APP Android
in caso di 3 errori (timer scaduto) il collegamento BT viene interrotto dalla Radio. (questo taglia anche il collegamento lato Android)
Dall'altro lato
Quando l'App invia un comando, attende la risposta dalla radio per inviare un altro comando.
La procedura get_RT viene lanciata quando il flag RDS è impostato (dopo un interrupt sul pin 3)
ecco il codice (link a GITHUB)
Gli schemi:
La scheda madre della radio FM (infatti la SI4703 è a parte in una scatola schermata):
Il pannello frontale:
La base di ricarica:
I collegamenti ai file Fritzing:
Scheda principale RADIO FR
Pannello frontale
Base di ricarica
Passaggio 5: l'app per Android
Realizzato con l'inventore dell'APP
ecco i link a GitHub
Radio FM aia
APK Android
L'app utilizza 2 timer:
1) per la comunicazione bluetooth (100ms)
2) per il lampeggio del led della batteria quando il carico è di circa 8 v (1000ms)
Per la prima volta dovrai associare il modulo HC06 al tuo smartphone o tablet.
Uso TinyDB per salvare l'indirizzo BT del modulo HC06, alla prima connessione verrà abilitato il pulsante BT address e dovrai scegliere l'HC06 nella lista (da parte mia, ho rinominato il modulo HC06 in FM_RADIO)
Nell'App non ho sempre usato la percentuale per la dimensione dell'elemento, quindi potrebbero esserci problemi di visualizzazione a seconda dello smartphone
Il mio è un Galaxy note 3 quindi schermo piuttosto grande……..
Così mi sono divertito a scoprire questo SI4703 piccolo ma molto efficiente.
E mi è piaciuto molto scrivere questo tutorial
Fino al mio prossimo progetto
Arrivederci!!!
Consigliato:
Progettazione di acquari con controllo automatico dei parametri di base: 4 passaggi (con immagini)
Progettazione di acquari con controllo automatizzato dei parametri di base: IntroduzioneOggi, la cura dell'acquario marino è disponibile per ogni acquariofilo. Il problema dell'acquisizione di un acquario non è difficile. Ma per il pieno supporto vitale degli abitanti, protezione da guasti tecnici, manutenzione e cura facili e veloci
Bolt - Orologio notturno con ricarica wireless fai-da-te (6 passaggi): 6 passaggi (con immagini)
Bolt - Orologio notturno con ricarica wireless fai-da-te (6 passaggi): la ricarica induttiva (nota anche come ricarica wireless o ricarica senza fili) è un tipo di trasferimento di potenza wireless. Utilizza l'induzione elettromagnetica per fornire elettricità ai dispositivi portatili. L'applicazione più comune è la stazione di ricarica wireless Qi
Illuminazione d'accento della base di ricarica Logitech MX-Revolution: 6 passaggi
Illuminazione d'accento della base di ricarica Logitech MX-Revolution: questo tutorial ti spiegherà come aggiungere facilmente l'illuminazione d'accento al tuo dock di ricarica Logitech MX Revolution. Materiale necessario: trapano-Utilizzare un trapano con almeno 1000 giri/min. Un trapano più lento ti darà levigatura / lucidatura irregolari Punte da trapano: ho usato un 1/8
Ricarica di SLA (batteria al piombo sigillata), come la ricarica di una batteria per auto: 6 passaggi
Ricarica di SLA (batteria al piombo sigillata), come la ricarica di una batteria per auto: qualcuno dei tuoi SLA si è prosciugato? Hanno poca acqua? Bene, se hai risposto sì a una di queste domande, questo Instructable è per te DISCLAIMERI NON SI ASSUME ALCUNA RESPONSABILITÀ PER NESSUNA VERSAMENTO DI ACIDO DELLA BATTERIA, LESIONI, RIEMPIMENTO DI UN BUON SLA ECC
Una doppia base di ricarica per iPod e telefono cellulare: 4 passaggi
Una doppia base di ricarica per iPod e telefono cellulare: pochi giorni fa la mia macchina per il caffè istantaneo non riusciva più a fare il caffè, quindi ho demolito il corpo. Ho preso tutte le parti utili come interruttore, cavo, alcune parti del motore. Il corpo in plastica era pronto per essere buttato via quando mia moglie mi ha regalato un touch pod di seconda generazione. Così io