понедельник, 8 января 2024 г.

Инфракрасный лазерный дальномер GY-530 GY-VL53L0X

 Инфракрасный лазерный дальномер VL53L0X может быть подключен к плате Ардуино по шине I2C и использоваться для бесконтактного измерения расстояний от 50мм (проверено эксперементально (см. видео ниже)) до 2м с точностью до 1мм. Существуют также ультразвуковые дальномеры наподобии HC-SR04 но такие дальномеры больше подходят для обнаружения крупных препятствий в то время как VL53L0X способен обнаруживать препятствия толщиной с карандаш и возможно даже меньше. Инфракрасные дальномеры также обладают недостатками по сравнению с ультразвуковыми, например они менее далеко будут измерять поверхности хорошо поглощающие свет. Подключить дальномер VL53L0X к плате Arduino pro mini можно по схеме:



USB-UART конвертер нужен для передачи данных на компьютер чтобы компьютер мог монитором показать результат. А также для того чтобы загружать скетч в Ардуино. Схема соединения простая, модуль толерантен к напряжению +5В поэтому такая схема возможна. Для того чтобы можно было использовать данный модуль с платой Ардуино и программировать в среде Ардуино, нужно подключить библиотеку в данной среде. Для этого нужно зайти в менеджер библиотек поп пути Скетчь -> Подключить библиотеку -> Управлять библиотеками

В поисковой строке менеджера библиотек вписать название модуля или первые буквы его названия чтобы найти библиотеку, после чего нажать кнопку "установка"
Далее появится окно предлагающее установить ещё некоторое количество библиотек необходимых для работы основной библиотеки тут естественно нужно нажать кнопку "Install all"
если конечно данные библиотеки ещё не установлены.
После того как библиотеки будут установены, можно закрыть менеджер библиотек. Теперь можно открыть тестовый скетчь и загрузить его в плату
После того как скетчь загрузиться можно открыть монитор последовательного порта и измерять расстояние дальномером
Тестовый скетч не сложный:

в самом верху подключается заголовочный файл библиотеки, далее объявляется объект класса библиотеки, в основной функции setup() инициализируется последовательный порт, модуль и выводятся стартовые сообщения. В основном цикле имеется объект для получения данных с модуля (measure) ниже данный объект заполняется данными если расстояние удалось измерить то оно выводиться в последовательный порт если не удалось то выводитья сообщение об этом
в самом конце задержка для того чтобы цифры не сильно мельтишили на экране.
Видео по дальномеру:

Адрес биткоин кошелька для поддержки блога - bc1qlhrmmkh77x2lzhqe4lt9qwkglswj64tsqt2l5g