[vc_row][vc_column][vc_column_text][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
In this post, I will demo how to use SI4703 FM Breakout Board on Arduino Uno[/vc_column_text][vc_tour][vc_tab title=”Introduce of SI4703″ tab_id=”1408527833-1-75″][vc_column_text]
Si4703 FM breakout board for the Silicon Laboratories Si4703 FM tuner chip.
Beyond being a simple FM radio, the Si4703 is also capable of detecting and processing both Radio Data Service (RDS) and Radio Broadcast Data Service (RBDS) information.
The Si4703 even does a very good job of filtering and carrier detection. It also enables data such as the station ID and song name to be displayed to the user.
Using this board we are able to pick up multiple stations just as well as with a standard FM radio.
The board breaks out all major pins and makes it easy to incorporate this great chip into your next radio project.
Also, by plugging headphones into the 3.5mm audio jack, you effectively use the cable in your headphones as an antenna! Therefore, this board does not require an external antenna if using headphones or a 3.5mm audio cable longer than 3 feet.
[/vc_column_text][/vc_tab][vc_tab title=”Step 1 hardware prepare” tab_id=”1408527833-2-29″][vc_column_text]We need this hareware
- 1 x Arduino Uno
- 1 x Si4703
- Several Jumper wires
[/vc_column_text][/vc_tab][vc_tab title=”Step2 Wiring Diagram” tab_id=”1408529172153-2-8″][vc_column_text]
- 3V of Arduino -> VCC of Si4704
- GND of Arduino -> GND of Si4704
- A5 of Arduino -> SCLK of Si4704
- A4 of Arduino -> SDIO of Si4704
- D2 of Arduino -> RST of Si4704
[/vc_column_text][/vc_tab][vc_tab title=”Step 3 Software prepare” tab_id=”1408529174390-3-0″][vc_column_text]Input the code to Arduino IDE
#include <Si4703_Breakout.h> #include <Wire.h> int resetPin = 2; int SDIO = A4; int SCLK = A5; Si4703_Breakout radio(resetPin, SDIO, SCLK); int channel; int volume; char rdsBuffer[10]; void setup() { Serial.begin(9600); Serial.println("nnSi4703_Breakout Test Sketch"); Serial.println("==========================="); Serial.println("a b Favourite stations"); Serial.println("+ - Volume (max 15)"); Serial.println("u d Seek up / down"); Serial.println("r Listen for RDS Data (15 sec timeout)"); Serial.println("Send me a command letter."); radio.powerOn(); radio.setVolume(0); } void loop() { if (Serial.available()) { char ch = Serial.read(); if (ch == 'u') { channel = radio.seekUp(); displayInfo(); } else if (ch == 'd') { channel = radio.seekDown(); displayInfo(); } else if (ch == '+') { volume ++; if (volume == 16) volume = 15; radio.setVolume(volume); displayInfo(); } else if (ch == '-') { volume --; if (volume < 0) volume = 0; radio.setVolume(volume); displayInfo(); } else if (ch == 'a') { channel = 930; // Rock FM radio.setChannel(channel); displayInfo(); } else if (ch == 'b') { channel = 974; // BBC R4 radio.setChannel(channel); displayInfo(); } else if (ch == 'r') { Serial.println("RDS listening"); radio.readRDS(rdsBuffer, 15000); Serial.print("RDS heard:"); Serial.println(rdsBuffer); } } } void displayInfo() { Serial.print("Channel:"); Serial.print(channel); Serial.print(" Volume:"); Serial.println(volume); } <a href="http://learn.linksprite.com/wp-content/uploads/2014/08/Arduino-code.jpg"><img class="aligncenter" alt="Arduino code" /></a>
[/vc_column_text][/vc_tab][vc_tab title=”Step 4 X-CTU ” tab_id=”1408530069890-4-0″][vc_column_text]1. We need to install the X-CTU
You can click here to download the X-CTU: X-CTU2
2. Open the X-CTU.exe, then click the terminal, you will see
.Si4703_Breakout Test Sketch .=========================== .a b Favourite stations .+ - Volume (max 15) .u d Seek up / down .r Listen for RDS Data (15 sec timeout) .Send me a command letter. Follow the command letter, you can
- click the “+”,”-“, you can change the volume
- Click the “d”,”u”, you can find the FM you like
[/vc_column_text][/vc_tab][vc_tab title=”Step 5 video ” tab_id=”1408530629945-5-3″][vc_column_text]You can see the video to check out
[/vc_column_text][/vc_tab][/vc_tour][/vc_column][/vc_row]
Leave a Reply
You must be logged in to post a comment.