A voir également:
- Le codage optimisé proposé ci-dessous a été obtenu en appliquant l'algorithme du codage de huffman sur un texte. lucia a codé un mot en utilisant ce codage optimisé. elle a obtenu : 010011011000111
- Codage ascii - Guide
- Codage binaire - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Mettre un mot de passe sur un dossier - Guide
- Comment retranscrire un entretien audio en texte - Guide
2 réponses
georges97
Messages postés
12498
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
15 novembre 2024
2 403
26 juil. 2020 à 19:01
26 juil. 2020 à 19:01
Bonjour,
Je n'ai utilisé le capteur HCSR04 que sur une carte à micro-contrôleur Arduino.
Cependant, le problème que vous posez ne me semble pas soluble car la portée du capteur lui-même, (de mémoire) théoriquement de 400 mm, dépend grandement de la nature des matériaux environnants .
La mesure devient fausse quand le capteur atteint une limite, variable selon l'angle par rapport à la surface de l'obstacle vertical le plus proche et le programme ne peut la prendre en compte si l'obstacle est hors d'atteinte. C'est une caractéristique du composant.
Il faut donc établir des abaques de portée et corriger le programme en conséquence.
Il faut tenir compte aussi du fait que Python ou plus précisément micropython, utilisé sur une pyboard n'est pas un environnement temps réel et qu'il faut tenir compte du délai de traitement des données.
D'autant qu'en demandant l'affichage toutes les demi-secondes, delay (500), le programme ne démarre l'affichage de la distance (dans la boucle for) que s'il a mesuré quelque chose, ce qui ne se produit pas si l'obstacle est hors de portée.
Cordialement
Je n'ai utilisé le capteur HCSR04 que sur une carte à micro-contrôleur Arduino.
Cependant, le problème que vous posez ne me semble pas soluble car la portée du capteur lui-même, (de mémoire) théoriquement de 400 mm, dépend grandement de la nature des matériaux environnants .
La mesure devient fausse quand le capteur atteint une limite, variable selon l'angle par rapport à la surface de l'obstacle vertical le plus proche et le programme ne peut la prendre en compte si l'obstacle est hors d'atteinte. C'est une caractéristique du composant.
Il faut donc établir des abaques de portée et corriger le programme en conséquence.
Il faut tenir compte aussi du fait que Python ou plus précisément micropython, utilisé sur une pyboard n'est pas un environnement temps réel et qu'il faut tenir compte du délai de traitement des données.
D'autant qu'en demandant l'affichage toutes les demi-secondes, delay (500), le programme ne démarre l'affichage de la distance (dans la boucle for) que s'il a mesuré quelque chose, ce qui ne se produit pas si l'obstacle est hors de portée.
Cordialement
26 juil. 2020 à 23:01
J'ai réussi à résoudre le problème en modifiant un peu le code et plus particulièrement le timeout.
Cordialement.
27 juil. 2020 à 06:17
Merci pour votre retour. Ce serait bien de nous transmettre le nouveau code.
Cordialement