Qu'est-ce que ToF Technologie (Time-of-Flight) ?
Temps de vol (ToF) est une méthode de mesure de distance qui calcule combien de temps il faut à un signal (généralement une impulsion lumineuse ou laser) pour voyager jusqu'à une cible et revenir au capteur. Le ToF HAT utilise ce principe avec une source de lumière laser et des détecteurs très sensibles pour calculer la distance avec une grande précision.
-
Émission de lumière : Le capteur émet une impulsion laser.
-
Réflexion : Le pouls se réfléchit sur un objet cible.
-
Mesure du Temps : Le capteur enregistre le temps qu'il a fallu pour que la lumière revienne.
-
Calcul de la distance : En utilisant la vitesse de la lumière et le temps qu'il faut pour que l'impulsion revienne, le capteur calcule la distance jusqu'à l'objet.

Cette méthode de mesure de distance est très précise et fonctionne indépendamment de la réflectivité de la surface, un avantage significatif par rapport aux capteurs ultrasoniques traditionnels.
Comment utiliser le chapeau ToF
Matériel requis
-
M5StickCPlus2: Agit en tant que contrôleur principal et est responsable de l'affichage des données.
-
M5StickC ToF HAT: Capteurs de distance laser haute précision pour la mesure de distance
Partie du code
importer os, sys, io
importer M5
à partir de l'importation M5 *
from hardware import *
from hat import ToFHat
label0 = Aucun
label1 = Aucun
i2c0 = Aucun
pin19 = Aucun
pwm2 = Aucun
hat_tof_0 = Aucun
définition de la configuration() :
global label0, label1, i2c0, pin19, pwm2, hat_tof_0
M5.start()
label0 = Widgets.Label("label0", 0, 0, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu18)
label1 = Widgets.Label("label1", 100, 0, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu18)
Widgets.setRotation(1)
i2c0 = I2C(0, scl=Pin(26), sda=Pin(0), freq=100000)
hat_tof_0 = ToFHat(i2c0)
pin19 = Pin(19, mode=Pin.OUT)
pwm2 = PWM(Pin(2), freq=5000, duty=512)
boucle def() :
global label0, label1, i2c0, pin19, pwm2, hat_tof_0
M5.mise à jour()
label0.setColor(0x33ff33, 0x000000)
label1.setColor(0x33ff33, 0x000000)
label0.setText(str('distance'))
label1.setText(str(hat_tof_0.get_distance()))
if (hat_tof_0.get_distance()) <10: pin19.valeur(1)
pwm2.duty(512)
autre:
pin19.valeur(0)
pwm2.duty(0)
if __name__ == '__main__':
essayer:
installation()
tant que Vrai :
boucle()
sauf (Exception, KeyboardInterrupt) comme e:
essayer:
from utility import print_error_msg
imprimer_erreur_msg(e)
sauf ImportError :
print("veuillez mettre à jour vers le dernier firmware")
Flux d'interface utilisateur M5Stack
Initialiser l'IIC, chapeau, définir GPIO19 en mode sortie pour contrôler la lumière on/off, et définir GPIO2 à la fréquence PWM, et au rapport cyclique pour contrôler le buzzer.

Affichez la distance mesurée sur le M5stickCplus2 et définissez la distance à laquelle vous souhaitez recevoir un avertissement.

