Nell’articolo di oggi vedremo come realizzare una vera e propria radio su cui ascoltare le varie stazioni radio utilizzando una board Arduino Nano, un TEA5767, due bottoni, un display e delle casse.
Prima di cominciare con il progetto vero e proprio vediamo come funziona il modulo TEA5767.
Con questo modulo abbiamo modo di costruire un ricevitore radio. Inoltre è dotato di un amplificatore audio ( basato sull’integrato TDA1308 ) in grado di pilotare qualsiasi cuffia stereo o un amplificatore BF esterno. La comunicazione con i vari microcontrollori avviene attraverso il BUS I2C.
Con questa breve panoramica sul modulo TEA5767 vediamo quali sono le componenti da utilizzare per questo progetto:
- Arduino (va bene qualsiasi)
- 2x bottoni
- Modulo FM Radio TEA5767
- Display LCD 16×02
- Vari jumper
Video
Ecco qui il diagramma di collegamento
Ecco qui il codice
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
//------------------------- //TEA5767 FM Radio Receiver //------------------------- #include <Wire.h> #include <TEA5767N.h> #include <LiquidCrystal.h> //------------------------------------------- TEA5767N radio = TEA5767N(); LiquidCrystal lcd(3, 4, 5, 6, 7, 8); //------------------------------------------- float station[] = {101.3,107.9,91.1,104.5}; int i=0, numStations = *(&station+1)-station; boolean powerOnOff = false, muteAudio = false; //=============================================================== void setup() { pinMode(9,INPUT); pinMode(13,INPUT); radio.setStereoNoiseCancellingOn(); lcd.begin(16, 2); lcd.clear(); attachInterrupt(0, ISR_powerOnOff, RISING); } //=============================================================== void loop() { if(powerOnOff == false) { lcd.setCursor(0, 0); lcd.print("TEA5767 FM Radio"); lcd.setCursor(0, 1); lcd.print("Power OFF"); radio.setStandByOn(); } if(powerOnOff == true) { lcd.setCursor(0, 0); lcd.print("Power ON"); lcd.setCursor(0, 1); lcd.print("Select Station"); radio.setStandByOff(); radio.mute(); } //------------------------------------------- while(powerOnOff) { if(digitalRead(9) == HIGH) changeStation(); if(digitalRead(13) == HIGH) muteStatus(); } } //=============================================================== void changeStation() { radio.turnTheSoundBackOn(); radio.selectFrequency(station[i]); lcd.clear(); delay(200); if(radio.isStereo()==1) lcd.print("FM Stereo"); if(radio.isStereo()==0) lcd.print("FM Mono"); lcd.setCursor(0, 1); lcd.print(radio.readFrequencyInMHz()); lcd.setCursor(6, 1); lcd.print("MHz"); lcd.setCursor(10,1); lcd.print("SL:"); lcd.print(radio.getSignalLevel()*100/15); lcd.setCursor(15,1); lcd.print("%"); i++; if(i == numStations) i = 0; } //=============================================================== void ISR_powerOnOff() { powerOnOff = !powerOnOff; lcd.clear(); } //=============================================================== void muteStatus() { delay(200); muteAudio = !muteAudio; if(muteAudio == true) radio.mute(); else radio.turnTheSoundBackOn(); } |
Potete ora caricare il codice sul vostro microcontrollore, premendo un tasto avrete modo di accendere la radio e con l’altro di cambiare le stazioni radio. Se modificate la riga contenente le frequenze sarete in grado di selezionare stazioni radio diverse e magari inserirci le vostre stazioni preferite.
Questo progetto è possibile realizzarlo con qualsiasi altra scheda e microcontrollore, basta che modificate i pin che definiscono il display e bottoni e tutto funzionerà normalmente.
Collegando le casse potete poi ben vedere che si tratta di una vera e propria radio con una qualità del segnale ottima (tradotto che si ha modo di avere un ascolto “pulito)
Seguiteci qui sul Blog, che sul nostro canale YouTube per non perdevi nessuna novità riguardante il mondo maker, arduino e Raspberry
Iscriviti ai nostri gruppi Telegram
Link utili
- Arduino UNO R3
- Elegoo UNO R3
- Arduino Starter Kit per principianti
- Elegoo Advanced Starter Kit
- Arduino Nano
Salve, mi è piaciuto moltissimo il tuo progetto di Radio FM, Vorrei chiedere se fosse possibile inviare il segnale audio in uscita dalla radio tramite bluetooth ad un altoparlante anch’esso bluetooth, e come si potrebbe fare. Grazie
Un’idea potrebbe essere quella di indirizzare l’audio alle casse bluetooth dallo jack audio 3.5 tramite un apposito ricevitore/trasmettitore bluetooth.
Buongiorno bellissimo progetto complimenti, vorrei realizzarlo.
Dove posso trovare la libreria TEA5767N necessaria al funzionamento?
Grazie
https://github.com/mroger/TEA5767
Salve, ho seguito tutti i passaggi ma purtroppo non funziona, si accende tutto però non compare scritto niente.