🛠 Lire le capteur de distance (ToF) embarqué

Arduino Nicla Vision · debutant · Schéma : IMG-nicla-vision-debutant-3-niclavision-capteur-distance.svg — Nicla Vision avec le capteur ToF en façade émettant un cône de mesure vers un objet à 20 cm et le moniteur série affichant la distance

Objectifs

Interroger le capteur de distance temps-de-vol (ToF) embarqué du Nicla Vision et afficher la distance en millimètrès sur la console série.

Matériel

Code complet

// Lecture brute I2C du ToF embarque (bus interne)
// > 
#include <Wire.h>

#define TOF_ADDR 0x29
#define REG_DISTANCE 0x51   // distance en mm sur VL53L0x (hypothese)

void setup {
  Serial.begin(115200);
  Wire.begin;             // bus I2C interne (PF_0/PF_1 cote core)
  delay(100);
  Wire.beginTransmission(TOF_ADDR);
  if (Wire.endTransmission != 0) {
    Serial.println);
  }
}

void loop {
  Wire.beginTransmission(TOF_ADDR);
  Wire.write(REG_DISTANCE);
  Wire.endTransmission(false);
  Wire.requestFrom(TOF_ADDR, (uint8_t)2);
  if (Wire.available >= 2) {
    uint16_t mm = (Wire.read << 8) | Wire.read;
    Serial.print(F("distance = ")); Serial.print(mm); Serial.println(F(" mm"));
  }
  delay(200);
}

Vérification attendue

Approcher la main devant la façade de la carte : la valeur imprimée diminue, typiquement quelques centaines de millimètrès au repos. Un « ToF absent » indique qu'il faut balayer les adresses I²C (scan classique 0x08–0x77) pour trouver le capteur sur le bus interne.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels