VL53L0X — измеряем расстояние фотонным отражателем
Еще одна статья из цикла «что я нашел у себя в хламе».
Несколько лет назад одному моему другу нужно было сделать быструю фокусировку камеры. Обычный метод — подкрутить объектив и оценить программно контрастность картинки, не катил по быстродействию. Он обнаружил датчики, которые только начинали выпускаться — VL53L1X: маленькие, экономичные, точность и измеряемое расстояние (до 4м) для него были достаточны и попросил меня разобраться с ними. Датчики были свежие, информации о них было немного и готовых библиотек еще не было. Спустя несколько лет я обнаружил на Али более дешевую версию такого датчика, с меньшей дистанцией. За давностию лет уже не помню, какая мне идея в голову пришла, но я заказал этот датчик. Пока он пришел из Китая, идея уже была забыта, а сам датчик куда-то завалился. И на прошлой неделе, выковыривая пыль из уголков рабочего места, я выковырял и этот датчик.
За прошедшее время он заинтересовал ардуинщиков, появилась библиотеки и теперь, чтобы запустить этот датчик в работу, требуется всего несколько минут. Что и было немедленно сделано. Ну и решил рассказать вам про него — по какой-то причине эти датчики не пользуются такой большой популярностью, как ультразвуковые.
— А это что такое?!
— Фотонный отражатель, товарищ генерал!
— Сам вижу, что фотонный отражатель. Я спрашиваю, почему не покрашен?!
Принцип работы прост, как мыло — почти как ультразвуковой датчик, только используется инфракрасный луч 940 nm.
В корпусе датчика размещен лазер, массив лавинных светодиодов (ultra-fast SPAD Single Photon Avalanche Diodes) и мелкоконтроллер, управляющий всеми этими делами — а куда же без него нынче?
Верхняя сторона платы — сам датчик:
Нижняя сторона — LDO и преобразователи уровня:
Размер датчика по сравнению с ультразвуковым:
Вообще говоря, этот сенсор полагается калибровать с учетом того, что он наверняка расположен в каком-нибудь корпусе с окошечком, но если точность не критична, то можно этот этап опустить.
Датчик VL53L1X хорошо подходит для лидаров пылесосов с картопостроителем, у VL53L0X измеряемая дистанция маловата, он больше подходит для всяких игрушек-роботов, торговых автоматов и бытовой техники типа диспенсеров мыла и тому подобного.
Точностью измерения датчик не отличается, но она не всегда требуется.
Итак, подключаем 4 проводка от Ардуино к платке — I2C и питание.
I2C адрес программируемый, поэтому при желании двумя проводками можно подключить несколько датчиков.
Загружаем библиотеку:
И используем готовый пример для измерения расстояния:
Результат:
Игрушка хорошая и недорогая, рекомендую.
- Шикарный телескопический ключ с головками на 17/19 и 21/23 от WORKPRO или история, как дурные руки ногам покоя не дают.
- Батарейки Pairdeer AM4 LR03 (ААА)
- Мультитул Leatherman Wave. А вы знали кто придумал такую вещь, как мультитул?
- Внешний HDD Seagate Backup Plus Hub 10ТБ STEL10000400
- 14.1" ноутбук Teclast F7 Plus 2 за $253
- Умный очиститель воздуха XIAOMI MIJIA 3 за 132.99$
- Сварочная маска HITBOX с технологией True Color
- Светильники с солнечной батареей и датчиком движения
- Убираем зеркалирование камер заднего вида (для использования спереди или сбоку).
- Мини обзор рации Mi Walkie Talkie Lite