Make an Arduino FM Radio! (using TEA5767)
Содержание
- Introduction: Make an Arduino FM Radio! (using TEA5767)
- Step 1: Block Diagram Connections.
- Step 2: Arduino Program Libraries
- Step 3: Final Pictures!
- 1 Person Made This Project!
- Recommendations
- 27 Comments
Introduction: Make an Arduino FM Radio! (using TEA5767)
Hi guys from Instructables, In this tutorial i’ll show you how to make a FM digital Radio easily using arduino uno (or any other arduino board), and the TEA5667 Fm Radio module, and audio amplifier and a LCD 16X2.
Step 1: Block Diagram Connections.
First, the part list of needed electronic components:
-Arduino UNO, or any other similar board friendly with the arduino enviroment.
-TEA5767 FM Radio module
-2 Buttons Normally open (NA) or push buttons
-330 ohms resistor
-2x 10 k ohms reisistor
-Switch for to power on the radio
-Led(as a power on indicator).
-A free weekend or day 🙂
Step 2: Arduino Program Libraries
*First you’ll need to install the librarys on the arduino IDE and later compile and upload the program*
The code in text is here:
Attachments
Step 3: Final Pictures!
Here some nice pictures and teh radio with the shield totally functional!
*Remember to use an a good audio amplifier for the output of the TEA5767 FM Radio Module
*Vcc= 3.3 TO 5 Volts maximun for the power of the TEA5767 Radio Module
*To use a good onmidirectional antenna
*The radio doesn’t have an automatic searh for the FM stations but it’s modifficable by the program
1 Person Made This Project!
Did you make this project? Share it with us!
Recommendations
Organization Contest
Unusual Uses Contest
Micro:bit Contest
27 Comments
Thank you Erik.
I am successful with a Nano.
Cheers.
Had a few questions, I’m a beginner. On the far right with the black and red leads petruding, is this a speaker, if so what version did you use? I am unsure how wire junctions work, what I mean for example the red lead out of the left potentiometer/button, one path goes upwards and one path downwards towards the uno board, how do I make these junctions? Where is the switched you used, its in the final picture but not on the diagram, I cannot see it? And finally what is the device you used connected to the pink wire?
Question 1 year ago
What did you use to power the radio?
This is the best idea ever. But the library.zip doesn’t work. Hope you fix that!! In the meantime, I used a bunch of random libraries!
Reply 1 year ago
I don’t know but you might need to unzip it.
Question 1 year ago
Hi, cool project, i downloaded the code and it will not compile in the arduino software, i have all the libraries needed but still wont compile, anyone else have this problem.
Hello Sir, Thank you for your guide and sir question, where is the volume control?
Reply 1 year ago
From input modul amfli
Dear Erik. Nice project. I am newbie in Arduino and have some questions: 1- where is the 330 ohms resistor in the diagram? 2- there is a potensiometer in the diagram, what is the resistance of it? It should be change the frequency, right? but I do not see it in the final picture. Many thanks.
Question 2 years ago
I need to add Stereo indicator to the lcd to identify Mono Stereo radio stations. Im new to programming. Can someone help me with this?
// update code for RDA5807M
#include radio.h
#include Wire.h
#include RDA5807M.h
#include LiquidCrystal.h
#define FIX_VOLUME 10
RDA5807M radio = RDA5807M();
//RDA5807M radio;
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
float frequency = 0;
int fUP = A0;
int fDOWN = A1;
int count = 0;
void setup() <
delay(1000);
Wire.begin();
frequency = 87.0; //starting frequency
radio.setFrequency(frequency);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("FM: ");
lcd.setCursor(0, 1);
lcd.print(frequency); lcd.print("Mhz");
>
void loop() <
if (digitalRead(fUP))
<
count = 0;
while (digitalRead(fUP))
<
count++;
if (count 0 count = 6)
<
frequency += 0.1;
frequencyUpdate();
delay(200);
>
else if (count 6 count = 2)
<
frequency += 0.1;
frequencyUpdate();
delay(80);
>
else
<
frequency += 0.1;
frequencyUpdate();
delay(5);
>
>
>
if (digitalRead(fDOWN))
<
count = 0;
while (digitalRead(fDOWN))
<
count—;
if (count 0 count = -6)
<
frequency -= 0.1;
frequencyUpdate();
delay(200);
>
else if (count -6 count = -12) <
frequency -= 0.1;
frequencyUpdate();
delay(80);
>
else <
frequency -= 0.1;
frequencyUpdate();
delay(5);
>
>
>
>
//this function changes the frequency of the station, is called by preset and frequency up/down conditions.
void frequencyUpdate()
<
frequency = constrain(frequency, 87.0, 108.0);
lcd.setCursor(0, 0);
lcd.print("Radio Search:");
lcd.setCursor(0, 1);
lcd.print(frequency); lcd.print("Mhz");
radio.setFrequency(frequency);
>
Question : What is the pink wire from the lcd board connected to. Thanks
Reply 2 years ago
for to adjust the potentiometer resistance,
Question: say youre putting left and right audio to an amp, would you run one of the ground pins to the audio input on the amp?
Reply 3 years ago
you can make a mono amp with stereo output, only yopu have to do is solder a 10 ohm resistor to each output of the TEA5767 and solber both terminals to a single audio mixed output in a mono amp
Reply 4 years ago
If the amp is stereo you can connect each wire to each channel, but if you amp is mono put a 10 ohms resistor on the output of thr two channels and solder it together
Reply 4 years ago
I ended up figuring it out it was a silly question i should have known since ive built many amps from scratch.
Origionally i could not get this sketch to work but its because i was not using the right pins for sda and scl (i had an ardruino mega). I tried 4 other sketches before i found that out then got other ones to work but ultimately went back to your design and it is by far the best and cleanest signal with your code ! Im working on making an fm radio with aux and bluetooth and also display time and temp/humidity on the lcd (although im not sure how to code in all the screen changes). Thanks for this tutorial !
Источник: