#include <RDA5807.h>
#include <Wire.h>
#include <U8glib.h>
#define CH1 8910 // KBS 1FM
#define CH2 9190 // MBC FM4U
#define CH3 9390 // CBS
#define CH4 9450 // YTN
#define CH5 9510 // TBS 교통방송
#define CH6 9590 // MBC 표준FM
#define CH7 9730 // KBS 1RADIO
#define CH8 10450 // EBS
#define CH9 10770 // SBS 파워FM
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
RDA5807 rx;
int vol = 1;
int CH = 3;
int val_a0;
int val_a1;
void setup() {
rx.setup(); // Stats the receiver with default valuses. Normal operation
rx.setVolume(vol);
rx.setFrequency(CH3); // Tune on 94.5 MHz
u8g.firstPage();
do {
u8g.setFont(u8g_font_7x14);
u8g.drawStr(38, 10, "FM RADIO");
u8g.drawStr(10, 27, "CH3 : ");
u8g.setPrintPos(55, 27);
u8g.print(94.5);
u8g.drawStr(90, 27, " Mhz");
u8g.drawStr(10, 44, "Volume : ");
u8g.setPrintPos(75, 44);
u8g.print(vol);
u8g.drawStr(35, 61, " YTN");
} while ( u8g.nextPage() );
delay(100);
}
void loop() {
val_a0 = analogRead(0);
val_a1 = analogRead(1);
while (val_a0 < 200 || val_a0 > 800 || val_a1 < 200 || val_a1 > 800)
{
if (val_a0 < 200) {
CH++;
if (CH >= 9)
CH = 9;
}
else if (val_a0 > 800) {
CH--;
if (CH <= 1)
CH = 1;
}
else if (val_a1 < 200) {
vol++;
if (vol >= 10)
vol = 10;
}
else if (val_a1 > 800) {
vol--;
if (vol <= 1)
vol = 1;
}
rx.setVolume(vol);
delay(200);
if (CH == 1) {
rx.setFrequency(CH1);
u8g.firstPage();
do {
u8g.setFont(u8g_font_7x14);
u8g.drawStr(38, 10, "FM RADIO");
u8g.drawStr(10, 27, "CH1 : ");
u8g.setPrintPos(55, 27);
u8g.print(89.1);
u8g.drawStr(90, 27, " Mhz");
u8g.drawStr(10, 44, "Volume : ");
u8g.setPrintPos(75, 44);
u8g.print(vol);
u8g.drawStr(35, 61, " KBS 1FM ");
} while ( u8g.nextPage() );
break;
}
if (CH == 2) {
rx.setFrequency(CH2);
u8g.firstPage();
do {
u8g.setFont(u8g_font_7x14);
u8g.drawStr(38, 10, "FM RADIO");
u8g.drawStr(10, 27, "CH2 : ");
u8g.setPrintPos(55, 27);
u8g.print(91.9);
u8g.drawStr(90, 27, " Mhz");
u8g.drawStr(10, 44, "Volume : ");
u8g.setPrintPos(75, 44);
u8g.print(vol);
u8g.drawStr(35, 61, " MBC FM4U");
} while ( u8g.nextPage() );
break;
}
if (CH == 3) {
rx.setFrequency(CH3);
u8g.firstPage();
do {
u8g.setFont(u8g_font_7x14);
u8g.drawStr(38, 10, "FM RADIO");
u8g.drawStr(10, 27, "CH3 : ");
u8g.setPrintPos(55, 27);
u8g.print(93.9);
u8g.drawStr(90, 27, " Mhz");
u8g.drawStr(10, 44, "Volume : ");
u8g.setPrintPos(75, 44);
u8g.print(vol);
u8g.drawStr(35, 61, " CBS");
} while ( u8g.nextPage() );
break;
}
if (CH == 4) {
rx.setFrequency(CH4);
u8g.firstPage();
do {
u8g.setFont(u8g_font_7x14);
u8g.drawStr(38, 10, "FM RADIO");
u8g.drawStr(10, 27, "CH4 : ");
u8g.setPrintPos(55, 27);
u8g.print(94.5);
u8g.drawStr(90, 27, " Mhz");
u8g.drawStr(10, 44, "Volume : ");
u8g.setPrintPos(75, 44);
u8g.print(vol);
u8g.drawStr(35, 61, " YTN");
} while ( u8g.nextPage() );
break;
}
if (CH == 5) {
rx.setFrequency(CH5);
u8g.firstPage();
do {
u8g.setFont(u8g_font_7x14);
u8g.drawStr(38, 10, "FM RADIO");
u8g.drawStr(10, 27, "CH5 : ");
u8g.setPrintPos(55, 27);
u8g.print(95.1);
u8g.drawStr(90, 27, " Mhz");
u8g.drawStr(10, 44, "Volume : ");
u8g.setPrintPos(75, 44);
u8g.print(vol);
u8g.drawStr(35, 61, " TBS");
} while ( u8g.nextPage() );
break;
}
if (CH == 6) {
rx.setFrequency(CH6);
u8g.firstPage();
do {
u8g.setFont(u8g_font_7x14);
u8g.drawStr(38, 10, "FM RADIO");
u8g.drawStr(10, 27, "CH6 : ");
u8g.setPrintPos(55, 27);
u8g.print(95.9);
u8g.drawStr(90, 27, " Mhz");
u8g.drawStr(10, 44, "Volume : ");
u8g.setPrintPos(75, 44);
u8g.print(vol);
u8g.drawStr(35, 61, " MBC FM");
} while ( u8g.nextPage() );
break;
}
if (CH == 7) {
rx.setFrequency(CH7);
u8g.firstPage();
do {
u8g.setFont(u8g_font_7x14);
u8g.drawStr(38, 10, "FM RADIO");
u8g.drawStr(10, 27, "CH7 : ");
u8g.setPrintPos(55, 27);
u8g.print(97.3);
u8g.drawStr(90, 27, " Mhz");
u8g.drawStr(10, 44, "Volume : ");
u8g.setPrintPos(75, 44);
u8g.print(vol);
u8g.drawStr(35, 61, "KBS 1RADIO");
} while ( u8g.nextPage() );
break;
}
if (CH == 8) {
rx.setFrequency(CH8);
u8g.firstPage();
do {
u8g.setFont(u8g_font_7x14);
u8g.drawStr(38, 10, "FM RADIO");
u8g.drawStr(10, 27, "CH8 : ");
u8g.setPrintPos(55, 27);
u8g.print(104.5);
u8g.drawStr(90, 27, " Mhz");
u8g.drawStr(10, 44, "Volume : ");
u8g.setPrintPos(75, 44);
u8g.print(vol);
u8g.drawStr(35, 61, " EBS");
} while ( u8g.nextPage() );
break;
}
if (CH == 9) {
rx.setFrequency(CH9);
u8g.firstPage();
do {
u8g.setFont(u8g_font_7x14);
u8g.drawStr(38, 10, "FM RADIO");
u8g.drawStr(10, 27, "CH9 : ");
u8g.setPrintPos(55, 27);
u8g.print(107.7);
u8g.drawStr(90, 27, " Mhz");
u8g.drawStr(10, 44, "Volume : ");
u8g.setPrintPos(75, 44);
u8g.print(vol);
u8g.drawStr(35, 61, " SBS");
} while ( u8g.nextPage() );
break;
}
}
delay(100);
}