Bonsoir,
et bonne année!
Avec tous les changements, est-ce que tu pourrais nous dire pour le code ci-dessus (ie celui que tu viens de poster) ce qui marches, et ce qui ne marches pas?
Posté 05 janvier 2022 - 10:12
Bonsoir,
et bonne année!
Avec tous les changements, est-ce que tu pourrais nous dire pour le code ci-dessus (ie celui que tu viens de poster) ce qui marches, et ce qui ne marches pas?
Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...
Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.
Posté 07 janvier 2022 - 12:44
Bonjour,
est-ce que quand la mélodie joue, tu as "Compteur = " qui s'affiche dans le moniteur série? Si oui, une seule fois après le lancement du son (quasi en simultané), ou une fois toutes les 0.1 secondes?
Sinon, pour y voir un peu plus clair, est-ce que tu pourrais modifier le début du loop de la manière suivante :
void loop() { Serial.println("debut du loop"); // ACQUISITION ET TRAITEMENT DU SIGNAL DU CANAL 3 DE L'EMETTEUR RC // On Mesure la durée du signal canal 3 Duree_Signal_Canal_3 = pulseIn(Signal_Canal_3, HIGH); Serial.print("Duree_Signal_Canal_3="); Serial.println(Duree_Signal_Canal_3); // On Convertit la durée du signal du canal 3 en pourcentage ( -100% = au manche mini, +100% = au manche maxi, le neutre étant à 0%) Valeur_Signal_Canal_3 = map(Duree_Signal_Canal_3,Temps_Mini_3,Temps_Maxi_3,-100,100);
et pour chaque mélodie, rajouter un println juste avant le play et un juste après: par exemple :
// Alarme 1 if(Memoire_Bruitage==1)// Si la mémoire de bruitage est égal à 1 { Serial.println("Play Alarm1 start"); tmrpcm.play("Alarm1.wav");// On diffuse la mélodie Serial.println("Play Alarm1 started"); }
Et me dire :
1) la durée entre l'affichage de sart et de started (soit c'est quasi instantané, soit c'est la durée de la mélodie)
2) faire un copier coller du moniteur série. (coche la case "afficher l’horodatage", ce sera encore mieux)
Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...
Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.
Posté 07 janvier 2022 - 09:18
void loop() { Serial.println("debut du loop"); // ACQUISITION ET TRAITEMENT DU SIGNAL DU CANAL 3 DE L'EMETTEUR RC // On Mesure la durée du signal canal 3 Duree_Signal_Canal_3 = pulseIn(Signal_Canal_3, HIGH); // On Convertit la durée du signal du canal 3 en pourcentage ( -100% = au manche mini, +100% = au manche maxi, le neutre étant à 0%) Valeur_Signal_Canal_3 = map(Duree_Signal_Canal_3,Temps_Mini_3,Temps_Maxi_3,-100,100); // Si le signal du canal 3 n'est pas dans la plage de temps ( mini ou maxi) avec une tolérance if ( Duree_Signal_Canal_3 <= 1055 || Duree_Signal_Canal_3 >= 1895 ) { Valeur_Signal_Canal_3=0; // On considère que la valeur du signal du canal 3 est égale à 0% ( manche au neutre) Compteur_Impulsions=0;// On reset le compteur à 0 Tempo_Cycle_Impulsions= 0;// On désactive la temporisation du cycle d'impulsions sur le manche du canal 3 }
Puis :
//ACTIVATION DES MELODIES // Alarme 1 if(Memoire_Bruitage==1)// Si le compteur d'impulsions est égal à 1 { Serial.println("Play Alarm1 start"); tmrpcm.play("Alarm1.wav");// On diffuse la mélodie Serial.println("Play Alarm1 started"); } // Corne de brume if(Memoire_Bruitage==2)// Si le compteur d'impulsions est égal à 2 { Serial.println("Play Horn1 start"); tmrpcm.play("Horn1.wav");// On diffuse la mélodie Serial.println("Play Horn1 started"); } //Ancre if(Memoire_Bruitage==-1) //Si le compteur d'impulsions est égal à -1 { Serial.println("Play Ancre start"); tmrpcm.play("Ancre.wav");// On diffuse la mélodie Serial.println("Play Ancre started"); } // Sonnette if(Memoire_Bruitage==-2)// Si le compteur d'impulsions est égal à -2 { Serial.println("Play Ring start"); tmrpcm.play("Ring.wav");// On diffuse la mélodie Serial.println("Play Ring started"); }
Voici la copie du moniteur série pour un compteur à 1 et la diffusion de l'alarme 1.
Je constate que très peu d'écart de temps:
20:50:10.518 -> Play Alarm1 start
20:50:10.552 -> Play Alarm1 started
20:50:07.319 -> debut du loop 20:50:07.319 -> Compteur = 0 20:50:07.319 -> Memoire de Bruitage = 0 20:50:07.455 -> debut du loop 20:50:07.455 -> Compteur = 0 20:50:07.455 -> Memoire de Bruitage = 0 20:50:07.523 -> debut du loop 20:50:07.658 -> Compteur = 1 20:50:07.658 -> Memoire de Bruitage = 0 20:50:07.728 -> debut du loop 20:50:07.796 -> Compteur = 1 20:50:07.796 -> Memoire de Bruitage = 0 20:50:07.896 -> debut du loop 20:50:07.896 -> Compteur = 1 20:50:07.896 -> Memoire de Bruitage = 0 20:50:07.997 -> debut du loop 20:50:07.997 -> Compteur = 1 20:50:07.997 -> Memoire de Bruitage = 0 20:50:08.100 -> debut du loop 20:50:08.100 -> Compteur = 1 20:50:08.100 -> Memoire de Bruitage = 0 20:50:08.200 -> debut du loop 20:50:08.200 -> Compteur = 1 20:50:08.200 -> Memoire de Bruitage = 0 20:50:08.337 -> debut du loop 20:50:08.337 -> Compteur = 1 20:50:08.337 -> Memoire de Bruitage = 0 20:50:08.440 -> debut du loop 20:50:08.440 -> Compteur = 1 20:50:08.440 -> Memoire de Bruitage = 0 20:50:08.541 -> debut du loop 20:50:08.541 -> Compteur = 1 20:50:08.541 -> Memoire de Bruitage = 0 20:50:08.643 -> debut du loop 20:50:08.643 -> Compteur = 1 20:50:08.643 -> Memoire de Bruitage = 0 20:50:08.746 -> debut du loop 20:50:08.746 -> Compteur = 1 20:50:08.746 -> Memoire de Bruitage = 0 20:50:08.883 -> debut du loop 20:50:08.883 -> Compteur = 1 20:50:08.883 -> Memoire de Bruitage = 0 20:50:08.983 -> debut du loop 20:50:08.983 -> Compteur = 1 20:50:08.983 -> Memoire de Bruitage = 0 20:50:09.086 -> debut du loop 20:50:09.086 -> Compteur = 1 20:50:09.086 -> Memoire de Bruitage = 0 20:50:09.187 -> debut du loop 20:50:09.187 -> Compteur = 1 20:50:09.187 -> Memoire de Bruitage = 0 20:50:09.323 -> debut du loop 20:50:09.323 -> Compteur = 1 20:50:09.323 -> Memoire de Bruitage = 0 20:50:09.423 -> debut du loop 20:50:09.423 -> Compteur = 1 20:50:09.423 -> Memoire de Bruitage = 0 20:50:09.526 -> debut du loop 20:50:09.526 -> Compteur = 1 20:50:09.526 -> Memoire de Bruitage = 0 20:50:09.628 -> debut du loop 20:50:09.628 -> Compteur = 1 20:50:09.628 -> Memoire de Bruitage = 0 20:50:09.764 -> debut du loop 20:50:09.764 -> Compteur = 1 20:50:09.764 -> Memoire de Bruitage = 0 20:50:09.865 -> debut du loop 20:50:09.865 -> Compteur = 1 20:50:09.865 -> Memoire de Bruitage = 0 20:50:09.969 -> debut du loop 20:50:09.969 -> Compteur = 1 20:50:09.969 -> Memoire de Bruitage = 0 20:50:10.072 -> debut du loop 20:50:10.072 -> Compteur = 1 20:50:10.072 -> Memoire de Bruitage = 0 20:50:10.208 -> debut du loop 20:50:10.208 -> Compteur = 1 20:50:10.208 -> Memoire de Bruitage = 0 20:50:10.312 -> debut du loop 20:50:10.312 -> Compteur = 1 20:50:10.312 -> Memoire de Bruitage = 0 20:50:10.415 -> debut du loop 20:50:10.415 -> Compteur = 1 20:50:10.415 -> Memoire de Bruitage = 0 20:50:10.518 -> debut du loop 20:50:10.518 -> Play Alarm1 start 20:50:10.552 -> Play Alarm1 started 20:50:10.552 -> Compteur = 0 20:50:10.587 -> Memoire de Bruitage = 0 20:50:10.653 -> debut du loop 20:50:10.653 -> Compteur = 0 20:50:10.653 -> Memoire de Bruitage =
De la même manière la copie du moniteur série pour un compteur à 2 et la diffusion de la Corne de brume .
Je constate que très peu d'écart de temps:
21:09:49.907 -> debut du loop 21:09:49.907 -> Compteur = 0 21:09:49.907 -> Memoire de Bruitage = 0 21:09:50.009 -> debut du loop 21:09:50.111 -> Compteur = 1 21:09:50.111 -> Memoire de Bruitage = 0 21:09:50.216 -> debut du loop 21:09:50.250 -> Compteur = 1 21:09:50.250 -> Memoire de Bruitage = 0 21:09:50.349 -> debut du loop 21:09:50.349 -> Compteur = 1 21:09:50.349 -> Memoire de Bruitage = 0 21:09:50.453 -> debut du loop 21:09:50.453 -> Compteur = 1 21:09:50.453 -> Memoire de Bruitage = 0 21:09:50.555 -> debut du loop 21:09:50.555 -> Compteur = 1 21:09:50.555 -> Memoire de Bruitage = 0 21:09:50.656 -> debut du loop 21:09:50.792 -> Compteur = 2 21:09:50.792 -> Memoire de Bruitage = 0 21:09:50.862 -> debut du loop 21:09:50.897 -> Compteur = 2 21:09:50.897 -> Memoire de Bruitage = 0 21:09:51.001 -> debut du loop 21:09:51.001 -> Compteur = 2 21:09:51.001 -> Memoire de Bruitage = 0 21:09:51.105 -> debut du loop 21:09:51.105 -> Compteur = 2 21:09:51.105 -> Memoire de Bruitage = 0 21:09:51.244 -> debut du loop 21:09:51.244 -> Compteur = 2 21:09:51.244 -> Memoire de Bruitage = 0 21:09:51.344 -> debut du loop 21:09:51.344 -> Compteur = 2 21:09:51.344 -> Memoire de Bruitage = 0 21:09:51.451 -> debut du loop 21:09:51.451 -> Compteur = 2 21:09:51.451 -> Memoire de Bruitage = 0 21:09:51.555 -> debut du loop 21:09:51.555 -> Compteur = 2 21:09:51.555 -> Memoire de Bruitage = 0 21:09:51.654 -> debut du loop 21:09:51.654 -> Compteur = 2 21:09:51.654 -> Memoire de Bruitage = 0 21:09:51.790 -> debut du loop 21:09:51.790 -> Compteur = 2 21:09:51.790 -> Memoire de Bruitage = 0 21:09:51.891 -> debut du loop 21:09:51.891 -> Compteur = 2 21:09:51.891 -> Memoire de Bruitage = 0 21:09:51.993 -> debut du loop 21:09:51.993 -> Compteur = 2 21:09:51.993 -> Memoire de Bruitage = 0 21:09:52.095 -> debut du loop 21:09:52.095 -> Compteur = 2 21:09:52.095 -> Memoire de Bruitage = 0 21:09:52.229 -> debut du loop 21:09:52.229 -> Compteur = 2 21:09:52.229 -> Memoire de Bruitage = 0 21:09:52.334 -> debut du loop 21:09:52.334 -> Compteur = 2 21:09:52.334 -> Memoire de Bruitage = 0 21:09:52.435 -> debut du loop 21:09:52.435 -> Compteur = 2 21:09:52.435 -> Memoire de Bruitage = 0 21:09:52.539 -> debut du loop 21:09:52.539 -> Compteur = 2 21:09:52.539 -> Memoire de Bruitage = 0 21:09:52.669 -> debut du loop 21:09:52.669 -> Compteur = 2 21:09:52.669 -> Memoire de Bruitage = 0 21:09:52.771 -> debut du loop 21:09:52.771 -> Compteur = 2 21:09:52.771 -> Memoire de Bruitage = 0 21:09:52.875 -> debut du loop 21:09:52.875 -> Compteur = 2 21:09:52.875 -> Memoire de Bruitage = 0 21:09:52.979 -> debut du loop 21:09:52.979 -> Play Horn1 start 21:09:53.010 -> Play Horn1 started 21:09:53.010 -> Compteur = 0 21:09:53.045 -> Memoire de Bruitage = 0 21:09:53.113 -> debut du loop 21:09:53.113 -> Compteur = 0 21:09:53.113 -> Memoire de Bruitage = 0
Pour les autres mélodies c'est identique
Merci pour votre aide
0 members, 0 guests, 0 anonymous users