Étape 4: Obtenir le Si4703 en marche avec Serial Comms
Dans cette étape, nous allons suivre les instructions données sur Sparkfun à obtenir du Conseil relié à un Arduino et le contrôle des stations de radio fm/volume avec la borne serial Arduino. Le tutoriel peut être trouvé ici : https://learn.sparkfun.com/tutorials/si4703-fm-ra... mais je vais résumer pour vous.
Une fois que vous avez réglé vos connexions matérielles, brancher l’Arduino à votre PC via le câble USB et s’assurer que vous avez le bon conseil et le port COM n’apparaissant dans l’IDE Arduino. Connectez la sortie de la carte de dérivation à vos enceintes via un câble aux (ou casque) pour que vous puissiez entendre si la radio fonctionne ou non.
Ensuite, vous devrez télécharger la bibliothèque Si4703 de Sparkfun, disponible depuis ce lien : https://cdn.sparkfun.com/assets/learn_tutorials/2... Une fois que vous avez téléchargé et ajouté à votre bibliothèque IDE Arduino, Télécharger le code suivant à l’Arduino et ouvrir le terminal série. (Ce code est trop sous le dossier d’exemples de Si4703).
#include "<" Si4703_Breakout.h">"
#include "<" Wire.h">"
int resetPin = 2 ;
int SDIO = A4 ;
int SCLK = A5 ;
Radio Si4703_Breakout (resetPin, SDIO, SCLK) ;
canal int ;
volume int ;
char rdsBuffer [10] ;
void setup()
{
Serial.Begin(9600) ;
Serial.println ("croquis de \n\nSi4703_Breakout Test") ;
Serial.println("===") ;
Serial.println (« un b favori stations") ;
Serial.println ("+ - Volume (max 15)") ;
Serial.println (« les d u Seek haut/bas ») ;
Serial.println ("r Ecoute données RDS (15 secondes timeout)") ;
Serial.println ("Envoyez-moi une lettre de commande.") ;
radio.powerOn() ;
radio.setVolume(0) ;
}
void loop()
{
Si (Serial.available())
{
char ch = Serial.read() ;
Si (ch == « u »)
{
Channel = radio.seekUp() ;
displayInfo() ;
}
ElseIf (ch == a ')
{
Channel = radio.seekDown() ;
displayInfo() ;
}
ElseIf (ch == « + »)
{
volume ++ ;
Si (volume == 16) volume = 15 ;
radio.setVolume(volume) ;
displayInfo() ;
}
ElseIf (ch == '-')
{
volume--;
Si volume (volume < 0) = 0 ;
radio.setVolume(volume) ;
displayInfo() ;
}
ElseIf (ch == « a »)
{
Channel = 930 ; Rock FM
radio.setChannel(channel) ;
displayInfo() ;
}
ElseIf (ch == « b »)
{
Channel = 974 ; BBC R4
radio.setChannel(channel) ;
displayInfo() ;
}
ElseIf (ch == « r »)
{
Serial.println (« écoute de RDS ») ;
radio.readRDS (rdsBuffer, 15000) ;
Serial.Print (« RDS entendu: ") ;
Serial.println(rdsBuffer) ;
}
}
}
Sub displayInfo()
{
Serial.Print("Channel:") ; Serial.Print(Channel) ;
Serial.Print ("Volume:") ; Serial.println(volume) ;
}
Vous devriez maintenant être en mesure de jouer avec le réglage du module radio, changeant le volume ainsi que la mise quelques chaînes préférées par le biais de la série comms. Donc si vous avez tout ce travail, vous êtes pour commencer à contrôler le Conseil d’administration par l’intermédiaire de boutons poussoirs et mise en œuvre de l’écran LCD.