Пример подключения датчика VL53L0X к Raspberry Pi

Вчера я опубликовал материал про VL53L0X в котором мы подключали этот датчик к Ардуино. Сегодня мы подключим датчик VL53L0X к Raspberry Pi.

О VL53L0X

В этом материале я покажу пример подключения лазерного дальномера  VL53L0X к плате Raspberry Pi. VL53L0X - это лазерный дальномер нового поколения Time-of-Flight (ToF), размещенный в самом маленьком на сегодняшний день форм-факторе, обеспечивающий точное измерение расстояния независимо от отражательной способности цели в отличие от традиционных технологий.

Он может измерять абсолютные расстояния до 2 метров, устанавливая новый эталон в диапазоне уровней производительности, открывая двери для различных новых приложений.

VL53L0X объединяет передовой массив SPAD (однофотонные лавинные диоды) и включает в себя запатентованную технологию ST второго поколения FlightSenseTM. Типичный модуль выглядит так:

Датчик VL53L0X от Adafruit (слева) и Pololu (справа)
Датчик 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 можно найти в этом материале.

21 декабря 2019 в 16:24 | Обновлено 7 ноября 2020 в 01:20 (редакция)
Опубликовано:
Статьи, ,

Добавить комментарий

Ваш E-mail не будет никому виден. Обязательные поля отмечены *