🛠 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

Objetivos

Consultar el sensor de distancia tiempo de vuelo (ToF) integrado en el Nicla Vision y mostrar la distancia en milímetros en la consola serie.

Material

Código completo

// 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);
}

Verificación esperada

Acerque la mano frente a la parte frontal de la placa: el valor impreso disminuye, típicamente unos cientos de milímetros en reposo. Un mensaje «ToF ausente» indica que es necesario escanear las direcciones I²C (escaneo clásico 0x08–0x77) para encontrar el sensor en el bus interno.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales