Quand vous dites sur un autre programme vous voulez dire avec la même bibliothèque ?
Dans le code posté vos commentaires ne correspondent pas aux valeurs, vous êtes sûr de ce que vous attendez?
Quand vous dites sur un autre programme vous voulez dire avec la même bibliothèque ?
Dans le code posté vos commentaires ne correspondent pas aux valeurs, vous êtes sûr de ce que vous attendez?
Bonjour,
Ce n'est pas la même bibliothèque
La ça fonctionne mais pas en boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" // Use pins 2 and 3 to communicate with DFPlayer Mini static const uint8_t PIN_MP3_TX = 2; // Connects to module's RX static const uint8_t PIN_MP3_RX = 3; // Connects to module's TX SoftwareSerial softwareSerial(PIN_MP3_RX, PIN_MP3_TX); // Create the Player object DFRobotDFPlayerMini player; void setup() { // Init USB serial port for debugging Serial.begin(9600); // Init serial port for DFPlayer Mini softwareSerial.begin(9600); // Start communication with DFPlayer Mini if (player.begin(softwareSerial)) { Serial.println("OK"); // Set volume to maximum (0 to 30). player.volume(10); // Play the first MP3 file on the SD card player.play(1); } else { Serial.println("Connecting to DFPlayer Mini failed!"); } } void loop() { }
Cdlt
Votre code fait
Avez vous essayé juste de faire dans l’ordre le réglage du son puis jouer la piste ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 myMP3.play (1); Serial.println("volume au max"); myMP3.volume(5); Serial.println("je répète la track 1"); myMP3.loop(1);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Serial.println("réglage volume"); myMP3.volume(10); Serial.println("je répète la track 1"); myMP3.loop(1);
Oui bien sûr mais le son ne se règle pas
que voulez vous dire par là, si vous faites
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Serial.println("réglage volume BAS"); myMP3.volume(1); Serial.println("je répète la track 1"); myMP3.loop(1);
vous avez le même niveau sonore en sortie?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Serial.println("réglage volume FORT"); myMP3.volume(30); Serial.println("je répète la track 1"); myMP3.loop(1);
Bonsoir,
Oui c est bien cela, le volume de change pas
il semble qu'il y ait des clones de la puce originale qui ne se comportent pas forcément bien. Avez vous un original de DFRobot?
regardez https://github.com/PowerBroker2/DFPl...Fast/issues/54 pour avoir quelques idées (rajouter une petite tempo par exemple)
Bonjour et merci pour l'interet que vous portez à mon problème,
J'avais vu aussi qu'il risquait d'y avoir un problème suivant la puce du df player, j'ai fait plusieurs montages sans soucis, mais ce dernier code ne passe pas pour ce détail de volume,
A la minute 14
J'ai trouvé ce code qui convient bien pour mon montage
Cdlt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #include <SoftwareSerial.h> #include <DFRobotDFPlayerMini.h> SoftwareSerial DFPlayer(3, 2); DFRobotDFPlayerMini myDFPlayer; int i=1; void setup() { DFPlayer.begin(9600); myDFPlayer.begin(DFPlayer); myDFPlayer.volume(10); myDFPlayer.play(1); } void loop() { myDFPlayer.play(i); i++; delay(50000); }
Ce code ne joue pas la piste 1 en boucle
Je n'ai qu'une piste sur la carte sd et elle ait joué en boucle
Elle dure 5 secondes ?
Vous comprenez le code de l’exemple que vous avez posté ? Et spécifiquement le rôle de la variable i?
Non, c'est un code d'exemple récupéré sur youtube et qui fonctionne
Je mets le lien du site, voire minute 1.33
je ne pense pas qu'il fasse ce que vous voulez
la loop() fait cela
Au début i vaut 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void loop() { myDFPlayer.play(i); i++; delay(50000); }
On demande de jouer la chanson N° i (donc ici N° 1) donc ça se lance
On augmente i, donc i vaut 2
On attend 50 secondes (50,000ms = 50s) et la loop boucle
On demande de jouer la chanson N° i (donc ici N° 2) donc ça se lance ==> mais vous n'avez pas de chanson 2 sur la carte, sans doute rien ne se passe
On augmente i, donc i vaut 3
On attend 50 secondes (50,000ms = 50s) et la loop boucle
On demande de jouer la chanson N° i (donc ici N° 3) donc ça se lance ==> mais vous n'avez pas de chanson 3 sur la carte, sans doute rien ne se passe
On augmente i, donc i vaut 4
On attend 50 secondes (50,000ms = 50s) et la loop boucle
etc...
au bout d'un long moment i va dépasser ce qui est représentable sur un int, 32767 et passer négatif. mais c'est dans 32768 x 50s = 1*638*400 s (soit plus de 455 heures, vous n'aurez sans doute pas la patience d'attendre )
Je vous crois volontiers, je peux vous dire que après les 1 minute 20 le morceau repart au début et sans fin,
Je suppose que si on demande de jouer un fichier qui n’existe pas il en prend un autre…
Mais autant ne demander que la piste 1 et la bonne durée alors
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <SoftwareSerial.h> #include <DFRobotDFPlayerMini.h> SoftwareSerial DFPlayer(3, 2); DFRobotDFPlayerMini myDFPlayer; void setup() { DFPlayer.begin(9600); myDFPlayer.begin(DFPlayer); myDFPlayer.volume(10); } void loop() { myDFPlayer.play(1); delay(80500ul); // 1 min 20 pour la durée de la chanson et 0.5s d3 pause avant de recommencer }
D'accord, je vais téléverser votre code qui semble plus logique
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager