Introduction: ARDUINO FM RADIO
Les tutoriels sur les radios FM à base de Si4703 ne manquent pas.
J' ai souhaité pour ma part pousser la programmation un peu plus loin que les fonctions de base proposées dans les exemples, et utiliser un écran TouchScreen.
Au final, la radio fournit :
- - 12 Presets répartis en deux claviers
- - Fonction Mono Stereo
- - Seek Up/Dwn sur les Presets ou sur les Stations (via touchscreen ou boutons)
- - Indicateur Batterie
- - Règlage du Volume (via touchscreen ou Potentiometre) avec affichage d'une barre de progression
- - Avance des Fréquences par pas de 1 via un encodeur
- - Fonction RDS (Nom de la Station et texte fourni par l'émetteur)
- - Rappel du Volume sélectionné et de la dernière station à l'allumage
- - Alimentation USB, Accus 9V, Bloc secteur 9V
La video est visible ici :
https://youtu.be/QUOgoKPhcMc
Attachments
Step 1: Un Mot Sur Les Librairies
La librairie utilisée pour le Si4703 est classiquement celle du même nom.
L'utilisation d'un ATMEGA et d'un écran TFT imposent cependant une modification du fichier si4703.cpp de la manière suivante :
#define resetPin 52
#define SDIO 20
// int SCLK = 21; //SCL/A5 on Arduino
En principe le RDS est lu de façon simple :
radio.readRDS(rdsBuffer, 15000);
Serial.println(rdsBuffer);
J'ai préféré pour ma part utiliser la librairie RDSParser plus complexe à programmer mais qui m'a donné de bien meilleurs résultats.
Step 2: Les Connexions
Module Si4703
- Si4703 3.3V pin => Arduino uno 3.3V
- Si4703 GND pin => Arduino uno GND
- Si4703 SDIO pin => Arduino uno A20
- Si4703 SCLK pin => Arduino uno A21
- Si4703 RST pin => Arduino uno D53
Potentiometre Volume
- pin 0 => Arduino uno GND
- pin 1 => Arduino uno A15
- pin 2 => Arduino uno 5V
Bouton Seek UP
- Pin 0 => Arduino uno GND
- Pin 1 => Arduino uno D53
Bouton Seek DWN
- Pin 0 => Arduino uno GND
- Pin 1 => Arduino uno D51
Encodeur
- pin 0 => Arduino uno GND
- pin 1 => Arduino uno 5v
- pin 2 => Arduino uno D31
- pin 3 => Arduino uno D33
- pin 4 => Arduino uno D35
Step 3: Les Composants
- Arduino Mega
https://www.amazon.fr/dp/B06XKZY117/ref=pe_3044141_189395771_TE_dp_1
- Si4703
https://www.amazon.fr/dp/B079BT3T5C/ref=pe_3044141_185740131_TE_item
- Ampli Velleman
- 2 HP de petite taille
https://www.amazon.fr/dp/B07912QQ97/ref=pe_3044141_189395771_TE_3p_dp_1
- 2 boutons poussoir
- 1 Potentiomètre
- 1 encodeur
https://www.amazon.fr/dp/B011BHAQZE/ref=pe_3044141_189395771_TE_3p_dp_i1
- Un écran TFT touchscreen
https://www.amazon.fr/Elegoo-Tactile-320x240-Technical-Arduino/dp/B01JD4TJZU/ref=sr_1_1?ie=UTF8&qid=1521623541&sr=8-1&keywords=arduino+touch+screen