Fernando, построил простой 3D-сканер, используя контроллер Arduino, ИК-дальномер Sharp GP2D120X и два шаговых двигателя 28BYJ-48 с драйвером (ULN2003).
Для отображения облака точек используется gnuplot.
Основной задачей было создание базы (платформы) с возможностью дистанционного управления с компьютера несколькими роботами, обмена данными между компьютером и роботами между собой (mesh networking) вплоть до осуществления коллективных действий группой роботов.
Для решения это задачи нет ничего лучше радиомодулей Xbee, использующих протокол 802.15.4. Софт верхнего уровня может быть разработан в любой среде программирования позволяющей работать с последовательным портом. Мы же сконцентрируемся на создании железок и программировании Arduino и Xbee. В результате я собрал двух роботов для экспериментов, один из которых помимо радиомодуля оснащён инфракрасными датчиками Sharp для реализации объезда препятствий.
Рассмотрим ещё один вариант ИК-датчика измерения расстояния SHARP — GP2Y0A02YK0F.
Именно такой сенсор часто и удобно применяется в робототехнике (например, в «Poor Man's Lidar» — PML — «лазерном дальномере бедных»)
SHARP-GP2Y0A710K0F — это ИК-датчик измерения расстояния с большим диапазоном определения: от 100 до 550 см
и работающий по принципу триангуляции.
Подробнее про датчик можно прочитать в заметке — Датчик измерения расстояния SHARP-GP2Y0A710K0F
— там рассмотрены характеристики датчика и написан скетч, считывающий напряжение выдаваемое сенсором с аналогового входа контроллера Arduino/CraftDuino.
Теперь же, рассмотрим пересчёт напряжения датчика в расстояние до объекта.
Датчики измерения расстояния SHARP — доступные, эффективные и простые в использовании сенсоры, позволяющие определять расстояние до объекта или препятствия.
Эти сенсоры очень часто применяются в робототехнике (вспомним последний пример — «Poor Man's Lidar» — PML — «лазерный дальномер бедных»)