fm transmitter rds
  • ardiuno mega 2560 ve fm transmitter si4713 var elimde. Ses göndermeden sadece RDS göndermem mümkün müdür? mevcut olan sesi bastırmak istemiyorum sadece ekrana rds yollamak istiyorum. Yardımcı olursanız sevinirim.
  • radyonun senın yolladığın rds sınyalını çözmesi için senın tx yaptığın frekansta olması lazım. mevcut yayını ezmeden rds yapamazsın.
  • o zaman herhangi bir şekilde rds sinyali göndermek istersem mecburen radyodaki mevcut sinyali bozmuş olacağım. farklı bir şekilde gönderim yapma şansım var mıdır peki?
  • rds alıcısı standart fm alıcıysa başka yontem yok.
  • teşekkür ederim
  • rds nin amacı zaten yayın sırasında bazı mesajları ıletmek.
  • bu hazır bi kod; 102.30 MHZ frekansında yayın yapıyor. Yayın yaptığı frekansı sürekli değiştirmemiz mümkün müdür?

    #include _Wire.h>
    #include _Adafruit_Si4713.h>

    #define RESETPIN 12

    #define FMSTATION 10230 // 10230 == 102.30 MHz

    Adafruit_Si4713 radio = Adafruit_Si4713(RESETPIN);

    void setup() {
    Serial.begin(9600);
    Serial.println("Adafruit Radio - Si4713 Test");

    if (! radio.begin()) { // begin with address 0x63 (CS high default)
    Serial.println("Couldn't find radio?");
    while (1);
    }

    // Uncomment to scan power of entire range from 87.5 to 108.0 MHz

    /*for (uint16_t f = 8750; f<10800; f+=10) {<br /> radio.readTuneMeasure(f);
    Serial.print("Measuring "); Serial.print(f); Serial.print("...");
    radio.readTuneStatus();
    Serial.println(radio.currNoiseLevel);
    }*/


    Serial.print("\nSet TX power");
    radio.setTXpower(115); // dBuV, 88-115 max

    Serial.print("\nTuning into ");
    Serial.print(FMSTATION/100);
    Serial.print('.');
    Serial.println(FMSTATION % 100);
    radio.tuneFM(FMSTATION); // 102.3 mhz

    // This will tell you the status in case you want to read it from the chip
    radio.readTuneStatus();
    Serial.print("\tCurr freq: ");
    Serial.println(radio.currFreq);
    Serial.print("\tCurr freqdBuV:");
    Serial.println(radio.currdBuV);
    Serial.print("\tCurr ANTcap:");
    Serial.println(radio.currAntCap);

    // begin the RDS/RDBS transmission
    radio.beginRDS();
    radio.setRDSstation("Radyo45o");
    radio.setRDSbuffer( "radyosstar ");

    Serial.println("RDS on!");

    radio.setGPIOctrl(_BV(1) | _BV(2)); // set GP1 and GP2 to output
    }



    void loop() {
    radio.readASQ();
    /*Serial.print("\tCurr ASQ: 0x");
    Serial.println(radio.currASQ, HEX);
    Serial.print("\tCurr InLevel:");
    Serial.println(radio.currInLevel);
    // toggle GPO1 and GPO2
    radio.setGPIO(_BV(1));
    delay(500);
    radio.setGPIO(_BV(2));
    delay(500);*/
    }


  • şurada da belittiği gibi https://learn.adafruit.com/adafruit-si4713-fm-radio-transmitter-with-rds-rdbs-support/test-and-usage şu komutun kullanıldığı yerde tuneFM(freq) freq yazan yere khz/10 olarak yayın yapmak istediğiniz frekansı yazarsanız oradan yayın yapar(88.1-108.0 mhz) 8810 ile 10800 arasında değerler vermeniz lazım dğerlerin artışı 10khz aralıkla olmalı yani 8810 den sonra 8820 gelecek, sizin kodda radio.tuneFM(FMSTATION); yerine radio.tuneFM(8810); yazılabilir bunu değişken yapın for döngüsü ile 8810 -10800 arasında 10 atlayarak tarayabilirsiniz ama bu şekilde tüm fm bantını bastırmış olursunuz etrafınızda 3-5 metre mesafede fm radyo yayını dinlenemez...
  • ilginiz için çok teşekkür ederim. Bunu dediğiniz şekilde hallettim diğer bir sorum ise herhangi bir radyoyu örneğin x aracının radyosu 88.50'yi dinliyorsa istediğim frekansa örneğin 92.90 a çekebilmem mümkün müdür?
  • o şekilde değilde trafik radyoları var mesela aydın otobanında tünele girerken radyonuzu açın diyor tabelada, açıyorsun o anda hangi kanalda olduğun önemli değil tunelin içinde yapılan yayın radyodan geliyor, radyoda o özelliğin olması gerekiyor ve açık olması da gerekiyor, bunu dışında şu frekansa geç diye bir özelliği olan radyo bilmiyorum radyonun yazılımı ile alakalı bir durum geliştirilebilir ama kim ister dinlediği kanalın değiştirilmesini en savdiği şarkı çalarken, birde bazı oto radyolarında kanal takip özelliği var rds den radyonun adını alıp yazıyor kenara sonra başka şehire gidiyorsun o radyo başka kanaldaysa arayıp buluyor o kanaldan devam ediyor böyl birşey var ama bunlar hep radyonun yazılımında olan şeyler ...
  • tünelin içinde olan literatürde traffic announcements(TA) olarak geçen, bu trafik anonsları tüm frekans bandı bastırılarak mı yapılıyor acaba bilginiz var mı? mesela biz for ve do while döngüsüyle istediğimiz süre istediğimiz kanalda kalıp yayın yapabiliyoruz. Tünelde ki sistem daha farklı sanırım komple 87,50-108 mhz bandını bastırıyor acaba bunu biz arduino ile nasıl yapabiliriz?
  • şurada birşeyler var ama teknik bilgi yok "en.wikipedia.org/wiki/Traffic_announcement_(radio_data_systems)" genelde rds ustunden bir kanal bilgisi verip rds de TA olarak işaretlenmişse veri, radyo kanal değiştiriyor anladığım kadarı ile. avrupada ise navigasyon sistemi uretıcılerı bazı radyolarla anlaşmış radyodaki rds verisi uzerınden trafik verisini dijital olarak yayınlayıp navisgasyon harita bilgisinde trafık yoğunluğunu bildiriyorlar filan. internetin ve akıllı telefonların yaygın olduğu bir dönemde eski teknoloji gibi geldi bana biraz...
  • Merhabalar
    Elimde si4713 ile yapilmis bir board var, arduiono ile adafruitin yukaridaki ornek kodunu gomdugum zaman kararli bir sekilde calismiyor. 102.30 MHz e ayarlamama ragmen, bazen 94 MHz e bazen 75 MHze gidiyor ki FM bandinin disina da cikabiliyor. Sorun ne olabilir yardimci olabilirseniz sevinirim

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.