Подключаем VL53L0X к Ардуино

11-03-2020, 17:54 1 комментариев
Сегодня рассматриваем подключение VL53L0X к Ардуино, а также основные особенности этого устройства. Датчик выбран нами для обзора не случайно – он вполне функционален, несложен в сборке, доступен для приобретения как онлайн, так и офлайн, бюджетен. В целом мы всегда рады представить вам подобные экземпляры – преимуществ их применения масса, а недостатков практически нет.

Лазерный дальномер – отличное решение для измерения расстояния до объекта, расположенного на расстоянии до 2 м. от вас. Прибор устроен таким образом, что позволяет достигнуть минимальной погрешности измерений (что всегда важно для «ардуищика»). Кроме того, он активно используется для обнаружения пользователя, например, при включении ∕ выключении блокировки на смартфонах ∕ ноутбуках ∕ планшетах, а также при разработке роботов и других автоматизированных механизмов.

Обратите внимание на технические характеристики модуля:
  • напряжение: 2,6 - 5,5 V;
  • потребляемый ток: 10 мА (максимум до 40 мА);
  • точность определения дальности: ± 5% (зависит от режима);
  • тип шины: цифровой интерфейс I²C;
  • длина лазерной волны: 940 нм;
  • габариты: 13×18×2 mm;
  • вес: около 0,5 г.
В устройстве продуманы регуляторы уровня + линейный регулятор (2,8V).

Распиновка платы и ее принципиальная схема показаны ниже:
Давайте разберем, как подключить дальномер по интерфейсу I2C. Для реализации простого проекта (без задействования дополнительного «железа») нам понадобятся такие аппаратные компоненты:
  1. Микроконтроллер Arduino Uno (Leonardo, Mega)
  2. Цифровой модуль VL53L0X
  3. Соединительные провода
  4. Макетная плата (при необходимости и желании)
  5. USB-кабель для подключения к ПК
Для прошивки (и упрощения введения программных кодов) нам понадобится специализированный софт – библиотека Adafruit_VL53L0X. Ее следует скачать и инсталлировать в среду разработки IDE, обязательно в папку libraries.
https://arduinoplus.ru/libraries/vl53l0x/

В более поздних версиях Arduino библиотеку можно найти в стандартном менеджере. Идем по пути: Скетч -> Подключить библиотеку -> Управлять библиотеками.
Чтобы открыть скетч, выбираем:
Файл -> Примеры -> VL53L0X
В некоторых проектах используется библиотека Wire (для управления интерфейсом) – она также есть в Менеджере.
Заливаем скетч для измерения значений дальности:
#include <Wire.h>
#include <VL53L0X.h>

VL53L0X sensor;

void setup()
{
  Serial.begin(9600);
  Wire.begin();

  sensor.setTimeout(500);
  if (!sensor.init())
  {
    Serial.println("Не удалось обнаружить и инициализировать датчик!");
    while (1) {}
  }

  // Запустите непрерывный режим (снимайте показания 
  // как можно быстрее). Чтобы вместо этого использовать непрерывный синхронизированный режим,
  // укажите желаемый период между измерениями в мс 
  // (например, sensor.startContinuous(100)).
}

void loop()
{
  Serial.print(sensor.readRangeContinuousMillimeters());
  if (sensor.timeoutOccurred()) { Serial.print(" ТАЙМАУТ"); }

  Serial.println();
}
При программировании можно работать с ограничением скорости обратного сигнала, считыванием и записями 8,16,32-битными регистров датчика, установкой непрерывной опции функционирования, временным интервалом работы, таймингом и т.п.

На этом наша статья подошла к концу. Надеемся, что информация была для вас полезна! До новых встреч!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

GSM модуль NEOWAY M590 – один из самых простых и бюджетных контроллеров, с помощью которого можно совершать звонки, принимать ∕ отправлять SMS-сообщения, а...

В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...

На повестке дня - подключение LM35 к Arduino. Сегодня мы рассмотрим модуль устройства, его базовые характеристики, область применения и схему подключения. И...

На повестке дня - подключение AM2320 к Ардуино. Тема очень занятная по той простой причине, что подобные датчики являются просто «мастхевом» для современных...

1 комментария
  1. Александр
    4 апреля 2021 10:29 Александр

    К сожалению, большая часть ваших "превьюшек" страдает одной и той же бедой - из аннотации совершено непонятно, ЧТО ИМЕННО ДЕЛАЕТ этот конкретный модуль! Вот и здесь мне пришлось перейти по ссылке... оказалось, совершенно ненужный мне лазерный дальномер... ?

    replyОтветить
Оставить комментарий