Modifications

Sauter à la navigation Sauter à la recherche
aucun résumé de modification
Ligne 135 : Ligne 135 :  
</nowiki>
 
</nowiki>
   −
== Button interfacing ==
+
== Interfaçage des boutons ==
   −
We want to play a sound each time a button is pressed. We will use a function called check_switches() that goes through the 6 buttons (digital 14 through 20) to see if they have been pressed. If so, we play '''SOUND1.WAV''' (for example) completely through. The function that we call here that does the playing is called '''playcomplete()''' and we pass the name of the Wave file in quotes just like you see here.
+
Nous voulons jouer un son à chaque fois qu'un bouton est pressé
 +
Nous allons utiliser une fonction nommée check_switches() qui passe les 6 boutons en revue (digital de 14 à 20) pour voir si ils ont été pressés. Si c'est le ca, nous complètement jouons le fichier '''SOUND1.WAV''' (par exemple). La fonction que nous appelons pour jouer le morceau s'appelle '''playcomplete()''' et nous passons le nom du fichier Wave en paramètre (entre guillemet, comme ci-dessous).
 
  <nowiki>void loop() {
 
  <nowiki>void loop() {
   //putstring(".");            // uncomment this to see if the loop isnt running
+
  // retirez le commentaire de la ligne ci-dessous pour voir si la loop() fonctionne.
 +
  // Si la loop ne fonctionne pas, c'est qu'il y a un problème d’initialisation de la carte SD.
 +
   //putstring(".");             
 
   switch (check_switches()) {
 
   switch (check_switches()) {
 
     case 1:
 
     case 1:
Ligne 186 : Ligne 189 :  
</nowiki>
 
</nowiki>
   −
== Playcomplete & Playfile ==
+
== les fonctions Playcomplete et Playfile ==
   −
Here is where we open the file and play it.
+
Voici le code correspondant à l'ouverture de fichier et au rendu audio de celui-ci.
   −
'''Playcomplete''' is very simple, it just calls a function that starts the audio playback and then sits in a loop doing nothing.
+
'''Playcomplete''' est une fonction vraiment simple. Elle appelle la fonction qui commence à jouer le fichier audio et qui démarre un boucle d'attente (boucle qui ne fait rien).
   −
'''Playfile''' is the important function. It finds and opens the file and plays it.
+
'''Playfile''' est une fonction importante. Elle trouve le fichier et le joue.
   −
# It first sees if we're already playing any audio. If so, it stops it.
+
Voici plus de détails sur la fonction Playfile:
# Now it opens the root directory and looks for the file by the name we requested. If it cant find it, the function returns
+
# Elle vérifie si un fichier est déjà entrain d'être joué. Si c'est le cas, elle le stoppe.
# If it finds it, it tries to turn it into a Wave file object, looking for the right header in the file. If not it also returns
+
# Elle ouvre ensuite le répertoire racine (root) et recherche le fichier avec le nom attendu. Si le fichier n'est pas trouver alors l'exécution de la fonction est interrompu (instruction "return")
# If it succeeds, it begins to play
+
# Si le fichier est trouvé, elle essaye de l'ouvrir avec l'objet Wave (qui vérifie si l'entête wave est bien présente). Si ce n'est pas le cas alors l'exécution de la fonction est interrompu (instruction "return")
 +
# Si l'opération fonctionne alors la fonction commence à jouer le fichier
   −
  <nowiki>// Plays a full file from beginning to end with no pause.
+
  <nowiki>// Joue un fichier entier jusqu'à la fin sans faire de pause.
 
void playcomplete(char *name) {
 
void playcomplete(char *name) {
   // call our helper to find and play this name
+
   // Appelle la fonction (dite "helper") pour trouver et jouer le fichier
 
   playfile(name);
 
   playfile(name);
 
   while (wave.isplaying) {
 
   while (wave.isplaying) {
   // do nothing while its playing
+
   // Ne rien faire tant que le fichier est joué
 
   }
 
   }
   // now its done playing
+
   // Maintenant, le fichier est terminé
 
}
 
}
    
void playfile(char *name) {
 
void playfile(char *name) {
   // see if the wave object is currently doing something
+
   // Vérifier si l'objet wave fait déjà quelque chose
   if (wave.isplaying) {// already playing something, so stop it!
+
   if (wave.isplaying) {// Joue déja un morceur, on l'arrête!
     wave.stop(); // stop it
+
     wave.stop(); // arrêter le morceau
 
   }
 
   }
   // look in the root directory and open the file
+
   // Chercher dans le répertoire racine et ouvrir le fichier
 
   if (!f.open(root, name)) {
 
   if (!f.open(root, name)) {
     putstring("Couldn't open file "); Serial.print(name); return;
+
     putstring("Echec ouverture fichier "); Serial.print(name); return;
 
   }
 
   }
   // OK read the file and turn it into a wave object
+
   // OK, lire le fichier et le transformer en objet Wave
 
   if (!wave.create(f)) {
 
   if (!wave.create(f)) {
     putstring_nl("Not a valid WAV"); return;
+
     putstring_nl("Fichier WAV invalide"); return;
 
   }
 
   }
 
    
 
    
   // ok time to play! start playback
+
   // Tout s'est bien passé! Commence la lecture
 
   wave.play();
 
   wave.play();
 
}
 
}
Ligne 229 : Ligne 233 :     
== play6_hc.pde ==
 
== play6_hc.pde ==
 +
Note de MCHobby:
 +
 +
Voici le contenu complet du projet.
 +
 +
Cette fois, les commentaires ne sont pas traduits. Pour plus de détails sur le fonctionnement, vous pouvez vous référez au explications ci-dessus où les commentaires ont étés traduits.
 +
 
  <nowiki>#include <FatReader.h>
 
  <nowiki>#include <FatReader.h>
 
#include <SdReader.h>
 
#include <SdReader.h>
Ligne 410 : Ligne 420 :  
</nowiki>
 
</nowiki>
   −
{{ADF-Accord}}
+
{{WaveShield-TRAILER}}
 
  −
{{MCH-Accord}}
 
29 917

modifications

Menu de navigation