Подключаем VL53L0X к Ардуино
Лазерный дальномер – отличное решение для измерения расстояния до объекта, расположенного на расстоянии до 2 м. от вас. Прибор устроен таким образом, что позволяет достигнуть минимальной погрешности измерений (что всегда важно для «ардуищика»). Кроме того, он активно используется для обнаружения пользователя, например, при включении ∕ выключении блокировки на смартфонах ∕ ноутбуках ∕ планшетах, а также при разработке роботов и других автоматизированных механизмов.
Обратите внимание на технические характеристики модуля:
- напряжение: 2,6 - 5,5 V;
- потребляемый ток: 10 мА (максимум до 40 мА);
- точность определения дальности: ± 5% (зависит от режима);
- тип шины: цифровой интерфейс I²C;
- длина лазерной волны: 940 нм;
- габариты: 13×18×2 mm;
- вес: около 0,5 г.
Распиновка платы и ее принципиальная схема показаны ниже:
Давайте разберем, как подключить дальномер по интерфейсу I2C. Для реализации простого проекта (без задействования дополнительного «железа») нам понадобятся такие аппаратные компоненты:
- Микроконтроллер Arduino Uno (Leonardo, Mega)
- Цифровой модуль VL53L0X
- Соединительные провода
- Макетная плата (при необходимости и желании)
- USB-кабель для подключения к ПК
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-битными регистров датчика, установкой непрерывной опции функционирования, временным интервалом работы, таймингом и т.п.На этом наша статья подошла к концу. Надеемся, что информация была для вас полезна! До новых встреч!
Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...
GSM модуль NEOWAY M590 – один из самых простых и бюджетных контроллеров, с помощью которого можно совершать звонки, принимать ∕ отправлять SMS-сообщения, а...
В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...
На повестке дня - подключение LM35 к Arduino. Сегодня мы рассмотрим модуль устройства, его базовые характеристики, область применения и схему подключения. И...
На повестке дня - подключение AM2320 к Ардуино. Тема очень занятная по той простой причине, что подобные датчики являются просто «мастхевом» для современных...