Make an Arduino FM Radio! (using TEA5767)

Содержание

license

Introduction: Make an Arduino FM Radio! (using TEA5767)

¡BUILD AN AM RADIO RECEIVER!

BUILD a SMD 7805 PCB REGULATOR

Make the Smallest LM386 Amplifier Module

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

Arduino Contest 2016

1 Person Made This Project!

  • Make an Arduino FM Radio! (using TEA5767)

Did you make this project? Share it with us!

Recommendations

*6 WAYS* to Make a Cardboard Robot Costume REALLY Robotic

Motion Galaxy Lamp

 Lighted 3D Moon Phase Clock

Vintage Mini Amp

Organization Contest

Unusual Uses Contest

Micro:bit Contest

27 Comments

thilinaaa

Thank you Erik.
I am successful with a Nano.
Cheers.

robertcanevy

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?

al615ca

Question 1 year ago

What did you use to power the radio?

Upstander123

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!

Mardav111

Reply 1 year ago

I don’t know but you might need to unzip it.

RichieC10

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.

dodoykusgan

Hello Sir, Thank you for your guide and sir question, where is the volume control?

DjawaD

Reply 1 year ago

From input modul amfli

nima_v

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.

Max _777

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?

MuaazH

// 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);
>

fm-stereo-radio-rda5807m-module-roboromania-pinout_CFyabpEr0p.jpg

MatthewH321

Question : What is the pink wire from the lcd board connected to. Thanks

9AA1E386-3E7C-44E6-A1E8-96E35AA060CD.jpeg

erik_montesdeoca

Reply 2 years ago

for to adjust the potentiometer resistance,

tclayton

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?

erik_montesdeoca

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

erik_montesdeoca

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

tclayton

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 !


Источник: www.instructables.com