Bonjour a tous,
s'il vous plait j'ai un problème avec mon programme du capteur ultra son A02YYUW, quand je rajoute un delay(1000), le capteur ne fonctionne plus ( donc en gros il fonctionne juste pour delay(100)) et moi Jai besoin de mettre un delay de 3mn minimum.
merci de m'aider
Bonjour
Je vais essayer d'utiliser un traducteur.
La fonction delay() bloque l'exécution du sketch pendant le temps indiqué.
Pour une exécution libre de blocages une fonction timer sur l'exemple IDE base BLINKWITHOUTDELAY est nécessaire.
Thank you so much for your answer. But I bought the sensor and I used the same program but when I increased the delay from 100ms to 1 minute the sensor does not work. I wanted to print the distance every one minute. It gives 0 value for the distance. does it have any link with the SoftwareSerial library. Please help me in finding the error ? Thank you.
Merci beaucoup pour votre réponse. Mais j'ai acheté le capteur et j'ai utilisé le même programme mais lorsque j'ai augmenté le delay de 100 ms à 1 minute, le capteur ne fonctionne pas. Je voulais afficher la distance toutes les minutes. Il donne 0 valeur pour la distance. a-t-il un lien avec la bibliothèque SoftwareSerial. Veuillez m'aider à trouver l'erreur? Merci.
C'est pas que le capteur ne fonctionne pas, c'est que comme le capteur envoie en permanence des informations le buffer de réception de Serial est saturé.
Le capteur a 2 modes de fonctionnement en fonction de l'état de la ligne RX:
RX à 1 ou flottant: émission de données filtrées toutes les 100 à 300ms
RX à 0: émission des données brutes toutes les 100ms
On voit donc que l'émission est permanente et qu'à priori il n'y a pas moyen d'interrompre le flux de données.
Donc il faut lire le port série pour éviter de saturer le buffer de réception même si tu ne veux pas exploiter les informations.
Ceci mis à part, la liaison série est mal exploitée. Il ne faut pas faire de Serial.read() sans s'être assuré qu'il y a des données à lire. Il faut utiliser Serial.available() avant de faire un Serial.read().
Merci beaucoup pour votre reponse. J'ai essayer de verifier la saturation du buffer a l'aide du fonction "overflow". Et ca montre que le SoftwareSerial est sature. J'ai ajouter le Serial.available() comme vous avez dit.
Maintenant je n'arrive pas a eviter cette saturation. S'il vous plait dites moi quelle fonction ou commande puis je ajouter dans le programme pour avoir les mesures de distance.