Construire une Radio FM Compacte avec Arduino Nano et RDA5807M
Composants et fournitures
- 1x Arduino Nano R3
- 1x Module d'affichage OLED 0,96" 64x128 (ElectroPeak)
- 1x Module Radio FM RDA5807M (RDA Microelectronics)
Outils et machines nécessaires
- Imprimante 3D (générique)
À propos de ce projet
Récemment, j'ai découvert le module RDA5807, un tuner FM dans un boîtier minuscule. Il est très abordable et utilise le protocole I2C pour la communication, ce qui signifie que seulement deux fils sont nécessaires pour dialoguer avec le circuit intégré. Moins de câblage !
Ma mère écoutait la radio tous les jours en cuisinant avant que son poste ne tombe en panne. Je voulais lui faire une surprise en lui construisant moi-même une radio.
Dans ce tutoriel, je vais vous montrer comment j'ai interfacé le circuit intégré RDA5807 avec un Arduino. Pour lui donner un bel aspect, j'ai conçu un boîtier et l'ai imprimé en 3D. Je suis novice en conception 3D, donc le design restera simple. Rien de compliqué.
Commençons !
Fournitures :
- 1x Arduino Nano
- 1x Circuit intégré tuner FM RDA5807M
- 1x Écran OLED I2C
- 1x Haut-parleur 3W
- 1x Module amplificateur audio PAM8403
- 2x Interrupteurs tactiles 6x6
- 1x Potentiomètre 100k
- 1x Prise d'alimentation DC
- Optionnel : Imprimante 3D
Étape 1 : Le Plan
Le plan est de garder tout simple et ordonné. Rien de sophistiqué.
Nous utiliserons l'Arduino Nano comme cerveau du projet. Le travail difficile de communication avec le module a déjà été fait. Assurez-vous d'installer la bibliothèque Radio. Elle offre de nombreuses fonctionnalités avec lesquelles vous pouvez expérimenter. Note : Cette bibliothèque fonctionne également pour les SI4703, SI4705 et TEA5767.
Un bouton poussoir à l'avant servira à mettre la radio en mode "Sélection de fréquence" et l'autre à valider la fréquence. Un potentiomètre permettra de faire défiler les fréquences préprogrammées (que vous pouvez définir dans le code selon votre localisation).
Un écran OLED affichera la fréquence sur laquelle la radio est accordée.
Le signal audio de sortie du module radio est très faible et insuffisant pour piloter un haut-parleur. Le module PAM8403 amplifiera ce signal. Il existe de nombreuses versions de ce module ; j'ai choisi celle qui intègre un potentiomètre de volume et un interrupteur marche/arrêt.
Étape 2 : Préparation du Module Radio FM
Comme vous pouvez le voir sur les photos, le module est extrêmement petit ! De plus, l'espacement de ses plots n'est pas compatible avec les breadboards ou plaques d'essai.
Nous devons donc réaliser une petite carte d'adaptation (breakout). Découpez un morceau de plaque d'essai de la taille du module, avec au moins 5 trous de chaque côté. Soudez des connecteurs mâles comme indiqué. Placez ensuite le module sur la plaque et soudez de fins fils entre les plots du module et les connecteurs. J'ai utilisé les chutes de pattes de composants.
Étape 3 : Fabrication du Boîtier
Je suis complètement novice en conception 3D et c'est de loin le projet le plus abouti que j'ai conçu. Le boîtier a été dessiné sous Fusion 360 et imprimé sur une Creality Ender 3. Tous les fichiers .STL utilisés sont fournis.
J'ai peint la plaque frontale en blanc car je n'avais qu'une seule couleur de filament.
J'ai inséré des "inserts filetés M3" dans les trous du corps externe à l'aide d'un fer à souder. C'était très satisfaisant !
Collez l'anneau intérieur à l'intérieur du corps externe avec de la super glue.
Percez aussi un trou de 6 mm et un de 2 mm dans la "Plaque Arrière" pour le bouton de l'amplificateur et l'antenne respectivement. J'avais oublié de les prévoir lors de la conception.
Étape 4 : Préparation des Cartes de Circuit
Nous devons réaliser deux cartes de circuit. L'une sera la carte principale avec l'Arduino et le module FM, l'autre pour les boutons poussoirs qui seront montés sur la plaque frontale.
J'ai utilisé des connecteurs à base de connecteurs mâles/femelles pour chaque composant afin de pouvoir les brancher/débrancher facilement. Vous pouvez sauter cette étape si vous le souhaitez.
Effectuez le câblage selon le schéma.
Étape 5 : Place au Code
Le code est fourni en pièce jointe. Téléchargez le fichier .ino et ouvrez-le dans l'IDE Arduino. Avant de le téléverser, deux modifications sont nécessaires :
- Le nombre de stations radio et leurs fréquences varieront. Une rapide recherche Google vous donnera les stations et leurs fréquences. Une fois listées, ajoutez-les dans le tableau
stations[]comme montré sur l'image. Omettez le point décimal. Par exemple, 9110 signifie 91,10 MHz, 10110 signifie 101,10 MHz, etc. Indiquez également le nombre total de stations entre crochets. Dans mon cas, j'ai 12 stations, doncstations[12]. - Soustrayez 1 du nombre total de stations et insérez cette valeur dans le code comme indiqué sur la seconde image. 11 dans mon cas. Je sais qu'il existe une meilleure méthode, mais j'obtenais trop d'erreurs autrement !
Puis téléversez le code !
Étape 6 : Assemblage Final
- Fixez l'écran OLED et le haut-parleur sur la plaque frontale avec de la colle chaude.
- Placez les boutons imprimés en 3D, déposez une goutte de super glue sur les interrupteurs tactiles et positionnez la carte de circuit par-dessus en alignant les boutons.
- Vissez le potentiomètre sur la plaque frontale.
- Appliquez généreusement de la super glue sur l'anneau intérieur et placez l'ensemble plaque frontale/composants dessus.
- Effectuez toutes les connexions des composants vers la carte principale. Connectez la sortie audio du module radio à l'amplificateur monté sur la plaque arrière.
- Mettez un peu de colle chaude autour des connecteurs pour servir de décharge de traction.
- Vissez la plaque arrière avec des vis M3.
- Enfin, coupez un bâton de colle chaude en 4 rondelles de 2-3 mm d'épaisseur et collez-les en dessous. Elles feront office de patins en caoutchouc.
C'est terminé !
Étape 7 : Profitez-en !
Alimentez votre radio avec une alimentation 5V. Si vous n'en avez pas, utilisez un régulateur 7805 avec une entrée 12V.
Merci d'avoir suivi jusqu'au bout. J'espère que ce projet vous plaira et que vous aurez appris quelque chose. Dites-moi si vous en construisez une. Abonnez-vous à ma chaîne YouTube pour les prochains projets. Merci encore !
Code
Fichier : FMRadio_final.ino
Bibliothèque Radio : https://github.com/mathertel/Radio
Pièces imprimées 3D
- Face Plate.stl
- Back Plate.stl
- Button.stl
- Inner Rim.stl
- Knob.stl
- Outer Body.stl
Schémas
Voir les schémas de câblage dans la section dédiée.
Processus de fabrication
- Système de pointage RFID fiable avec Arduino et Python (base de données phpMyAdmin)
- Construire une télécommande Android universelle avec Arduino, 1Sheeld et contrôle IR
- Créer des animations et jeux sur LCD avec Arduino UNO
- Construire une radio Internet Wi-Fi avec Raspberry Pi et Arduino : diffuser des stations mondiales
- Construire un Voltmètre Intelligent avec Arduino et Smartphone – Projet DIY Facile
- Bocal Intelligent IoT avec ESP8266, Arduino et Capteur Ultrasonique – Surveillance Temps Réel
- Mesure Précise de Fréquence et Rapport Cyclique avec Arduino UNO
- Contrôlez un rover Arduino avec Firmata et une manette Xbox One
- Construire une Boussole Numérique Temps Réel avec Arduino et Processing