TEA5767 modülü ve Arduino ile Radyo yapımı.

Sitenin yeni yazarı, Mustafa Avcı beyin ilk yazısıdır. Bu projede kullanılan servo motor, POT kontrolüyle sesi kontrol etmek amaçlıdır. Radyo sistemi olarak sitede yazılan ilk yazıdır. POT birleşimi videoda gösterilmektedir. 

TEA 5765 FM Radio : ( Aldığınız modülün kaç volt ile çalıştığına dikkat edin.)
Radyo için I2C haberleşme ile kontrol edilen bir mini entegre modül kullanılmıştır. .
Bunun için çeşitli kütüphaneler var, ben hepsini denedim. Fakat beni memnun eden bir yazılımı kendim için uyarladım. Tabii ki, gerekli kütüphaneleri kullandım. Denemelerimde istasyon aramak için buton ve potansiyometre kullandım. Fakat en iyi neticeyi TV veya uydu kumandasıyla aldım.
TEA5767′ nin sesini ayarlama imkanı olmadıgı için programlama şansım olmadı. Nasil yaparim diye düşündüm. Digital potansiyometre entegresi bulamadım. Bende 180 derece servo motor kullandım. Önce 360 derece motor denedim. Devamlı dönmesi yüzünden vazgeçtim. 180 derece çok iyi netice verdi. Program için kumandanın (+ ve  – ) butonları yeterli geldi.
Servo motoru, kullandığım 100 kilo ohm pota taktim. Pot’un arkasındaki oyuk bu işi kolaylaştırdı. TEA5767’nin ses çıkışı, hoparlörü çalıştırmaya yetmiyordu. Arduino kataloğunda bulduğum bir amfi modülünü kullandım. Modül ve TEA 5767 stereo, fakat benimki sadece deneme amaçlı olduğu için tek kanal kullandım.
I2C LCD ve TEA 5767 paralel çalışıyor. I2C sistemlerinde adresleri farklı olduğundan sorun olmuyor. Kodları incelediğiniz zaman göreceksiniz ki, gerek IR ledin, gerekse servo motor girişlerinin bağlantıları şemadadır. Cihazı bilgisayar bağlantısı dışında, 5 Voltluk bir Telefon şarj adaptörüyle destekledim. Adaptör : 5 Volt/2 Amper. Servo , lcd ve anfinin akım ihtiyacı biraz fazla oluyor.

Kullandığım malzemeler.
Bir adet arduino,
Servo motor SG90,
I2C LCD 2 satır LCD ,
IR modul,
Amfi modül,
Kutu hoparlör,
100 kOhm pot.
TE5767 Modül

KULLANILAN TEA5767 MODÜL:
Çıkışı kulaklık için yeterlidir fakat hoparlör besleyemediği için çıkışına amfi modülü eklenmiştir. İkinci soket anten içindir. Videoda dikkat ediniz. 

 

 

 

 

 

Not: Kodları yayınladım. Kodları istediğiniz gibi kullanıp, değiştirebilirsiniz. Fakat bu değişimi yaparken dikkatli olmalısınız. Devrenize zarar verirseniz, sorumluluk kabul etmem.

TEA5767 datasheet 

TEA5767 Application Note

// yazan Mustafa Avcı   Grup adı: Elektronik Calisma Atelyesi
// Grup link : https://www.facebook.com/groups/357336091599435/

 #include <IRremote.h>
int RECV_PIN = 11; 
IRrecv irrecv(RECV_PIN); 
decode_results results;
////////////////////////////// 
#include <TEA5767N> 
radio = TEA5767N(); 
#include <LiquidCrystal_I2C> 
lcd(0x27, 16, 2); 
//////////////////////////////////////// 
int count= 30; 
 
Servo myservo;
void setup() { pinMode(RECV_PIN, INPUT);
irrecv.enableIRIn(); myservo.attach(9);
Serial.begin(9600); myservo.write(count);
lcd.clear(); 
Wire.begin(); 
lcd.backlight(); 
lcd.begin(); 
radio.selectFrequency(88.400);
lcd.print("88.400 MHz TRT");
} 

void loop() 
{ 
  int i=0; 
  if (irrecv.decode(&results)) 
  {
    translateIR();
    unknownRemoter();
    irrecv.resume(); 
  } 
 } 
   
    void translateIR() 
    {
      switch(results.value)
      {
        case 0x200: myservo.write(0);
      break;
      case 0x210: count++;
      myservo.write(count);
      break;
      case 0x211: count--;
      myservo.write(count);
      break; 
      /* Bu bölüme diger istasyonlar gelecek. bölgenizde cekebileceginiz istasyonlarin frekansini vererek cagira bilirsiniz case 0x211: 
      ///////// Bu bölüme caseni lcd.clear(); Wire.begin(); lcd.backlight(); lcd.begin(); 
      radio.selectFrequency(88.400); lcd.print("88.400 MHz TRT"); break; */ 
      
      // yukaridaki kommentar icine aldigim istasyon Antalyada yayin yapan TRT FM dir. siz kendi sevdiginiz bir radyoyu
      // setup a koyarak her acilista sevdiginiz radyoyu otomatik getirebilirsiniz. 
      // daha cok radyo istiyorsaniz, komandonuzun kodlarini case ye yazarak her istasyon icin case yazmaniz gerekli bu 
      // Radio isterseniz lcd sizde calisabilir lcd I2C sadece bilgi ve görüntü icin olmasada olur. 
      default:
      Serial.print(" unknown button ");
      Serial.println(results.value, HEX);
      }
      delay(10); 
      } 
      void unknownRemoter()
      { 
        Serial.print(" still an unknown button ");
        Serial.println(results.value, HEX); delay(10);
      }
  }
}

Devrenin blok şeması.

Tüm dosyalara buradan ulaşabilirsiniz. 

Kullanılan modül bu adreste bulunmaktadır

Kullanılan TEA5767 kütüphane adresi.

Kullanılan TEA5767 modülün kütüphane açıklaması. 

Not: Çalışmalarımı Facebook üzerinde bu grupta yayınlamaktayım.

Ayrıca PIC işlemcilerini kullanan kişiler bu sayfadan yararlanabilirler.

 

 

 

 

 

3 Comments

  1. I2C nin bir kac cesidi var. Bu kullandığım I2C nin adresi (lcd(0x27, 16, 2) ama daha önce kullandığım böyle bir lcd (lcd(0x3F, 16, 2) idi. lcd nin cevapsız kalması durumunda I2C scan programını kullanip tam adresi öğrenebilirsiniz. Bu kodlarla ayni zamanda kullandığınız IR kumanda kodlarını Serial.println den tespit edebilirsiniz. Arduinonun Serial haberleşme penceresinden görebilirsiniz. Her kumanda tuşunun fonksiyon kodunu case ile yazabilirsiniz. Ben böyle 40 tane istasyon yazdım.

  2. MERHABA ARKADAŞLAR BEN ARDUİNO YAZILIMI KONUSUNDA HİÇ BİLGİM YOK SADECE ÇALIŞAN YAZILIMI ARDUİNO YÜKLEME YAPA BİLİYORUM BU MUSTAFA AVCI BEYİN KUMANDALI VE SEVO MOTORLU ŞEMASI SERVO MOTORU SES POTUNU AÇIP KAPAMADAKULLANMIŞ İLGİ VE ALAKANIZDAN DOLAYI TEŞEKKÜR EDERİM SELAMLAR 05065024954

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.