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:53.010 -> Play Horn1 started
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