si4713 fm radio transmitter & arduino mega 2560

Post here about your Arduino projects, get help - for Adafruit customers!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
alikicik
 
Posts: 5
Joined: Thu Sep 04, 2014 9:48 am

si4713 fm radio transmitter & arduino mega 2560

Post by alikicik »

i have mega 2560 and arduino mega 2565. i made the circuit. it's working. But i want transmit only RDS. i dont want transmit audio. how can i do it? please help me :)

User avatar
Franklin97355
 
Posts: 23911
Joined: Mon Apr 21, 2008 2:33 pm

Re: si4713 fm radio transmitter & arduino mega 2560

Post by Franklin97355 »

The example code in the library uses the RDS function. Take a look at the code to see how it is done.

User avatar
alikicik
 
Posts: 5
Joined: Thu Sep 04, 2014 9:48 am

Re: si4713 fm radio transmitter & arduino mega 2560

Post by alikicik »

which one? i have to look arduino code or source code of arduino.

User avatar
alikicik
 
Posts: 5
Joined: Thu Sep 04, 2014 9:48 am

Re: si4713 fm radio transmitter & arduino mega 2560

Post by alikicik »

in other words can I send RDS signal without disrupting the existing signal?

User avatar
Franklin97355
 
Posts: 23911
Joined: Mon Apr 21, 2008 2:33 pm

Re: si4713 fm radio transmitter & arduino mega 2560

Post by Franklin97355 »

without disrupting the existing signal
What do you mean by this? The carrier should stay the same and the RDS should ride on that.

User avatar
alikicik
 
Posts: 5
Joined: Thu Sep 04, 2014 9:48 am

Re: si4713 fm radio transmitter & arduino mega 2560

Post by alikicik »

ok i understood you. thanks :))

User avatar
alikicik
 
Posts: 5
Joined: Thu Sep 04, 2014 9:48 am

Re: si4713 fm radio transmitter & arduino mega 2560

Post by alikicik »

Is it possible to automatically change frequencies continuously? for example, it is a ready code. How can i make change?

Code: Select all

#include <Wire.h>
#include <Adafruit_Si4713.h>

#define RESETPIN 12

#define FMSTATION 9120      // 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) {
   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);*/
}
Last edited by Franklin97355 on Thu Sep 04, 2014 12:21 pm, edited 1 time in total.
Reason: Added [code] tags to make code more readable.

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino”