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

33 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.

  2. Toplu satın alma linkine tıkladığımda açıklamada tek seferde satın alma ibaresi geçmesine rağmen sadece seper açılıyor. Bu konuda yardımcı olur musunuz?
    Teşekkürler

    • Toplu olarak satın almak yerine malzemeleri sırayla tıklayarak ilgili ürüne gidebilir ve sepete ayrı olarak ekleyebilirsiniz.

  3. Kerem Bey, Projenizin bir benzerini bir bilgisayar mühendisi arkadaşım ile yaptık. sistem çalışıyor ama seste sürekli bir parazit var. Satın aldığımız radyolardaki ses rahatsız etmezken kendi yaptığımızda net ses çıkmamakta, inceden ama sürekli bir rahatsız edici altta parazit var, çoğu istasyon da çekmiyor. Bu arada iki adet 300 wattlık hoparlörü bir anfi vasıtası ile TEA5767 modülünün ses çıkışına bağladık daha yüksek ses alabilmek için. Acaba TEA5767 modülündeki antenin çekim gücü mü yetersiz kalıyor? (not, erkek dişi pin birleşimlerinin bir kısmını lehimli birleşime çevirdiğimde parazit azalmıştı) TEA5767 modülün çekim gücünü arttırmanın bir yolu var mıdır?

  4. Merhabalar.Ben bu sistemi Ldr Işık Sensörü ile ışık yanınca açılır ışık yanmayınca kapanır bir şekilde kullanabilir miyim?

  5. Belli bir yerdeki FM yayınını uzaktaki bir noktadan dinleyebilmek için kullanabilir miyim. Yani böyle bir düzeneği işyerine kurup orada dinlenebilen FM yayınını web üzerinden uzaktan dinlemek istiyorum.

    • Bu projenin bildiğiniz FM radyodan herhangi bir farkı yoktur. FM yayınını aldıktan sonra web üzerinden aktarmak için farklı bir yönteme ihtiyacınız olacaktır.

  6. İyi günler devreyi aynen yaptım fakat kanal ayarı 87.5-108.0 arasında ayarlanması gerekirken 87.5 dan başlayıp 300 lere kadar gidiyor bu nedenle potu ne kadar büyük kullanırsam kullanıyım ayar yaparken sıkıntı oluyor…
    Yardımcı olma şansınız varsa sevinirim.

    • Potansiyometre, değerinden bağımsız olarak 0-5V arasını böleceği için hangi değere sahip olanını kullanırsanız kullanın sonuç değişmeyecektir. Probleminizin kaynağı büyük ihtimalle

      frekans = ((double)reading * (108.0 - 87.5)) / 1024.0 + 87.5;
      frekans = ((int)(frekans * 10)) / 10.0;

      satırlarındaki bir hatadan kaynaklıdır.

  7. lcd de herhangi bir yazı yok ama radyo çalışıyor lcd de mi sıkıntı vardır yoksa bağlantı da bir hata olma ihtimali var mıdır hocam ?

  8. Merhabalar ben projeyi aldım her şeyim çalışıyor ama bir türlü volüme ayarı için bir bağlantı ekleyemedim nasıl ekleyebilirim ve potansiyometreyi 100k yaptım ama yukarıda yazılan yorumlar gibi 87.5 dan başlayıp yükseklere kadar gidiyor kodda nasıl değişiklik yapıp düzeltebilirim lütfen yardımcı olursanız sevinirim

  9. Proje gayet güzel çalışıyor ancak okulum uzakta olduğu için radyoyu çektiremedim başka bir anten aldım fakat bu radyo anteni de jak girişli değil bu nasıl jak girişli hale getirebilirim yani modüle nasıl takılabilir bi hale getirebilirim yardımcı olursanız çok sevinirim

CEVAP VER

Please enter your comment!
Please enter your name here