TOF050C Лазерный датчик расстояния (ToF)

Узнайте всё о лазерном датчике расстояния TOF050C: технические характеристики, распиновка, схемы подключения, datasheet и примеры кода для ESP32, Arduino, Raspberry

Расстояние I2C

Обзор

TOF050C — это специализированный датчик расстояния малой дальности, работающий на базе чипа VL6180 от STMicroelectronics. Его уникальность заключается в совмещении трех функций: дальномера ToF, датчика освещенности (Ambient Light Sensor) и инфракрасного излучателя, что делает его идеальным для задач обнаружения жестов и работы вблизи объектов (до 50 см).

TOF050C — это прецизионный инструмент для работы на коротких дистанциях. В отличие от ультразвуковых датчиков, он имеет крайне узкий луч, что позволяет измерять расстояние до мелких объектов. Встроенный датчик освещенности позволяет устройству адаптироваться к яркости окружающей среды.

Датчик TOF050C
Быстрая навигация
Основные разделы
Примеры кода
Платформы

О лазерном датчике TOF050C

TOF050C — это универсальное решение для измерения сверхкоротких расстояний в диапазоне от 0 до 50 см. Благодаря чипу VL6180, он обеспечивает субмиллиметровую точность на близких дистанциях, что недоступно для большинства других ToF датчиков.

Ключевые особенности

  • 3-в-1 – Измерение расстояния, освещенности и ИК-излучения.
  • Сверхближний диапазон – Работает буквально “в упор” (от 0 мм).
  • Высокая точность – Погрешность менее миллиметра на близких расстояниях.
  • I2C интерфейс – Легко интегрируется с микроконтроллерами.

🔗 Совместим с библиотеками Pololu и Adafruit для чипа VL6180X.

Где купить

Приобретите TOF050C

Технические характеристики

Характеристики TOF050C

Основные параметры датчика TOF050C.

Диапазон ToF
0 см ... 50 см
Разрешение
0.5 мм ... 1 мм
Ambient Light
До 100 kLux
Питание
3.0В ... 5.0В
Скачать datasheet (PDF)
Конфигурация пинов

Распиновка TOF050C

Модуль TOF050C имеет 6 выводов для I2C и управления.

Схема распиновки
Модуль TOF050C
Распиновка TOF050C
Всего пинов
6
Советы
  • Адрес I2C по умолчанию: 0x29.
  • Используйте пин GPIO для прерываний ALS или Range.
Таблица выводов
Пины Название Тип Описание
1 VIN Power Питание (3.0В - 5.0В).
2 GND Power Общий провод.
3 SDA I2C Data Линия данных I2C.
4 SCL I2C Clock Линия синхронизации I2C.
5 GPIO I/O Программируемое прерывание.
6 SHUT Input Режим ожидания (Low = Standby).
Схема подключения

Подключение TOF050C к ESP32

Подключение идентично другим ToF датчикам. Пин SHUT должен быть подтянут к питанию для нормальной работы.

Подключение TOF050C к ESP32
Протокол
I2C
Адрес
0x29
Таблица соединений
TOF050C Pin На ESP32 Описание
VIN 3V3 Питание модуля.
GND GND Общая земля.
SDA GPIO21 Данные I2C.
SCL GPIO22 Синхронизация I2C.
Устранение неполадок

Отладка TOF050C

Датчик выдает нулевые значения
Такое может быть, если объект находится слишком близко (менее 1 см), и прошивка не откалибрована под "zero distance". Попробуйте немного отодвинуть объект.
Конфликт адресов I2C
Если у вас несколько ToF датчиков, они все имеют адрес 0x29 по умолчанию. Используйте пин SHUT, чтобы по очереди менять адреса датчиков программно.
Примеры программирования

Программирование TOF050C

Arduino IDE (VL6180X)

C++
#include <Wire.h>
#include "Adafruit_VL6180X.h"

Adafruit_VL6180X vl = Adafruit_VL6180X();

void setup() {
  Serial.begin(115200);
  while (!Serial);

  if (!vl.begin()) {
    Serial.println("Sensor not found!");
    while (1);
  }
}

void loop() {
  float lux = vl.readLux(VL6180X_ALS_GAIN_1);
  uint8_t range = vl.readRange();
  uint8_t status = vl.readRangeStatus();

  if (status == VL6180X_ERROR_NONE) {
    Serial.print("Lux: "); Serial.print(lux);
    Serial.print(" | Range: "); Serial.println(range);
  }
  delay(500);
}