VL53L0X _ VMA337 Mesure Laser

Ce capteur de mesure distance laser est donné pour mesurer jusqu'à 2 mètres.
Or les miens ont une étendue de mesure de seulement 1 mètre.
Comment obtenir la plage de mesure de 2 mètres ?
Merci.

quel code et bibliothèque utilisez vous ?

Oui, mais....

Il faut regarder dans la doc ces performances sont garanties sous certaines conditions:

  • surface de la cible
  • réflectivité de la cible
  • couleur de la cible
  • et peut être d'autres que j'ai oubliées

Tout ça pour dire que si tu ne coches pas toutes les cases il possible que tu n'arrives pas à une telle distance.

Il y a aussi un paramétrage de la configuration pour avoir soit une distance précise, soit une mesure rapide, soit une distance de mesure plus grande.

Merci pour cette réponse rapide, qui entraîne la question suivante : comment faire le paramétrage de la configuration pour avoir une mesure plus grande ?

Merci

vous n'avez pas répondu à la question sur la bibliothéque.

Si vous utilisez celle ci , regardez la description, vous verrez des fonctions qui parlent de "range"

  • bool setSignalRateLimit(float limit_Mcps)
    Sets the return signal rate limit to the given value in units of MCPS (mega counts per second). This is the minimum amplitude of the signal reflected from the target and received by the sensor necessary for it to report a valid reading. Setting a lower limit increases the potential range of the sensor but also increases the likelihood of getting an inaccurate reading because of reflections from objects other than the intended target. This limit is initialized to 0.25 MCPS by default. The return value is a boolean indicating whether the requested limit was valid.
  • float getSignalRateLimit()
    Returns the current return signal rate limit in MCPS.
  • bool setMeasurementTimingBudget(uint32_t budget_us)
    Sets the measurement timing budget to the given value in microseconds. This is the time allowed for one range measurement; a longer timing budget allows for more accurate measurements. The default budget is about 33000 microseconds, or 33 ms; the minimum is 20 ms. The return value is a boolean indicating whether the requested budget was valid.
  • uint32_t getMeasurementTimingBudget()
    Returns the current measurement timing budget in microseconds.
  • bool setVcselPulsePeriod(vcselPeriodType type, uint8_t period_pclks) Sets the VCSEL (vertical cavity surface emitting laser) pulse period for the given period type (VL53L0X::VcselPeriodPreRange or VL53L0X::VcselPeriodFinalRange) to the given value (in PCLKs). Longer periods increase the potential range of the sensor. Valid values are (even numbers only):Pre: 12 to 18 (initialized to 14 by default)
    Final: 8 to 14 (initialized to 10 by default)The return value is a boolean indicating whether the requested period was valid.

Oui et si c'est celle d'Adafruit on voit dans le .h qu'il y a un enum qui permet de paramétrer le fonctionnement. On peut passer le paramètre dans begin() et il y a aussi une méthode boolean configSensor(VL53L0X_Sense_config_t vl_config); pour modifier la configuration au vol.

Cette famille de capteur utilise un microcontrôleur interne pour lequel son concepteur STMicroelectronic a écrit une API qui malheureusement n'est pas accompagnée d'exemples.
Les bibliothèques que l'on trouve ne sont que des "habillages" de l'API STMicroelectronic.
Ces habillages rendent l'usage de l'API STMicro plus simple, mais ils sont plus ou moins complets.

Je me suis intéressé au VL53L1X pour lequel il existe un habillage "Sparkfun" qui est très clair et sa clarté permet de vérifier aisément qu'il est complet.
J'ai bien aimé la version VL53L1X de Sparkfun, je n'ai pas trouvé de version Sparkfun pour le VL53L0X

Sur le VL53L0X il y a probablement comme sur le V53L1X un choix de la gamme de mesure de distance.
Il est possible de tout régler manuellement (avec une bonne lecture de la documentation), Il existe probablement aussi, comme sur le VL53L1X des configurations toutes préparées qu'il suffit d'appeler.

Ces composants sont des éléments de mesure, ils nécessitent de lire la documentation : datasheet et notes d'application "STMmicro", les autres origines de la documentation ne sont que des copies plus ou moins complètes de celle de STMicro.

Pour juste détecter un passage une diode émettrice infrarouge et une diode réceptrice infrarouge peuvent faire l'affaire surtout si le faisceaux IR est modulé pour sortir le signal récupéré du bruit ambiant.

