Étape 4: Arduino UNO - carte son
J’utilise l’Uno pour jouer les fichiers de musique grâce à un bouclier de SD. J’utilise la bibliothèque SimpleSDAudio pour lire les fichiers stéréo ASF par le biais de sorties PWM 9 et 10. J’ai trouvé un vieux casque que j’ai soudé des bornes de raccordement sur. Il s’agit de la sortie audio pour connecter les enceintes amplifiées à. Il se branche sur le montage d’essai et est branché aux sorties 9 et 10 par le biais de certaines résistances et les condensateurs, comme illustré dans l’exemple de SimpleSDAudio Base Minimum. Résistance condensateur---10 k de broche 9---100 uF---droit canal entrée jack---résistance de 1 k---10 broche GND. est câblé de la même manière à l’entrée du CRIC (si vous voulez suivre la seule piste de voix) du canal de gauche.
Broche 2 est définie comme une sortie et reliée à la broche d’entrée 50 du Mega.
Broche 7 est configuré comme un input_pullup et câblé par le biais de la touche à la terre (pour être remplacé par un switch mat bienvenu)
L’esquisse est basée sur une version modifiée de l’exemple de la portion congrue à la bibliothèque de SimpleSDAudio.
La première version de ce sketch, « BooFrightersAudioUNO », lit un fichier sur la carte SD, appelé « skel.asf ». Vous pouvez nommer votre fichier skel ou changer la ligne 26 au nom de fichier correct.
La nouvelle version, BooFrightersRandAudioUNO", sélectionne une chanson au hasard de la carte SD. Tous les noms de fichier sont des nombres. Par exemple, j’ai renommé « skel.afs » « 1.afs », la chanson suivante est « 2.afs » et ainsi de suite. Ligne 31 dans le croquis doit être changé afin de déterminer le nombre de fichiers à choisir. En ce moment j’ai 2 chansons pour des fins de test. Ligne 31 se lit comme suit :
fileToPlay = random(1,3) ;
1 est le premier numéro de la séquence aléatoire et 3 est le plus grand nombre, plus 1. Si vous avez 10 fichiers au choix, le second chiffre serait 11.
La ligne de code suivante convertit un nombre en une chaîne et ajoute l’extension de fichier.
sprintf (AudioFileName, « % d.afs », fileToPlay) ;
La ligne suivante définit le nom du fichier à lire.
if (!. {SdPlay.setFile(AudioFileName))}
J’utilise graine aléatoire de broche analogique 0 pour avoir un ordre de jeu vraiment aléatoire.