Radyo belki günümüz için eski bir teknoloji sayılmakta, fakat bizden önceki nesillerin tek haber ve eğlence kaynağının bu radyolar olduğu bir zaman da vardı. Belki o eski zamanlardan kalan bir lambalı radyoya rastlamışsanız, o cihazların ne kadar saygı duyulan büyük nesneler olduğunu anlayabilirsiniz. Günümüzde ise FM radyo, tırnağımız büyüklüğünde bir entegreye kadar küçülmüş durumda. Belki o zamanların sihri hala radyoda bulunmuyor ama, kendimiz yapacağımız radyomuzla bir şeyler üretmenin ve öğrenmenin heyecanını hala yaşayabiliriz 🙂

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

Bu adımdan sonrası ise modülümüze anten ve kulaklık/hoparlör bağlantısını yapmak. Potansı çevirerek istediğimiz radyo kanalına ayarlayabilir, kendi yaptığımız radyomuzun keyfini çıkarabiliriz. #ÜretmektenKorkma

8 Yorumlar

  1. Proje güzel çalışıyor. Teşekkürler. Fakat istasyona geldiğimiz zaman son bir dijit aşağı veya yukarı kayıyor. Sabit kalmıyor. Neden olabilir bşr fikriniz var mı? Teşekkür ederim

    • Merhabalar, bahsettiğiniz problem kullandığınız potansiyometrenin hassasiyeti ile alakalı olabilir. Daha yüksek direnç değerine sahip bir potansiyometre ile deneyebilirsiniz.

CEVAP VER