Из особенностей данного робота на платформе Arduino можно отметить сложность его конструкции. Роборука состоит из множества рычагов, которые позволяют ей двигаться по всем осям, хватать и перемещать различные вещи, используя всего 4 серво-мотора. Собрав собственными руками такого робота, Вы точно сможете удивить своих друзей и близких возможностями и приятным видом данного устройства! Помните, что для программирования Вы всегда сможете воспользоваться нашей графической средой RobotON Studio!
Если у Вас появятся вопросы или замечания, мы всегда на связи! Создавайте и выкладывайте свои результаты!
Чтобы собрать робота манипулятора своими руками, вам понадобится довольно много компонентов. Основную часть занимают 3D печатные детали, их около 18 штук (печатать горку необязательно).Если вы скачали и распечатали все необходимое, то вам потребуются болты, гайки и электроника:
После сборки корпуса ВАЖНО убедиться в его свободной подвижности. Если ключевые узлы Роборуки двигаются с трудом, серво-моторы могут не справиться с нагрузкой. Собирая электронику, необходимо помнить, что подключать цепь к питанию лучше после полной проверки соединений. Чтобы избежать поломки серво-приводов SG 90, не нужно крутить руками сам мотор, если нет необходимости. В случае, если нужно разработать SG 90, нужно плавно подвигать вал мотора в разные стороны.
Здравствуйте!
Рассказываем о линейке коллаборативных роботов-манипуляторов Universal Robots .
Компания Юниверсал-роботс родом из Дании, занимается выпуском коллаборативных роботов-манипуляторов для автоматизации циклических производственных процессов. В этой статье приведем их основные технические характеристики и рассмотрим области применения.
Что это?
Продукция компании представлена линейкой из трех облегченных промышленных манипуляционных устройств с разомкнутой кинематической цепью:
UR3 , UR5 , UR10 .
Все модели имеют 6 степеней подвижности: 3 переносные и 3 ориентирующие. Устройства от Юниверсал-роботс производят только угловые перемещения.
Роботы-манипуляторы разделены на классы, в зависимости от предельно допустимой полезной нагрузки. Другими отличиями являются - радиус рабочей зоны, вес и диаметр основания.
Все манипуляторы UR оснащены датчиками абсолютного положения высокой точности, которые упрощают интеграцию с внешними устройствами и оборудованием. Благодаря компактному исполнению, манипуляторы UR не занимают много места и могут устанавливаться в рабочих секциях или на производственных линиях, где не помещаются обычные роботы.Характеристики:
Чем интересны
Простота программирования
Специально разработанная и запатентованная технология программирования позволяет операторам, не владеющим специальными навыками, быстро выполнить настройку роботов-манипуляторов UR и управлять ими с помощью интуитивной технологии 3D-визуализации. Программирование происходит путем серии простых передвижений рабочего органа манипулятора в необходимые положения, либо нажатием стрелок в специальной программе на планшете.UR3: UR5: UR10: Быстрая настройка
Оператору, выполняющему первичный запуск оборудования, потребуется менее часа для распаковки, монтажа и программирования первой простой операции. UR3: UR5: UR10: Коллаборативность и безопасность
Манипуляторы UR способны заменить операторов, выполняющих рутинные задачи в опасных и загрязненных условиях. В системе управления ведется учет внешних возмущающих воздействий, оказываемых на робот-манипулятор в процессе работы. Благодаря этому, манипуляционные системы UR можно эксплуатировать без защитных ограждений, рядом с рабочими местами персонала. Системы безопасности роботов одобрены и сертифицированы TÜV – Союзом работников технического надзора Германии.
UR3: UR5: UR10: Многообразие рабочих органов
На конце промышленных манипуляторов UR предусмотрено стандартизированное крепление для установки специальных рабочих органов. Между рабочим органом и конечным звеном манипулятора можно установить дополнительные модули силомоментных сенсоров или камер.Возможности применения
С промышленными роботами-манипуляторами UR открываются возможности автоматизации практически всех циклических рутинных процессов. Устройства компании Юниверсал-роботс отлично зарекомендовали себя в различных областях применения.
Перекладка
Установка манипуляторов UR на участках перекладки и упаковки позволяет увеличить точность и уменьшить усадку. Большинство операций по перекладке может осуществляться без надзора.Полировка, буферовка, шлифовка
Встроенная система датчиков позволяет контролировать точность и равномерность прикладываемого усилия на криволинейных и неровных поверхностях.
Литье под давлением
Высокая точность повторяющихся движений позволяет применять роботы UR для задач переработки полимеров и инжекционного литья.
Обслуживание станков с ЧПУ
Класс защиты оболочки обеспечивает возможность установки манипуляционных систем для совместной работы со станками ЧПУ.Упаковка и штабелирование
Традиционные технологии автоматизации отличаются громоздкостью и дороговизной. Легко настраиваемые роботы UR способны работать без защитных экранов рядом с сотрудниками или без них 24 часа в сутки, обеспечиваю высокую точность и производительность.Контроль качества
Роботизированный манипулятор с видеокамерами пригоден для проведения трехмерных измерений, что является дополнительной гарантией качества выпускаемой продукции.Сборка
Простое устройство крепления рабочего органа позволяет оснащать роботы UR подходящими вспомогательными механизмами, необходимыми для сборки деталей из дерева, пластика, металла и других материалов.Свинчивание
Система управления позволяет контролировать развиваемый момент во избегании избыточной затяжки и обеспечения требуемого натяжения.Склеивание и сварка
Высокая точность позиционирования рабочего органа позволяет сократить количество отходов при выполнении операций склейки или нанесения веществ.
Промышленные роботы-манипуляторы UR могут выполнять различные типы сварки: дуговую, точечную, ультразвуковую и плазменную.Итого:
Промышленные манипуляторы от Юниверсал-роботс компактны, легки, просты в освоении и обращении. Роботы UR – гибкое решение для широкого круга задач. Манипуляторы можно запрограммировать на любые действия присущие движениям человеческой руки, а вращательные движения им удаются намного лучше. Манипуляторам не свойственны усталость и боязнь получить травму, не нужны перерывы и выходные.
Решения от Юниверсал-роботс позволяют автоматизировать любой рутинный процесс, что увеличивает скорость и качество производства.
Обсудите автоматизацию ваших производственных процессов с помощью манипуляторов Юниверсал-роботс с официальным дилером -
Доброго времени суток! Перед вами, дорогие , арт-робот, который может разрисовывать различные сферические или яйцевидные предметы размером от 4 до 9 см.
Для его изготовления понадобится 3D-принтер, набор стандартных инструментов + Arduino.
Примечание: Не стоит ставить крест на проектах, в которых используются 3D-принтер. При желании всегда можно найти место или способ, где можно заказать печать необходимых для проекта деталей.
Арт-робот — двухосевая самоделка , которая может наносить рисунок на большинстве сферических поверхностей. Робот настраивается под определённый тип предмета (шары для пинг-понга, рождественские украшения, лампочки и яйца (утиные, гусиные, куриные …).
Для вращения сферического предмета и перемещения манипулятора используются высокоточные шаговые двигатели с высоким крутящим моментом, а для подъёма механизма ручки — тихий и надежный сервопривод SG90.
Для того, чтобы сделать поделку своими руками нам понадобится:
В качестве «шпаргалки» можете воспользоваться данной схемой.
Робот двигает манипулятором, с закрепленным на нём маркером, что приводится в действие шаговым двигателем. Другой шаговый двигатель отвечает за поворот объекта, на который наносится рисунок (яйцо, шарик …). Для удерживания предмета на месте используются две присоски: одна, прикрепленная к шаговому двигателю, а другая на противоположной стороне предмета. Маленькая пружина будет давить на присоску, помогая ей удерживать предмет. Для поднятия/опускания маркера используется сервопривод SG90.
Установим гайку в отверстие, подготовленное для неё и закрутим 16 мм винт. Сделаем то же самое для держателя предметов (справа на изображении выше). При создании шарнира для манипулятора использовались 2 16 мм винта. Этот шарнир должен свободно вращаться после закручивания винтов.
Установим одну из присосок внутрь отверстия в держателе предметов.
Закрепим оба шаговых двигателя к основной раме с помощью 8-ми винтов.
Разместим все элементы, как показано на изображении выше.
Вставим собранный манипулятор на ось шагового двигателя.
Установим левую опору на ось шагового двигателя.
Маркер и яйцо установлены в качестве примера (сейчас размещать их не нужно).
ПРИМЕЧАНИЕ: Сервопривод потребует корректировок. Нужно будет повторно установить его угол во время процесса калибровки.
Закрепим электронику на тыльной стороне основной рамы с помощью винтов (2-х будет достаточно).
Подключим кабеля.
Если вы перепутаете полярности при подключении шаговых двигателей, то они будут просто вращаться в противоположном направлении, но с сервоприводом ситуация будет не такой уж и безобидной! Поэтому дважды проверяйте полярность перед подключением!
Запрограммируем Arduino Leonardo с помощью программной среды Arduino IDE (v 1.8.1).
Программное обеспечение Inkscape. Загрузим и установим программное обеспечение Inkscape (рекомендую стабильную версию 0.91).
Загрузим и установим расширение EggBot Control (версия 2.4.0 была полностью протестирована).
Расширение EggBot Control для Inkscape — это инструмент, который необходимо использовать при тестировании и калибровке EggBot, а также перенесении рисунки на яйцо. Сначала нужно запустить Inkscape. После запуска Inkscape появится меню «Расширения», а в нём уже нужно выбрать подменю «Eggbot». Если не видите подменю Eggbot, то вы неправильно установили расширения. Выполните резервное копирование и внимательно следуйте инструкциям по установке расширений.
На этом всё, спасибо за внимание!)
Привет, гиктаймс!
Проект uArm от uFactory собрал средства на кикстартере уже больше двух лет назад. Они с самого начала говорили, что это будет открытый проект, но сразу после окончания компании они не торопились выкладывать исходники. Я хотел просто порезать оргстекло по их чертежам и все, но так как исходников не было и в обозримом будущем не предвиделось, то я принялся повторять конструкцию по фотографиям.
Сейчас моя робо-рука выглядит так:
Работая не спеша за два года я успел сделать четыре версии и получил достаточно много опыта. Описание, историю проекта и все файлы проекта вы сможете найти под катом.
С такими входными параметрами я нарисовал первую версию. К сожалению, у меня не сохранилось фотографий той версии манипулятора (который был выполнен в желтом цвете). Ошибки в ней были просто эпичнейшие. Во-первых, ее было почти невозможно собрать. Как правило, механика которую я рисовал до манипулятора, была достаточно простая, и мне не приходилось задумываться о процессе сборки. Но все-таки я его собрал и попробовал запустить, И рука почти не двигалась! Все детли крутились вокруг винтов и, сли я затягивал их так, чтобы было меньше люфтов, она не могла двигаться. Если ослаблял так, чтобы она могла двигаться, появлялись невероятные люфты. В итоге концепт не прожил и трех дней. И приступил к работе над второй версией манипулятора.
Красный был уже вполне пригоден к работе. Он нормально собирался и со смазкой мог двигаться. На нем я смог протестировать софт, но все-таки отсутствие подшипников и большие потери на разных тягах делали его очень слабым.
Затем я забросил работу над проектом на какое-то время, но вскоре принял решении довести его до ума. Я решил использовать более мощные и популярные сервоприводы, увеличить размер и добавить подшипники. Причем я решил, что не буду пытаться сделать сразу все идеально. Я набросал чертежи на скорую руки, не вычерчивая красивых сопряжений и заказал резку из прозрачного оргстекла. На получившемся манипуляторе я смог отладить процесс сборки, выявил места, нуждающиеся в дополнительном укреплении, и научился использовать подшипники.
После того, как я вдоволь наигрался с прозрачным манипулятором, я засел за чертежи финальной белой версии. Итак, сейчас вся механика полностью отлажена, устраивает меня и готов заявить, что больше ничего не хочу менять в этой конструкции:
Меня удручает то, что я не смог привнести ничего принципиально нового в проект uArm. К тому времени, как я начал рисовать финальную версию, они уже выкатили 3D-модели на GrabCad. В итоге я только немного упростил клешню, подготовил файлы в удобном формате и применил очень простые и стандартные комплектующие.
С меня за резку всех этих деталей взяли около $10.
Основание монтируется на большом подшипнике:
Особенно трудно было продумать основание с точки зрения процесса сборки, но я подглядывал за инженерами из uArm. Качалки сидят на штифте диаметром 6мм. Надо отметить, что тяга локтя у меня держится на П-образном держателе, а у uFactory на Г-образном. Трудно объяснить в чем разница, но я считаю у меня получилось лучше.
Захват собирается отдельно. Он может поворачиваться вокруг своей оси. Сама клешня сидит прямо на валу двигателя:
В конце статьи я дам ссылку на суперподробную инструкцию по сборке в фотографиях. За пару часов можно уверенно все это скрутить, если все необходимое есть под рукой. Также я подготовил 3D-модель в бесплатной программе SketchUp. Её можно скачать, покрутить и посмотреть что и как собрано.
Тут мое повествование тесно сплетается с предыдущими проектами. С некоторых пор я начал и для этих целей даже подготовил свою Arduino-совместимую плату . С другой стороны как-то раз мне подвернулась возможность дешево изготовить платы (о чем я тоже ). В итоге все это закончилось тем, что я использовал для управления манипулятором свою собственную Arduino-совместимую плату и специализированный шилд.
Этот шилд на самом деле очень простой. На нем четыре переменных резистора, две кнопки, пять разъемов для сервопривода и разъем питания. Это очень удобно с точки зрения отладки. Можно загрузить тестовый скетч и записать какой-нибудь макрос для управления или что-нибудь вроде того. Ссылку для скачивания файла платы я тоже дам в конце статьи, но она подготовлена для изготовления с металлизацией отверстий, так что мало пригодна для домашнего производства.
Терминальная программа от uArm позволяет изменять пять параметров при управлении мышью. При движении мыши по поверхности изменяется положение манипулятора в плоскости XY. Вращение колесика - изменение высоты. ЛКМ/ПКМ - сжать/разжать клешню. ПКМ + колесико - поворот захвата. На самом деле очень удобно. При желании можно написать любой терминальный софт, который будет общаться с манипулятором по такому же протоколу.
Я не буду здесь приводить скетчи - скачать их можно будет в конце статьи.
Создаем робот-манипулятор с использованием дальномера, реализуем подсветку.
Резать основание будем из акрила. В качестве двигателей используем сервопривода.
В проекте использовано 6 серводвигателей. Для механической части использован акрил толщиной 2 миллиметра. В качестве штатива пригодилось основание от диско-шара (один из двигателей вмонтирован внутрь). Также использован ультразвуковой датчик расстояния и светодиод диаметром 10 мм.
Для управления роботом используется Arduino плата питания. Сам источник питания - блок питания компьютера.
В проекте изложены исчерпывающие пояснения по разработке робо-руки. Отдельно рассмотрены вопросы питания разработанной конструкции.
Давайте начнем разработку. Вам понадобятся:
Для управления:
Конечно же, вам пригодятся кабели и некоторые базовые инструменты вроде отверток и т.п. Теперь мы можем перейти к конструированию.
Перед началом разработки механической части манипулятора, стоит отметить, что чертежей у меня нет. Все узлы делались "на коленке". Но принцип очень простой. У вас есть два звена из акрила, между которыми надо установить серводвигатели. И другие два звенья. Тоже для установки двигателей. Ну и сам схват. Подобный схват проще всего купить в интеренете. Практически все устанавливается с помощью винтов.
Длина первой части около 19 см; второй - около 17.5; длина переднего звена около 5.5 см. Остальные габариты подбирайте в соответсвии с размерами вашего проекта. В принципе, размеры остальных узлов не так важны.
Механическая рука должна обеспечивать угол поворота 180 градусов в основании. Так что мы должны установить снизу серводвигатель. В данном случае он устанавливается в тот самый диско-шар. В вашем случае это может быть любой подходящий бокс. Робот устанавливается на этот серводвигатель. Можно, как это показано на рисунке, установить дополнительное металлическое кольцо-фланец. Можно обойтись и без него.
Для установки ультразвукового датчика, используется акрил толщиной 2 мм. Тут же снизу можно установить светодиод.
Детально объяснить как именно сконструировать подобный манипулятор сложно. Многое зависит от тех узлов и частей, которые есть у вас в наличии или вы приобретаете. Например, если габариты ваших сервоприводов отличаются, звенья арма из акрила тоже изменятся. Если изменятся габариты, калибровка манипулятора тоже будет отличаться.
Вам точно придется после завершения разработки механической части манипулятора удлинить кабели серводвигателей. Для этих целей в данном проекте использовались провода из интернет-кабеля. Для того, чтобы все это имело вид, не поленитесь и установите на свободные концы удлиненных кабелей переходники - мама или папа, в зависимости от выходов вашей платы Arduino, шилда или источника питания.
После сборки механической части, мы можем перейти к "мозгам" нашего манипулятора.
Для установки схвата вам понадобится серводвигатель и несколько винтов.
Итак, что именно необходимо сделать.
Берете качалку от сервы и укорачиваете, пока она не подойдет к вашему схвату. После этого закручиваете два маленьких винта.
После установки сервы, проворачиваете ее в крайнее левое положение и сжимаете губки схвата.
Теперь можно установить серву на 4 болта. При этом следите, чтобы двигатель был все так же в крайнем левом положении, а губки схвата закрыты.
Можно подключить сервопривод к плате Arduino и проверить работоспособность схвата.
Учтите, что могут возникнуть проблемы с работой схвата, если болты/винты слишком сильно затянуты.
Можно сделать ваш проект ярче, добавив на него подсветку. Для этого использовались светодиоды. Делается несложно, а в темноте выглядит очень эффектно.
Места для установки светодиодов зависят от вашего креатива и фантазии.
Можно использовать вместо резистора R1 потенциометр на 100 кОм для регулировки яркости вручную. В качестве сопротивлени R2 использовались резисторы на 118 Ом.
Перечень основных узлов, которые использовались:
В качестве микроконтроллера использовалась плата Arduino. В качестве питания использовался блок питания от персонального компьютера. Подключив мультиметр к красному и черному кабелям, вы увидите 5 вольт (которые используются для серводвигателей и ультразвукового датчика расстояния). Желтый и черный дадут вам 12 вольт (для Arduino). Делаем 5 коннекторов для сервомоторов, параллельно подключаем позитивные к 5 В, а негативные - к земле. Аналогично с датчиком расстояния.
После этого подключите оставшиеся коннекторы (по одному с каждой сервы и два с дальномера) к распаянной нами плате и Arduino. При этом не забудьте в программе в дальнейшем корректно указать пины, которые вы использовали.
Кроме того, на плате питания был установлен светодиод-индикатор питания. Реализуется это несложно. Дополнительно использовался резистор на 100 Ом между 5 В и землей.
10 миллиметровый светодиод на роботе тоже подключен к Arduino. Резистор на 100 Ом идет от 13 пина к к позитивной ноге светодиода. Негативный - к земле. В программе его можно отключить.
Для 6 серводвигателей использовано 6 коннекторов, так как 2 серводвигателя снизу используют одинаковый сигнал управления. Соответствующие проводники соединяются и подключаются к одному пину.
Повторюсь, что в качестве питания используется блок питания от персонального компьютера. Либо, конечно, вы можете приобрести отдельный источник питания. Но с учетом, того, что у нас 6 приводов, каждый из которых может потреблять около 2 А, подобный мощный блок питания обойдется недешево.
Обратите внимание, что коннекторы от серв подключаются к ШИМ-выходам Arduino. Возле каждого такого пина на плате есть условное обозначение ~. Ультразвуковой датчик расттояния можно подключить к пинам 6, 7. Светодиод - к 13 пину и земле. Это все пины, которые нам понадобятся.
Теперь мы можем перейти к программированию Arduino.
Перед тем как подключить плату через usb к компьютеру, убедитесь, что вы отключили питание. Когда будете тестировать программу, также отключайте питание вашей робо-руки. Если питание не выключить, Arduino получит 5 вольт от usb и 12 вольт от блока питания. Соответственно, мощность от usb перекинется к источнику питания и он немного "просядет".
На схеме подключения видно, что были добавлены потенциометры для управления сервами. Потенциометры не являются обязательным звеном, но приведенный код не будет работать без них. Потенциометры можно подключить к пинам 0,1,2,3 и 4.
Для управления использовано 5 потенциометров (вполне можно заменить это на 1 потенциометр и два джойстика). Схема подключения с потенциометрами приведена в предыдущей части. Скетч для Arduino находится здесь.
Снизу представлены несколько видео робота-манипулятора в работе. Надеюсь, вам понравится.
На видео сверху представлены последние модификации арма. Пришлось немного изменить конструкцию и заменить несколько деталей. Оказалось, что сервы futuba s3003 слабоваты. Их получилось использовать только для схвата или поворота руки. Так что виесто них были установлены mg995. Ну а mg946 вообще будут отличным вариантом.
// управляются привода с помощью переменных резисторов - потенциометров.
int potpin = 0; // аналоговый пин для подключения потенциометра
int val; // переменная для считывания данных с аналогового пина
myservo1.attach(3);
myservo2.attach(5);
myservo3.attach(9);
myservo4.attach(10);
myservo5.attach(11);
pinMode(led, OUTPUT);
{ //servo 1 analog pin 0
val = analogRead(potpin); // считывает значение потенциометра (значение между 0 и 1023)
// масштабирует полученное значение для использования с сервами (получаем значение в диапазоне от 0 до 180)
myservo1.write(val); // выводит серву в позицию в соответствии с рассчитанным значением
delay(15); // ждет, пока серводвигатель выйдет в заданное положение
val = analogRead(potpin1); // серва 2 на аналоговом пине 1
val = map(val, 0, 1023, 0, 179);
myservo2.write(val);
val = analogRead(potpin2); // серва 3 на аналоговом пине 2
val = map(val, 0, 1023, 0, 179);
myservo3.write(val);
val = analogRead(potpin3); // серва 4 на аналоговом пине 3
val = map(val, 0, 1023, 0, 179);
myservo4.write(val);
val = analogRead(potpin4); //серва 5 на аналоговом пине 4
val = map(val, 0, 1023, 0, 179);
myservo5.write(val);
Это, наверное, одна из самых эффектных частей проекта. На манипулятор устанавливается датчик расстояния, который реагирует на препятствия вокруг.
Основные пояснения к коду представлены ниже
#define trigPin 7
Следующий кусок кода:
Мы присвоили всем 5-ти сигналам (для 6 приводов) названия (могут быть любыми)
Следующее:
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
myservo1.attach(3);
myservo2.attach(5);
myservo3.attach(9);
myservo4.attach(10);
myservo5.attach(11);
Мы сообщаем плате Arduino к каким пинам подключены светодиоды, серводвигатели и датчик расстояния. Изменять здесь ничего не стоит.
void position1(){
digitalWrite(led, HIGH);
myservo2.writeMicroseconds(1300);
myservo4.writeMicroseconds(800);
myservo5.writeMicroseconds(1000);
Здесь кое-что можно менять. Я задал позицию и назвал ее position1. Она будет использована в дальнейшей программе. Если вы хотите обеспечить другое движение, измените значения в скобках в диапазоне от 0 до 3000.
После этого:
void position2(){
digitalWrite(led,LOW);
myservo2.writeMicroseconds(1200);
myservo3.writeMicroseconds(1300);
myservo4.writeMicroseconds(1400);
myservo5.writeMicroseconds(2200);
Аналогично предыдущему куску, только в данном случае это position2. По такому же принципу вы можете добавлять новые положения для перемещения.
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
Теперь начинает отрабатывать основной код программы. Не стоит его изменять. Основная задача приведенных выше строк - настройка датчика расстояния.
После этого:
if (distance <= 30) {
if (distance < 10) {
myservo5.writeMicroseconds(2200); //открыть схват
myservo5.writeMicroseconds(1000); //закрыть схват
Теперь вы можете добавлять новые перемещения в зависимости от расстояния, измеренного ультразвуковым датчиком.
if(distance <=30){ // данная строка обеспечивает переход в position1, если расстояние меньше 30 см.
position1(); //по сути арм отработает все, что вы зададите между скобками { }
else{ // если расстояние больше 30 см, переход в position2
position()2 // аналогично предыдущей строке
Можно в коде поменять расстояние ну и творить все, что вы пожелаете.
Последние строки кода
if (distance > 30 || distance <= 0){
Serial.println("Out of range"); //вывод в серийном монитеоре сообщения, что мы вышли за заданный диапазон
Serial.print(distance);
Serial.println(" cm"); //расстояние в сантиметрах
delay(500); //задержка в 0.5 секунды
Конечно, можно перевести тут все в миллиметры, метры, изменить отображающееся сообщение и т.п. Можно немного поиграться с задержкой.
Вот, собственно и все. Наслаждайтесь, модернизируйте свои собственные манипуляторы, делитесь идеями и резутатами!