Пример подключения датчика VL53L0X к Raspberry Pi
Ранее был опубликован материал про VL53L0X, где мы подключали этот датчик к Ардуино. Теперь настала очередь подсоединить VL53L0X к Raspberry Pi.
О VL53L0X
В данной статье будет продемонстрировано подключение лазерного дальномера VL53L0X к плате Raspberry Pi. VL53L0X представляет собой лазерный дальномер нового поколения, работающий по принципу Time-of-Flight (ToF) и выполненный в самом компактном на сегодня корпусе. Датчик обеспечивает точное определение расстояния вне зависимости от отражающей способности объекта, чем выгодно отличается от традиционных технологий.
Он способен определять абсолютное расстояние до 2 метров, задавая новый стандарт в данном классе производительности и открывая возможности для множества новых применений.
VL53L0X содержит передовую матрицу SPAD (однофотонных лавинных диодов) и использует запатентованную технологию ST второго поколения FlightSenseTM. Типичный модуль имеет следующий вид:
Датчик VL53L0X от Adafruit (слева) и Pololu (справа)
VCSEL-излучатель на длине волны 940 нм (лазер с вертикальным резонатором) в модуле VL53L0X абсолютно невидим человеческому глазу. Благодаря встроенным инфракрасным фильтрам обеспечивается увеличенная дальность действия, повышенная устойчивость к внешнему освещению и улучшенная защита от оптических перекрёстных помех через стекло.
Комплектующие
Как обычно, приводим перечень компонентов, необходимых для работы с нашим примером:
Raspberry Pi Zero W (беспроводной) (модель 2017 года)
VL53L0X (ToF) - лазерный дальномерный
Соединительные перемычки
Схема подключения
В нашем примере выбрана модель Pi Zero, но подойдёт любой Raspberry Pi. Выполните подключение в соответствии со схемой ниже.
Код примера
Библиотека и исходный код для примера размещены в репозитории на GitHub — https://github.com/johnbryanmoore/VL53L0X_rasp_python.
sudo apt-get install build-essential python-dev
Далее выполните следующие команды, чтобы клонировать репозиторий и собрать проект:
cd your_git_directory
git clone https://github.com/johnbryanmoore/VL53L0X_rasp_python.git
cd VL53L0X_rasp_python
make
Замените your_git_directory на нужную вам директорию. После этого используйте код примера из файла VL53L0X_example.py:
#!/usr/bin/python
import time
import VL53L0X
# Создаем VL53L0X объект
tof = VL53L0X.VL53L0X()
# Запуск start_ranging
tof.start_ranging(VL53L0X.VL53L0X_BETTER_ACCURACY_MODE)
timing = tof.get_timing()
if (timing < 20000):
timing = 20000
print ("Тайминг %d ms" % (timing/1000))
for count in range(1,101):
distance = tof.get_distance()
if (distance > 0):
print ("%d мм, %d см, %d" % (distance, (distance/10), count))
time.sleep(timing/1000000.00)
tof.stop_ranging()
Запустить скрипт можно следующей командой в терминале:
sudo python VL53L0X_example.py
В окне терминала должен появиться примерно такой вывод:
На этом всё. Подробнее о датчике VL53l0X можно прочитать в этом материале.