Prérequis: Lire et écrire sur une carte SD, Créer ou modifier un fichier audio pour Arduino
Matériel
- Ordinateur
- Arduino UNO x1
- câble USB pour connecter l’Arduino à l’ordinateur x1
- Shield ou module pour carte SD x1
- Amplificateur Audio ou un module transistor x1
- Haut-parleur x1
Schéma de câblage

Code pour jouer un fichier Audio
Placer le fichier WAV sur la carte SD puis insérez-là dans le module SD Card. Vous pouvez ensuite charger le code suivant dans la carte Arduino. Pour jouer le fichier audio, nous allons utiliser la librairie TMRPcm.h qui permet de jouer des fichiers audio WAV de manière asynchrone à partir d’une carte SD. Dans cet exemple, le fichier audio est joué toutes les secondes. Fonctions à connaître:- tmrpcm.play(char*) pour jouer le fichier
- tmrpcm.setVolume(int) pour régler le volume du haut-parleur
- tmrpcm.stopPlayback() ou tmrpcm.disable() pour arrêter la lecture
- tmrpcm.isPlaying() pour savoir si le fichier est en train d’être jouer
//Libraries #include <SD.h> #include <TMRpcm.h> //Constants #define SD_ChipSelectPin 11//4 const int speakerPin=9; char* file="bonjour.wav"; //Variables unsigned long previousTime=0; unsigned long interval=1000; //Objects TMRpcm tmrpcm; /******************************************************************* * MAIN *******************************************************************/ void setup(){ /* function setup */ Serial.begin(9600); //Init sd shield if (!SD.begin(SD_ChipSelectPin)) {Serial.println("SD fail"); return; } //Init speaker tmrpcm.speakerPin = speakerPin; tmrpcm.setVolume(3); } void loop(){ /* function loop */ if(millis()-previousTime>interval){ activateOutput(); previousTime=millis(); } } /******************************************************************* * FUNCTIONS *******************************************************************/ void activateOutput(){ /* function activateOutput */ Serial.println("Play sound"); tmrpcm.play(file); while(tmrpcm.isPlaying()){}//wait until file is played //delay(1000);tmrpcm.stopPlayback(); // or wait 1sec and stop music }N.B.: dans la fonction activateOutput(), vous avez le choix de ne pas attendre que le fichier soit lu pour effectuer d’autres actions. Pour cela il vous suffit de commenter la ligne avec while. Vous pouvez désormais jouer n’importe quel son avec votre carte Arduino.
Source
Prochaines étapes
Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie