//#define f 1000
#include <LiquidCrystal.h>
#include <Wire.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int potenciometro = A1; // ANALOG IN: A0, Terminal intermedio del potenciómetro.
float frecuencia = 100;
float frecuencia_actual = 100;
float valor = 0;
float fre;
float fm_freq = 90;
unsigned int conv = 0;
unsigned int maximo = 0;
void setup() {
// inicio
pinMode(9, OUTPUT);
lcd.begin(16,2);
TCCR1A = 0b10000000;
TCCR1B = 0b00010001;
maximo = (16000000/(2*6245))- 1;
ICR1 = maximo;
OCR1A = maximo >> 1;
TIMSK1 = 0b00100000;
sei();
}
void loop() {
// put your main code here, to run repeatedly:
valor = analogRead(A1);
fre = map(valor, 0, 1023, 0, 560);
frecuencia = 70 + fre / 10;
if (frecuencia != frecuencia_actual) {
//fmtx_set_freq(frecuencia);
frecuencia_actual = frecuencia;
lcd.clear();
//lcd.clear(); // Borra pantalla
lcd.setCursor(0,0); // Inicio del cursor
lcd.print("Frec.:");
lcd.print(frecuencia);
lcd.print(" MHz");
lcd.setCursor(0,1); // Inicio del cursor
lcd.print("................");
delay(500);
lcd.setCursor(0,1); // Inicio del cursor
lcd.print("...LOCK OK....");
delay(500);
lcd.setCursor(0,1); // Inicio del cursor
lcd.print("Po:");
lcd.print("6,7W");
lcd.setCursor(9,1); // Inicio del cursor
lcd.print("Pr:");
lcd.print("0,2W");
}
}
ISR (TIMER1_CAPT_vect)
{
//conv = analogRead(A0);
//conv = map(conv, 0, 1023, 0, maximo);
conv = 636;
OCR1A = conv;
}