Composants Clés du M5StickC ToF A
Lumière laser Source:
Le pulse laser est émis et se réfléchit sur l'objet, permettant la mesure de distance.
Réseau de capteurs:
Le capteur contient des photodétecteurs (souvent un APD - Photodiode à avalanche) qui mesurent le temps que met le laser à revenir. Ces détecteurs sont conçus pour être extrêmement sensibles à la lumière réfléchie entrante.Interface I2C:
I2C est un protocole de communication simple et à faible consommation d'énergie qui permet au M5StickC de communiquer avec le capteur avec seulement deux fils : données (SDA) et horloge (SCL), ainsi que l'alimentation et la masse.
Alimentation:
Le module fonctionne généralement à 3,3V ou 5V, qui est fourni par la connexion I2C au M5StickC. Cela permet au capteur de fonctionner efficacement, avec une faible consommation d'énergie adaptée aux applications alimentées par batterie.
Spécifications techniques en détail
Voici une liste plus complète des spécifications pour le M5StickC ToF A:
-
Plage de distance : Le capteur peut mesurer des distances de 0,05 mètres (5 cm) à 2 mètres avec une grande précision.
-
Précision de Mesure : Le capteur offre une précision de ± 3% de la distance mesurée. Cela signifie, par exemple, que si un objet est détecté à 1 mètre, la mesure de distance peut varier d'environ 3 cm.
-
Temps de réponse : Le capteur peut fournir des mesures de distance environ toutes les 50 millisecondes, selon la distance. C'est assez rapide pour des applications en temps réel comme la détection d'obstacles et la navigation robotique.
-
Tension de fonctionnement : La tension de fonctionnement est comprise entre 3,3V et 5V, ce qui la rend compatible avec le M5StickC et d'autres microcontrôleurs qui fonctionnent dans cette plage de tension.
-
Consommation d'énergie : La consommation d'énergie est assez faible, consommant généralement environ 15-20mA durant le fonctionnement. Cela le rend idéal pour les systèmes alimentés par batterie ou à faible consommation.
-
Température de fonctionnement : Le capteur fonctionne efficacement dans une plage de température de -10°C à 60°C, ce qui permet de l'utiliser dans une grande variété d'environnements.
-
Sortie Données: Le capteur transmet les données de distance via I2C communication, qui peuvent être facilement lues par tout microcontrôleur compatible, y compris le M5StickC.
-
Mode de détection : Le ToF HAT peut être utilisé à la fois en mode de mesure continue et en mode de mesure déclenchée, en fonction de l'application spécifique.
Comment le M5StickC ToF A Travaux
Le capteur fonctionne en émettant une impulsion laser puis en attendant que l'impulsion rebondisse sur un objet à proximité. Voici une explication de la façon dont ce processus se déroule :Émission de l'Impulsion Laser : Le capteur émet une courte impulsion laser qui se déplace à la vitesse de la lumière. Le faisceau laser se réfléchit sur les objets qu'il rencontre.Détection de la Lumière Réfléchie : La lumière réfléchie est reçue par le photodétecteur du capteur. Cette lumière est ensuite utilisée pour mesurer le temps de trajet entre l'émission et la réception de l'impulsion.
Calcul de distance:
Le capteur calcule la distance en utilisant la formule :
Distance = \frac{c \times t}{2}Distance=2c\times t
où:
-
CCC est la vitesse de la lumière dans le milieu (environ 3×10^8 mètres par seconde).
-
c'est le temps nécessaire pour que l'impulsion lumineuse atteigne la cible et revienne.
-
Données Sortie : Une fois la distance calculée, le capteur transmet la valeur via I2C. Le M5StickC peut alors lire la valeur et la traiter pour l'affichage, des actions ou des calculs supplémentaires.
Utilisation de M5StickC ToF A dans les projets
-
Détection de Proximité pour Systèmes de Maison Intelligente : Le capteur peut être utilisé dans des applications de maison intelligente pour détecter quand quelqu'un est près d'une porte ou d'une entrée. Par exemple, vous pourriez configurer le système pour allumer les lumières lorsque quelqu'un s'approche ou déclencher une action lorsque quelqu'un se tient dans une certaine plage.
-
Mesurer des objets dans des applications industrielles : Le ToF HAT peut également être utilisé dans l'automatisation industrielle pour mesurer la taille ou la position des objets sur une ligne de production ou pour suivre des pièces en mouvement.
-
Réalité Virtuelle (RV) et Réalité Augmentée (RA) : Dans les configurations RV/RA, la détection précise de la profondeur et de la distance est essentielle pour l'immersion et l'interaction. Le ToF HAT peut être utilisé pour suivre la distance entre l'utilisateur et les objets dans l'environnement RV/RA.
Intégration avec M5StickC
- Configuration matérielle:
- Branchez le ToF HAT dans le port I2C du M5StickC. Le M5StickC s'alimentera automatiquement et communiquera avec le capteur ToF via le bus I2C.
- La programmation:
- Alternativement, vous pouvez utiliser Arduino IDE ou MicroPython pour écrire du code personnalisé, ce qui permet plus de contrôle et de flexibilité dans vos projets.
- Vous pouvez utiliser UIFlow, la plateforme de programmation graphique, pour interagir avec le capteur et lire les valeurs de distance. UIFlow facilite la programmation du M5StickC et l'accès aux données du capteur ToF avec seulement quelques blocs.
- Exemple de programme de bloc UIFlow:
- Dans UIFlow, vous pouvez utiliser des blocs pour initialiser le capteur, lire la distance et afficher le résultat à l'écran ou prendre des mesures en fonction de la distance mesurée.
- Informatique:
- Une fois que vous avez récupéré les données de distance, vous pouvez les traiter et déclencher des actions. Par exemple :
- Si la distance est inférieure à un seuil, activez un buzzer ou déclenchez une alarme.
- Si vous construisez un robot, changez sa direction lorsqu'un obstacle est détecté.
Conclusion
