FM-Radio med Si4703 Breakout styrelsen, LCD och Arduino (4 / 9 steg)
Steg 4: Få Si4703 igång med seriell kommunikation
I det här steget, kommer att vi följa instruktionerna på Sparkfun att få ombord ansluten till en Arduino och styra volymen/fm-radiostationer med Arduino serial-uttaget. Handledningen kan hittas här: https://learn.sparkfun.com/tutorials/si4703-fm-ra... men jag ska sammanfatta för dig.
När du har sorterat ut din maskinvaruanslutningar, ansluta Arduino till din PC via USB-kabeln och se till att du har både rätt styrelse och COM-port visar i Arduino IDE. Anslut aux utgång från breakout styrelsen till dina högtalare via en aux-kabel (eller hörlurar) så att du kan höra om radion fungerar eller inte.
Därefter måste du hämta Si4703 biblioteket från Sparkfun, tillgänglig från denna länk: https://cdn.sparkfun.com/assets/learn_tutorials/2... När du har hämtat detta och lagt den till biblioteket Arduino IDE, ladda upp följande kod till Arduino och öppna serial-uttaget. (Här koden är under mappen Si4703 exempel också).
#include "<" Si4703_Breakout.h">"
#include "<" Wire.h">"
int resetPin = 2;
int SDIO = A4;
int SCLK = A5;
Si4703_Breakout radio (resetPin, SDIO, SCLK);
int kanal;
int volym;
char rdsBuffer [10].
void setup()
{
Serial.BEGIN(9600);
Serial.println ("\n\nSi4703_Breakout Test skiss");
Serial.println("===");
Serial.println ("en b favorit stationer");
Serial.println ("+ - volym (max 15)");
Serial.println ("u d söka upp/ner");
Serial.println ("r lyssna för RDS-Data (15 sek timeout)");
Serial.println ("skicka mig ett kommando brev.");
radio.powerOn();
radio.setVolume(0);
}
void loop()
{
om (Serial.available())
{
char ch = Serial.read();
om (ch == "u")
{
kanal = radio.seekUp();
displayInfo();
}
annars om (ch == hade ")
{
kanal = radio.seekDown();
displayInfo();
}
annars om (ch == '+')
{
volym ++;
om (volym == 16) volym = 15.
radio.setVolume(volume);
displayInfo();
}
annars om (ch == '-')
{
volym--;
om (volym < 0) volym = 0;
radio.setVolume(volume);
displayInfo();
}
annars om (ch == "a")
{
kanal = 930; Rock FM
radio.setChannel(channel);
displayInfo();
}
annars om (ch == "b")
{
kanal = 974; BBC R4
radio.setChannel(channel);
displayInfo();
}
annars om (ch == "r")
{
Serial.println ("RDS lyssnande");
radio.readRDS (rdsBuffer, 15000);
Serial.Print ("RDS hört:");
Serial.println(rdsBuffer);
}
}
}
void displayInfo()
{
Serial.Print("Channel:"); Serial.Print(Channel);
Serial.Print ("volym:"); Serial.println(Volume);
}
Nu bör du kunna spela med tuning modulen radio, ändra volymen samt ställa några favoritkanaler genom den seriella komm. Så om du har alla här arbetande, du börja kontrollera styrelsen via tryckknappar och genomföra LCD.