5.4 KiB
Détecter la proximité - Wio Terminal
Dans cette partie de la leçon, vous allez ajouter un capteur de proximité à votre Wio Terminal et lire les distances qu'il mesure.
Matériel
Le Wio Terminal a besoin d'un capteur de proximité.
Le capteur que vous utiliserez est un capteur de distance Grove Time of Flight. Ce capteur utilise un module de télémétrie laser pour détecter les distances. Il a une portée de 10 mm à 2000 mm (1 cm - 2 m) et fournit des mesures assez précises dans cette plage, avec des distances supérieures à 1000 mm rapportées comme 8109 mm.
Le télémètre laser se trouve à l'arrière du capteur, du côté opposé à la prise Grove.
C'est un socket I2C.
Connecter le capteur Time of Flight
Le capteur Grove Time of Flight peut être connecté au Wio Terminal.
Tâche - connecter le capteur Time of Flight
Connectez le capteur Time of Flight.
-
Insérez une extrémité d'un câble Grove dans la prise du capteur Time of Flight. Il ne peut être inséré que dans un seul sens.
-
Avec le Wio Terminal déconnecté de votre ordinateur ou de toute autre source d'alimentation, connectez l'autre extrémité du câble Grove à la prise Grove située sur le côté gauche du Wio Terminal lorsque vous regardez l'écran. C'est la prise la plus proche du bouton d'alimentation. Il s'agit d'une prise combinée numérique et I2C.
- Vous pouvez maintenant connecter le Wio Terminal à votre ordinateur.
Programmer le capteur Time of Flight
Le Wio Terminal peut maintenant être programmé pour utiliser le capteur Time of Flight connecté.
Tâche - programmer le capteur Time of Flight
-
Créez un nouveau projet Wio Terminal en utilisant PlatformIO. Appelez ce projet
distance-sensor
. Ajoutez du code dans la fonctionsetup
pour configurer le port série. -
Ajoutez une dépendance de bibliothèque pour la bibliothèque Seeed Grove Time of Flight Distance Sensor dans le fichier
platformio.ini
du projet :lib_deps = seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1
-
Dans
main.cpp
, ajoutez ce qui suit sous les directives d'inclusion existantes pour déclarer une instance de la classeSeeed_vl53l0x
afin d'interagir avec le capteur Time of Flight :#include "Seeed_vl53l0x.h" Seeed_vl53l0x VL53L0X;
-
Ajoutez ce qui suit à la fin de la fonction
setup
pour initialiser le capteur :VL53L0X.VL53L0X_common_init(); VL53L0X.VL53L0X_high_accuracy_ranging_init();
-
Dans la fonction
loop
, lisez une valeur depuis le capteur :VL53L0X_RangingMeasurementData_t RangingMeasurementData; memset(&RangingMeasurementData, 0, sizeof(VL53L0X_RangingMeasurementData_t)); VL53L0X.PerformSingleRangingMeasurement(&RangingMeasurementData);
Ce code initialise une structure de données pour y lire les données, puis la passe à la méthode
PerformSingleRangingMeasurement
où elle sera remplie avec la mesure de distance. -
En dessous, écrivez la mesure de distance, puis ajoutez un délai d'une seconde :
Serial.print("Distance = "); Serial.print(RangingMeasurementData.RangeMilliMeter); Serial.println(" mm"); delay(1000);
-
Compilez, téléversez et exécutez ce code. Vous pourrez voir les mesures de distance dans le moniteur série. Placez des objets près du capteur et vous verrez la mesure de distance :
Distance = 29 mm Distance = 28 mm Distance = 30 mm Distance = 151 mm
Le télémètre se trouve à l'arrière du capteur, alors assurez-vous d'utiliser le bon côté pour mesurer la distance.
💁 Vous pouvez trouver ce code dans le dossier code-proximity/wio-terminal.
😀 Votre programme de capteur de proximité est un succès !
Avertissement :
Ce document a été traduit à l'aide du service de traduction automatique Co-op Translator. Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.