Go to file
2023-03-04 18:28:08 +01:00
.vscode Initialisation du dépôt à partir de VL53L1X_rangefinder. La sélection de capteur désactive bien le capteur désiré. 2023-02-21 21:52:36 +01:00
.gitignore Initialisation du dépôt à partir de VL53L1X_rangefinder. La sélection de capteur désactive bien le capteur désiré. 2023-02-21 21:52:36 +01:00
CMakeLists.txt Initialisation des WS2812 (Neopixel) 2023-02-25 11:10:01 +01:00
main.c Valeurs prudentes pour l'acquisition des des capteurs 2023-03-04 18:28:08 +01:00
pico_sdk_import.cmake Initialisation du dépôt à partir de VL53L1X_rangefinder. La sélection de capteur désactive bien le capteur désiré. 2023-02-21 21:52:36 +01:00
Readme.md Ajout Readme 2023-03-03 20:19:11 +01:00
SelectionCapteur.c Le code d'initialisation (i) et le code de lecture (j) semble marcher à tous les coups. A confirmer + faire README 2023-02-28 22:43:41 +01:00
SelectionCapteur.h Ajout des timeout dans VL53L1X_plateform, correction bug dans Seleciton capteur + scénarios de tests dans main sur l'init des capteurs 2023-02-26 21:24:30 +01:00
vl53l1_platform.c Ajout des timeout dans VL53L1X_plateform, correction bug dans Seleciton capteur + scénarios de tests dans main sur l'init des capteurs 2023-02-26 21:24:30 +01:00
vl53l1_platform.h Initialisation du dépôt à partir de VL53L1X_rangefinder. La sélection de capteur désactive bien le capteur désiré. 2023-02-21 21:52:36 +01:00
vl53l1_types.h Initialisation du dépôt à partir de VL53L1X_rangefinder. La sélection de capteur désactive bien le capteur désiré. 2023-02-21 21:52:36 +01:00
VL53L1X_api.c Ajout des timeout dans VL53L1X_plateform, correction bug dans Seleciton capteur + scénarios de tests dans main sur l'init des capteurs 2023-02-26 21:24:30 +01:00
VL53L1X_api.h Initialisation du dépôt à partir de VL53L1X_rangefinder. La sélection de capteur désactive bien le capteur désiré. 2023-02-21 21:52:36 +01:00
VL53L1X_calibration.c Initialisation du dépôt à partir de VL53L1X_rangefinder. La sélection de capteur désactive bien le capteur désiré. 2023-02-21 21:52:36 +01:00
VL53L1X_calibration.h Initialisation du dépôt à partir de VL53L1X_rangefinder. La sélection de capteur désactive bien le capteur désiré. 2023-02-21 21:52:36 +01:00
ws2812.c Couleur en fonction des distances 2023-03-04 13:23:32 +01:00
ws2812.h Couleur en fonction des distances 2023-03-04 13:23:32 +01:00
ws2812.pio Initialisation des WS2812 (Neopixel) 2023-02-25 11:10:01 +01:00

Détection de l'adversaire - 2023

Le code présenté ici sert à la détection de l'adversaire pour les robots de l'équipe Poivron Robotique qui participe à la coupe de France de Robotique. Ce code tourne sur un Raspberry Pi Pico et une carte personnalisé sur laquelle sont banchés 12 capteurs VL53L1X.

Principe de fonctionnement

Les capteurs VL53L1X sont des capteurs I2C dont l'adresse est configurable. Cependant, le capteur revient à son adresse par défaut dès qu'il est éteint ou désactivé par la broche XSHUT. Le Raspberry Pi Pico est relié à un 74HC4067, qui lui permet de désactiver un capteur à la fois.

Le code utilisé ici repose sur VL53L1X_Raspberry_Pi_Pico et l'exemple pour piloter les LED RGB ws2812 fourni avec le SDK du Raspberry Pi Pico.

Initialisation

La première étape de l'initialisation consiste à changer tous les capteurs d'adresses en une seule commande I2C.

La seconde étape consiste, pour chaque capteur, à le désactiver puis à le réactiver à l'aide du 74HC4067 et de la boche XSHUT du composant. Ce faisant, il reprend son adresse par défaut et il est le seul à cette adresse. Ainsi il est possible, via le bus I2C de lui attribuer une adresse unique.

Démo

Une fois branchée à un ordinateur, le Raspberry Pi Pico propose un menu par la liaison USB/série.

  • La commande "i" initialise les capteurs et change d'état les LEDs en fonction du succès de l'initialisation.
  • La commande "j" démarre une lecture continue et renvoie les données des capteurs dans un format compatible avec Teleplot.