Содержание

Датчик приближения и освещённости VL6180 (Troyka-модуль)

Используйте датчик приближения (Troyka-модуль) для определения точного расстояния до объектов — вне зависимости от их физических свойств и условий внешнего освещения.

Видеообзор

Подключение и настройка

Датчик приближения общается с управляющей платой по протоколу I²C/TWI. Для удобства работы с модулем используйте Troyka Shield. Или вовсе избавьтесь от проводов с Troyka Slot Shield.

Пример работы

В качестве примера выведем в Serial порт расстояние до препятствия и освещённость. Для работы ниже приведённого скетча скачайте и установите библиотеку для Arduino.

proximity.ino
// библиотека для работы I²C
#include <Wire.h>
// библиотеку для модуля VL6180X
#include <SparkFun_VL6180X.h>
// адрес датчика приближения по умолчанию
#define VL6180X_ADDRESS 0x29
// создаём объект для работы с модулем
VL6180x sensor(VL6180X_ADDRESS);
 
void setup()
{
  // открываем монитор Serial-порта
  Serial.begin(9600);
  // инициализация I2C
  Wire.begin();
  // небольшая задержка
  delay(100);
 
  // проверяем инициализацию модуля
  while (sensor.VL6180xInit()) {
    Serial.println("Failed to initalize");
    delay(1000);
  }
  // загружаем настройки модуля по умолочнию
  sensor.VL6180xDefautSettings();
  // ждём 1 секунду
  delay(1000);
}
 
void loop()
{
  // получаем и выводим значения расстояния до объекта
  // и уровень внешнего освещения
  Serial.print("Light = ");
  Serial.print(sensor.getAmbientLight(GAIN_1));
  Serial.print(" Lx\t\t");
  Serial.print("Distance = ");
  Serial.print(sensor.getDistance() );
  Serial.println(" mm");
  delay(100);
}

Элементы платы

Датчик приближения VL6180X

Датчик VL6180X представляет из себя датчик приближения и освещения, реализованный в миниатюрном корпусе LGA12 размерами 4,8×2,8×1,0 мм.

Сенсор VL6180X включает в себя лазерный излучатель (IR Emitter), SPAD-приёмник (Range sensor) и датчик освещенности (Ambient Light Sensor), ОЗУ и ПЗУ, микроконтроллер.

Принцип работы

Лазерный диод создает мощные наносекундные импульсы в ближнем инфракрасном диапазоне, которые отражаются от препятствия и возвращаются на SPAD-приёмник. Зная время, между отправкой и получением отражённого сигнала, получаем расстояние до объекта. В модуль также входит датчик освещенности, данные которого используются для корректировки результатов измерений. Все операции производит внутренний процессор, а обработанные данные измерений доступны по I²C-интерфейсу.

VL6180X способен определять расстояние до объектов в диапазоне 0–100 мм с миллиметровой точностью вне зависимости от характеристик объекта, а также измерять освещенность в широком динамическом диапазоне.

Troyka контакты

Контакты питания:

Контакты шины I²C:

Обвязка для согласования уровней напряжения

Необходима для сопряжения устройств с разными питающими напряжениями. В нашем случае это управляющее устройство Arduino с 5 вольтовой логикой и датчик приближения VL6180X с 3,3 вольтовой логикой.

Принципиальная и монтажная схемы

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

Ресурсы