Table des matières:

CircuitPython et TinyLiDAR : Exemple simple : 3 étapes
CircuitPython et TinyLiDAR : Exemple simple : 3 étapes

Vidéo: CircuitPython et TinyLiDAR : Exemple simple : 3 étapes

Vidéo: CircuitPython et TinyLiDAR : Exemple simple : 3 étapes
Vidéo: Raspberry Pi Pico W + CircuitPython 2024, Novembre
Anonim
CircuitPython et TinyLiDAR: exemple simple
CircuitPython et TinyLiDAR: exemple simple

Le MicroElectronicDesign tinyLiDAR est un module de mesure du temps de vol (ToF) basé sur ST VL53L0X avec une connexion de bus i2c. Les cartes de microcontrôleur Adafruit sont facilement connectées à ce capteur car elles peuvent communiquer le protocole i2c sur leurs broches de données.

Les séries M0/M4 ont l'avantage sur les autres cartes car elles prennent en charge un sous-ensemble de Python, ce qui rend la programmation plus accessible à un public plus large que C sur un Arduino. Il s'agit d'un exemple simple utilisant CircuitPython sur une carte Gemma M0 pour lire les valeurs de distance à partir d'un tinyLiDAR et indiquer la distance en faisant varier la luminosité de la LED RVB intégrée. La carte doit être la version M0 pour la prise en charge de python.

Remarque: Adafruit fabrique également diverses cartes de détection de distance, dont une basée sur le VL53L0X.

Étape 1: Code CircuitPython

  1. Téléchargez lib/adafruit_dotstar.mpy et lib/adafruit_bus_device/i2c_device.mpy si vous ne les avez pas déjà. Ceux-ci font partie de l'ensemble de bibliothèques en option, voir la première section de CircuitPython I2C pour des notes sur la façon de les installer. Ces fichiers doivent aller dans les répertoires lib et lib/adafruit_bus_device sur le Gemma M0.
  2. Téléchargez gemma-m0-tinylidar-simple.py, renommez-le en main.py et copiez-le dans le répertoire racine du Gemma M0.

Le programme écrit la sortie sur la console série et fait varier la luminosité de la LED Gemma MO RGB proportionnellement à la distance lue. La LED Gemma M0 alterne entre allumée et éteinte pour les lectures, elle clignotera donc à environ 5 Hz et le comportement par défaut de la carte tinyLiDAR est de faire clignoter sa LED bleue par commande à 10 Hz.

Le bus est piloté à 100 kHz, ce qui fonctionne bien dans ce cas. Comme tout bus, la vitesse de communication est limitée par les caractéristiques de la ou des lignes de transmission, il faut donc prêter attention à la longueur, à la capacité et à d'autres facteurs.

Étape 2: Connecter le TinyLiDAR à un Gemma M0

Connecter le TinyLiDAR à un Gemma M0
Connecter le TinyLiDAR à un Gemma M0

L'image montre une configuration temporaire efficace mais peu élégante pour connecter le tinyLiDAR à une carte Gemma M0. Le connecteur universel « Grove » à 4 broches du tinyLiDAR est utilisé via un câble de conversion Seeed Grove, un en-tête de rechange et des pinces crocodiles pour se connecter au Gemma M0. Une certaine séparation entre les broches sur l'en-tête supprime le risque d'un court-circuit par inadvertance. Les connexions sont:

  • Noir: gnd à gnd
  • Rouge: +V à 3Vo
  • Blanc: SDA à D0 (données)
  • Jaune: SCL à D2 (horloge)

Les cartes Adafruit ont des broches qui supportent efficacement le protocole i2c dans le matériel. Dans le cas du Gemma M0, ceux-ci doivent être utilisés, D0 pour les données et D2 pour l'horloge.

Un bus i2c nécessite une résistance de rappel sur les lignes de données et d'horloge. Dans ce cas, le tinyLiDAR fournit des résistances embarquées de 4,7K. Si ceux-ci ont été retirés du circuit en coupant les lignes, des équivalents doivent être ajoutés au circuit.

Étape 3: sortie série

Sortie série
Sortie série

Le programme écrit une sortie sur la console série indiquant la distance mesurée, voici un exemple de capture d'écran d'un terminal montrant un objet s'éloignant du capteur.

Conseillé: