//Programa: Radio FM com modulo TEA5767
//Autor: Arduino e Cia
#include <Wire.h>
#include <TEA5767Radio.h>
#include <LiquidCrystal_I2C.h>
TEA5767Radio radio = TEA5767Radio();
double frequencia = 87.5;
double frequencia_ant = 87.5;
LiquidCrystal_I2C lcd(0x27, 16,2);
void setup()
{
Serial.begin(9600);
Wire.begin();
//Informacoes iniciais
lcd.init();
lcd.setCursor(0, 0);
lcd.print("Arduino FM Radio");
Serial.println("Arduino FM Radio ");
}
void loop()
{
//Le as informacoes do potenciometro
int valor_pot = analogRead(A0);
//Calcula a nova frequencia
frequencia = ((double)valor_pot * (108.0 - 87.5)) / 1024.0 + 87.5;
frequencia = ((int)(frequencia * 10)) / 10.0;
//Caso a frequencia seja alterada, efetua a mudanca e
//mostra as novas informacoes no display
if (frequencia_ant != frequencia)
{
lcd.setCursor(0, 1);
lcd.print("Freq: ");
lcd.setCursor(6, 1);
lcd.print(" MHz");
lcd.setCursor(6, 1);
lcd.print(frequencia, 1);
Serial.print("Frequencia: ");
Serial.println(frequencia);
radio.setFrequency(frequencia);
frequencia_ant = frequencia;
}
}