si4713 fm radio transmitter & arduino mega 2560
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- alikicik
- Posts: 5
- Joined: Thu Sep 04, 2014 9:48 am
si4713 fm radio transmitter & arduino mega 2560
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 :)
- Franklin97355
- Posts: 23912
- Joined: Mon Apr 21, 2008 2:33 pm
Re: si4713 fm radio transmitter & arduino mega 2560
The example code in the library uses the RDS function. Take a look at the code to see how it is done.
- alikicik
- Posts: 5
- Joined: Thu Sep 04, 2014 9:48 am
Re: si4713 fm radio transmitter & arduino mega 2560
which one? i have to look arduino code or source code of arduino.
- alikicik
- Posts: 5
- Joined: Thu Sep 04, 2014 9:48 am
Re: si4713 fm radio transmitter & arduino mega 2560
in other words can I send RDS signal without disrupting the existing signal?
- Franklin97355
- Posts: 23912
- Joined: Mon Apr 21, 2008 2:33 pm
Re: si4713 fm radio transmitter & arduino mega 2560
What do you mean by this? The carrier should stay the same and the RDS should ride on that.without disrupting the existing signal
- alikicik
- Posts: 5
- Joined: Thu Sep 04, 2014 9:48 am
Re: si4713 fm radio transmitter & arduino mega 2560
ok i understood you. thanks :))
- alikicik
- Posts: 5
- Joined: Thu Sep 04, 2014 9:48 am
Re: si4713 fm radio transmitter & arduino mega 2560
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.
Reason: Added [code] tags to make code more readable.
Please be positive and constructive with your questions and comments.