Arduino ile FM Radyo Yapalım

Arduino FM Radyo Parça Listesi

Ürünlerin tamamını tek seferde satın almak isterseniz bu linki kullanabilirsiniz. (NOT: Stokta olmayan ürünler sepete eklenmemektedir, lütfen buradaki liste ile karşılaştırarak kontrol ediniz.)

Ayrıca bu projeyi yaptıktan sonra radyoyu dinleyebilmek için bir kulaklık ya da hoparlöre ihtiyacınız olacaktır. Eğer hoparlörünüzü de kendiniz yapmak isterseniz Kendin Yap – Mini Hoparlör Kiti isimli ürünü de inceleyebilirsiniz.

TEA5767 FM Radyo Modülü:

Bu projemizde kullanacağımız en önemli parça, TEA5767 stereo FM radyo modülüdür.

TEA5767_1760__39347.1383332101.1280.1280

NXP Semiconductor (Philips) tarafından üretilen bu entegre, I2C haberleşmeye sahiptir. Böylelikle Arduino veya Raspberry Pi gibi popüler geliştirme kartları ile sorunsuzca kullanılabilir. Detaylı olarak incelemek isterseniz entegrenin datasheet’ine başvurabilirsiniz. Bu modül, oldukça küçük boyutludur ve bağlantı bacakları breadboard’lar ile uyumlu değildir. Bu sebepten dolayı piyasada çok sayıda bu entegrenin kolay prototiplenmesi için hazır halde modül bulunmaktadır. Bizim sitemizde yer alan modül, üzerinde ek olarak TDA1308 amfi entegresi ve kulaklık ile anten bağlantıları sayesinde oldukça pratik bir kullanıma sahiptir.

tea5767-fm-stereo-radio-module-12391-54-B[1]

FM Modülünün Arduino’ya Bağlantısı:

fm_radio_bb

Not: Kullandığım çizim programında FM modülünün birebir aynısını bulamadığım için modül ile Arduino’nun bağlantıları temsilidir. Radyo modülü kartında 4 adet pin bulunmaktadır. Bu pinleri şu şekilde Arduino’muza bağlıyoruz:

Modül -> Arduino

VCC -> 5V

GND -> GND

SDA -> SDA (veya UNO’da A4)

SCL -> SCL (veya UNO’da A5)

Arduino Programı:

Bu projede Arduino, TEA5767 modülüne I2C üzerinden haberleşerek dinlemek istediğimiz radyo istasyonunun frekansını gönderiyor. Ayrıca frekansı görebilmemiz için LCD üzerine seçilen frekansı yazıyor. I2C haberleşme kullanacağımız için Wire.h kütüphanesine ve LCD için LiquidCrystal.h kütüphanesine ihtiyacımız olduğundan kodumuzun en başında bu dosyaları eklememiz gerekiyor.

Frekans seçimini, orta pini A0’a bağlı olan potansiyometreyi çevirerek yapıyoruz. Diğer potansiyometre, LCD’nin kontrastını ayarlayabilmemiz için.

Arduino’ya yükleyeceğimiz kodumuz:

#include <Wire.h>
#include <LiquidCrystal.h>

unsigned char frekansH = 0;
unsigned char frekansL = 0;

unsigned int frekansB;
double frekans = 0;

static char frekans_ekran[15];

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
  Wire.begin();
  lcd.begin(16, 2);
  frekans = 93.0;
  frekansAyarla();
  lcd.setCursor(3, 0);
  lcd.print("FM Radyo");
}

void loop()
{
  int reading = analogRead(0);
  frekans = ((double)reading * (108.0 - 87.5)) / 1024.0 + 87.5;
  frekans = ((int)(frekans * 10)) / 10.0;
  frekansAyarla();
  dtostrf(frekans, 6, 2, frekans_ekran);
  lcd.setCursor(4, 1);
  lcd.print(frekans_ekran);
}

void frekansAyarla()
{
  frekansB = 4 * (frekans * 1000000 + 225000) / 32768;
  frekansH = frekansB >> 8;
  frekansL = frekansB & 0XFF;
  delay(100);
  Wire.beginTransmission(0x60);
  Wire.write(frekansH);
  Wire.write(frekansL);
  Wire.write(0xB0);
  Wire.write(0x10);
  Wire.write((byte)0x00);
  Wire.endTransmission();
  delay(100);
}

https://arduinohocam.com/

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir