Bonjour,
J’essaye maintenant de travailler sur la partie son sans passer par une carte MP3 (ça marche, mais ce n'est pas satisfaisant car, en, fait, il ne lit que des "morceaux").
Donc, je pense m'orienter vers une autre solution :
Arduino + carte lecteur SD (Fichier Wav) + envoi en PWM vers haut-parleur.
J'essaye dans un premier temps de lire un seul octet dans le fichier "Test.wav" (au niveau de la racine de la carte)
La carte est reconnue, le fichier "Test.wav est reconnu.
Mais, je n'arrive pas à lire octet par octet !
// Programme son BR80 - Lecture carte SD du fichier "Test.wav" octet par octet -
#include <SD.h> // crée automatiquement un objet racine SD représentant la carte mémoire SD
/* Broche CS de la carte SD */
const byte SDCARD_CS_PIN = 4; // TODO A remplacer suivant votre shield SD
File Fichier;
int c ; //variable de lecture
void setup() {
/* Initialisation du port série (debug) */
Serial.begin(115200);
/* Initialisation du port SPI */
pinMode(10, OUTPUT); // Arduino UNO
/* Initialisation de la carte SD */
Serial.print(F("Init SD card... "));
if (!SD.begin(SDCARD_CS_PIN)) {
Serial.println(F("FAIL"));
for(;;); // appui sur bouton RESET
}
Serial.println(F("OK"));
/* Vérification présence fichier */
if(SD.exists("Test.wav")) {
Serial.println(F("Fichier Test.wav OK"));
}
else {
Serial.println(F("Fichier Test.wav introuvable"));
}
File fichier = SD.open("/Test.wav", FILE_READ);
Serial.println(Fichier.size());
if(!fichier) { // Erreur d'ouverture du fichier
Serial.println(F("Impossible d'ouvrir le fichier Test"));
}
// while (Fichier.available()) {
// Serial.write(Fichier.read());
Serial.println ("Ouverture du fichier Test en lecture");
/* Lecture un octet Essai sur 255 octets*/
for (int i=0; i< 255; i++ ) {
Fichier.seek(i); // se positionne à la position i
Serial.print((Fichier.read())); // affiche le caractère courant
}
/* Fermeture fichier */
Fichier.close(); // fermeture du fichier
Serial.println ("Fermeture fichier effectuee!");
}
void loop() {
}
Résultats :Init SD card... OK
Fichier Test.wav OK
0
Ouverture du fichier Test en lecture
-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1Fermeture fichier effectuee!
Je ne trouve que des
-1 ??
Auriez-vous des idées pour ne lire qu'un seul octet à la fois car je devrai effectuer des traitements pour chacun des octets?