Tous mes fichiers sont copiés de la sorte: 0001.mp3, 0002.mp3, 0003.mp3..........jusqu'à 0061.mp3
Pour voir, j'ai supprimé tous les fichiers de la carte, sauf le fichier du "1". Il me lance 4 fois le chiffre 1!!! Même si je change le délai "Annonce unité" rien ne change.
Pour ne pas devoir copier tes fichiers dans un ordre défini, une solution, pas forcément la plus simple, est de mettre chaque fichier dans son répertoire qui lui a le numéro désiré et d'utiliser playFolder:
myDFPlayer.playFolder(15, 4); //play specific mp3 in SD:/15/004.mp3; Folder Name(1~99); File Name(1~255)
La variable d'appel du fichier devenant le numéro du répertoire.
Cordialement
jpbbricole
le module n'utilise pas non plus le nom du répertoire, c'est l'ordre de création des répertoires qui importe. (le module va taper directement dans la table d'indirection qui dit où sont rangés les fichiers et les répertoires)
OK, votre condo sert pour éviter les rebond. il n'est pas nécessaire si on utilise la bibliothèque mais ça ne mange pas de pain comme on dit.
Essayez ce code qui est en gros le votre mais sans le MP3
#include <Toggle.h>
const byte lm35Pin = A0; // Broche analogique pour le LM35
const byte buttonPin = 2; // Broche pour le bouton poussoir
Toggle bouton;
void setup() {
bouton.begin(buttonPin);
Serial.begin(115200);
}
void loop() {
bouton.poll();
if (bouton.onPress()) announceTemperature();
}
void announceTemperature() {
int sensorValue = analogRead(lm35Pin);
float temperature = (sensorValue * 5.0 / 1023.0) * 100.0; // Conversion en degrés Celsius
int integerPart = temperature; // Partie entière de la température
int decimalPart = (temperature - integerPart) * 10; // Partie décimale (dixième de degré)
Serial.print(integerPart + 1);
Serial.print(" POINT "); // "point"
Serial.print(decimalPart + 1); // Les fichiers pour les dixièmes sont numérotés de 0001.mp3 (0) à 0010.mp3 (9)
Serial.println(" degré Celsius");
}
vérifiez que lorsque vous appuyez sur le bouton vous avez ce que vous voulez dans le moniteur série comme N° de fichiers.
(attention dans votre code la formule que vous avez plus l'affichage du N° de fichier donne un chiffre entre 1 et 501 et vous faites le test pour voir si c'est entre 0 et 50 pour la partie entière mais le reste est exécuté à chaque fois.)
Il ne se passe rien du tout si 'appuie sur le bouton qui est bien branché en 2.
vous avez bien ouvert le moniteur série à 115200 bauds et branché comme au post 16?
pouvez vous poster une photo nette de votre montage?
vous n'avez pas fait un montage avec juste le schéma proposé ?
pour les GND, il vaut mieux un câblage en étoile plutôt que de les mettre les uns derrière les autres
Dans le principe c'est vrai surtout lorsqu'on a besoin de puissance par exemple sur des amplificateurs audio. dans ce cas on part du pied du condensateur chimique de l'alimentation, mais dans notre cas, cela n'a que peu d'importance vu le peu d'intensité du montage. Néanmoins, je vais éclaircir le montage en supprimant des points d'alimentation redondants. Le montage présenté correspond au bouton poussoir et au potentiomètre (qui pend sur la droite) pour faire varier la tension de A0.
Très honnêtement, avec la photo on est incapable de dire s'il y a une mauvaise connexion quelque part.
Dans cette partie, par exemple, il est difficile de dire quel fil est relié à quel autre
Je comprends très bien que vous ayez des difficultés à voir si mon schéma est bon, reste ma parole et elle vaut ce qu'elle vaut, néanmoins j'ai passé ma carrière à concevoir des matériels électroniques pour une entreprise de sécurité et je peux vous assurer qu'il est correct. Cependant, comme je l'ai dit précédemment, je vais éclaircir mon montage pour que ce soit plus clair. Je ferai cela demain matin.
Bonne soirée à tous.
hello
les deux platines sont en 5 volts. pas besoin des résistances en série dans la liaison série entre elles
Sans doute, mais cela ne nuis pas au fonctionnement du montage.
Par principe essayez de faire le montage le plus simple possible - ces fils DuPont en boucle longue sont des antennes qui attrapent tous les parasites et bruit électromagnétique...
Un haut-parleur posé sur une breadboard peut induire des perturbations électromagnétiques et électriques, affectant les signaux numériques en raison des courants parasites induits par son champ magnétique et des variations de tension causées par sa charge inductive.
vraiment - commencez avec cela - sans rien de plus connecté à la breadboard ou à l'arduino.
voyez si le code du post 25 fonctionne pour vous
#include <Toggle.h>
const byte lm35Pin = A0; // Broche analogique pour le LM35
const byte buttonPin = 2; // Broche pour le bouton poussoir
Toggle bouton;
void announceTemperature() {
int sensorValue = analogRead(lm35Pin);
float temperature = (sensorValue * 5.0 / 1023.0) * 100.0; // Conversion en degrés Celsius
int integerPart = temperature; // Partie entière de la température
int decimalPart = (temperature - integerPart) * 10; // Partie décimale (dixième de degré)
Serial.print(integerPart + 1);
Serial.print(" POINT "); // "point"
Serial.print(decimalPart + 1); // Les fichiers pour les dixièmes sont numérotés de 0001.mp3 (0) à 0010.mp3 (9)
Serial.println(" degré Celsius");
}
void setup() {
bouton.begin(buttonPin);
Serial.begin(115200);
}
void loop() {
bouton.poll();
if (bouton.onPress()) announceTemperature();
}
Voilà, j'ai viré quelques fils et j'ai essayé de faire partir mes points de masse et d'alimentation du même point. Pour la masse, il y a deux départ sur l'Ardino, mai un seul point pour le 5 V. Néanmoins, vu qu'il n'y a que l'alimentation du DFPlayer et le potentiomètre ça réduit le nombre de fil.
Ensuite, pour m'assurer du fonctionnement, j'ai essayé le montage avec mon code de thermomètre. Cela fonctionne avec le même défaut.
puis j'essayé le dernier code envoyé en changeant le monitor à 115200 et en ayant installé Toggle.h et cela ne fonctionne pas. Pas d'erreurs signalé au téléversement mais aucun fonctionnement.
c'est plus propre, mais ça vaudrait le coup de tester vraiment sans rien d'autre de branché que le potentiomètre et le bouton comme sur mon schéma
Je ne comprends pas pourquoi vous ne voulez pas essayer comme cela.
Une fois que cette base sera fonctionnelle, vous pourrez rajouter d'autres trucs...
erreur
Tu télécharges le code et tu ouvres le moniteur série, en sélectionnant un débit à 115200, pour voir les messages retournés.