J'utilise la bibliothèque Adafruit_VL53L0X avec le code vl53l0x.ino trouvé sur GitHub :
slight_smile: Adafruit_VL53L0X/examples at master · adafruit/Adafruit_VL53L0X · GitHub.
Longueur maxi mesurée : 1,20 m.

Je viens de vous répondre, tardivement car votre message était dans mes spams...
Merci pour votre réponse.

J'ai résolu mon problème avec le programme POLOLU pour le VL53L0X, trouvé sur le site MakerGuides : la mesure laser va bien jusqu'à 2 mètres.
RF

C'est bien de partager ta réussite, mais ce serait encore mieux de partager la correction que tu as apporté par rapport aux messages précédents.
La solution/correction d'erreur peut servir à d'autres.

Note : quand je cherche une bibliothèque, je ne vais pas sur des sites x ou y .
Dans un moteur de rechercher je fais : "github nom_du_composant".
En faisant ainsi, je peux disposer de l'ensemble des bibliothèques disponibles.

Je suis nouveau sur ce forum. Dois-je comprendre que vous en êtes le chef ?

Moi chef !
Quelle idée !

Ma remarque n'est qu'un rappel de ce qu'est la bonne éducation, le respect des autres.

Tu as recherché de l'aide, avec les renseignements que tu as fournis, un certain nombre de personnes t'ont accordé du temps de leur cerveau pour t'aider.
Tu trouves une explication et tu nous dis : j'ai trouvé, circulez, il n'y a rien à voir.

La méthode "consommateur" n'est vraiment pas la meilleure dans la vie.

Monsieur,

A bientôt 72 ans, j'estime ne plus avoir à recevoir des leçons d'éducation et de morale.

Pour répondre à votre observation déplacée, je vous rappelle mon message indiquant :

  • que j'avais résolu mon problème,

  • et la solution à ce problème.

R. Fourreau

Oh, oh, on se détend.

Ce que veut dire @68tjs c'est qu'au lieu de ça

Il aurait été plus sympa de compléter le paragraphe avec ça

VL53L0X/TOF0200C Distance Sensor with Arduino

Ce qui évitera à ceux qui rencontreront le problème d'avoir à faire la recherche.

Les sites webs tierces parties vont et viennent.

En postant le détail de votre solution ici (ie le code + le lien vers une bibliothèque, etc) vous la rendez plus pérenne et utile pour de futurs lecteurs de ce fil de discussion qui rencontreraient le même souci.

Les bénévoles qui aident ici, le font pour aider le demandeur, mais aussi tous les autres futurs lecteurs.

C'est ce que @68tjs suggérait — en documentant précisément votre solution, vous pourriez contribuer en ce sens.

Malheureusement il n'y a pas d'âge pour ça :frowning:
J'ai déjà vu des personnes d'un certain âge, dire des choses complétement déplacée :slight_smile:

Je rejoins mes co-Forumeur, une description détaillée de ta solution, serait génial :slight_smile:

J’ai expliqué le fonctionnement du forum en privé, calmement sans attaque, y compris l’usage du moteur de recherche interne, je pense que l’on peut en rester là .

Monsieur,

Aucun de mes messages ne contient de "choses complètement déplacées" (avec un s), comme vous le suggérez.

Par contre, les messages que vous m'adressez, et en particulier celui d'hier (je suis mal éduqué, je manque de respect, je ne suis qu'un consommateur, ...), sont tout à fait irrespectueux et insultants à mon égard.

Encore une fois, la solution je l'ai donnée.

Je suis nouveau sur ce forum et n'en connais peut-être pas tous les usages, mais on peut donner des conseils d'utilisation sans se montrer grossier.

Je remercie d'ailleurs d'autres contributeurs qui m'ont accompagné dans cette voie sans adopter votre attitude, 68tjs.

Enfin, je clos cette discussion stérile avec vous, 68tjs.

R. F.

Je suis complétement d'accord avec toi, mais n'ai jamais prétendu cela :frowning:
Donc non je ne suggère absolument pas cela.

Ces messages ne venant pas de ma part, je suppose que c'est un vous générale.

Je suis complétement d'accord. Je ne pense pas avoir été grossier ?

Je ne suis pas 68tjs.

Je t'ai juste indiqué que ton âge, n'avait aucun rapport avec le fait que tu sois bien éduqué ou non et je ne me permet absolument pas d'émettre un jugement sur ce point.
Je t'indique aussi, comme les autres intervenant, si tu peux à l'avenir donner un plus d'information que des termes à recherche dans un moteur de recherche, ça serait génial.

Le sujet est aussi clos pour moi en espérant tu lire dans d'autre sujet :slight_smile: