Теория

Робот для рисования на ардуино своими руками. Робот рисовальщик от центра SERVODROID

Робот для рисования на ардуино своими руками. Робот рисовальщик от центра SERVODROID

Данный проект рассчитан на начинающих ардуинщиков и даст хорошую базу для дальнейшего освоения Arduino, Matlab, программирования и механики.

Электроники в проекте немного. Робот представляет из себя манипулятор с 2-мя степенями свободы, в качестве рабочего органа у которого используется карандаш. В проекте решена обратная задача кинематики и задача определение положения рабочего органа в плоскости в зависимости от углов поворота сервоприводов.

Необходимые элементы

  1. Механика
  • Mechanix kit - железный конструктор
  • Болты и гайки
  • Держатель для карандаша (в данном случае - прищепка)
  • 2 колеса для опор
  1. Электроника
  • Плата Arduino uno
  • Макетная плата
  • Источник питания (адаптер на 5 вольт 2 ампера)
  • USB Кабель
  • 3 серводвигателя
  1. Инструменты
  • Отвертка
  • Дрель
  1. Программное обеспечение
  • Arduino IDE
  • Matlab (с установленным Arduino IO)
  • Половина из перечисленного выше у вас вполне может найтись дома. Остальное можно приобрести за небольшие деньги.
  • Можно использовать любые серводвигатели с крутящим моментом более 7 кг*см (например, дешевый и сердитый вариант вроде MG995). Да, кстати, для любителей макеток - вам, конечно же пригодятся коннекторы.

Разработка механической части




На рисунках сверху приведена исчерпывающая информация о механической части манипулятора и его сборке. В общем-то, при наличии конструктора, возвращаемся на уровень 5-6 лет и собираем все это вместе. Теперь пошагово.
  1. Просверлите два отверстия в качалках от привода. При этом необходимо выдержать расстояние, приведенное на рисунке.
  2. Следующая наша задача - сделать крепеж для основания с приводом. Просверлите 4 отверстия на расстоянии, равном расстоянию между винтами привода и установите его на основание. Мы используем этот привод в качестве неподвижного основания для нашей механической руки.
  3. Прикрепите алюминиевые звенья из конструктора к качалкам приводов. Желательно, чтобы расстояние между двумя качалками примерно было равно 20 сантиметрам.
  4. Прикрепите качалку к неподвижному сервоприводу основания, вторую качалку - ко второму приводу. Перед фиксацией качалок, откалибруйте сервопривода. Установите их таким образом, чтобы положение вала соответствовало 90 градусам, серводвигатель у основания был установлен параллельно звеньям, а серводвигатель на свободном конце - перпендикулярно.
  1. После этого возьмите еще звенья из конструктора и прикрепите их параллельно к свободному концу и серве.
  2. Прикрепите колеса к нижней части механической руки для балансировки и обеспечения поддержки нашей конструкции
  3. Последний серводвигатель должен быть подключен к концу второго звена из 5 пункта.

Подберите подходящую прищепку (или другой схват) и прикрепите ее к серве так, чтобы расстояние от второй сервы до рабочего органа составляло около 20 сантиметров.

При разработке механической части важно выдерживать указанные расстояния - 20, 15 сантиметров и правильно проводить калибровку двигателей. Естественно, доработка конструкции возможна и зависит того, какие именно узлы у вас еще есть в наличии. Например, вместо алюминиевых звеньев из набора конструктора можно использовать обычные линейки, куски пластика и т.п.

Электрическая часть проекта


На рисунке сверху приведена схема подключения платы Arduino. Можно использовать макетную плату, можно распаять шилд , на ваше усмотрение.

Программирование платы Arduino для манипулятора


Эта часть проекта самая интересная и, наверное, самая важная.

Давайте вкратце разберемся, что именно происходит в программной части.

Сначала мы берем изображение и находим его границы. После начинаем рисовать. Процесс рисования состоит из двух частей.

Часть первая. Сначала мы находим пиксель, который соответствует 1, так как наш рисунок теперь представлен в виде 0 и 1. Проходит проверка того, не являются ли пиксели рядом тоже 1, после чего ручка перемещается на выбранный пиксель и удаляет предыдущую 1. Функция повторяется по кругу и позволяет создавать плавные линии.

Вторая часть. Решение обратной задачи кинематики для перемещения рабочего органа к определенному пикселю. При расчете берутся координаты пикселя и вычисляются соответствующие углы приводов. Как именно решается эта задача можно увидеть на рисунке выше.

Теперь перейдем к настройке Matlab и Arduino для отрабатывания кода.

Для начала установите Arduino IO плагин в Matlab.

После этого замените файл arduino.m тем, что прикреплен к проекту под тем же именем.

Скачайте и сохраните finaldraw.m и draw.m в директорию с матлабом.

Загрузите файл adioes.ino на плату Arduino.

Проверьте, к какому порту подключена ваша плата Arduino, после чего откройте finaldraw.m и измените COM3 на ваш порт.

Измените расширение рисунка, который вы хотите нарисовать на.png. Это можно сделать с посощью большинстве графических редакторов. Сохраните полученный файл в директорию с Matlab. Откройте finaldraw.m и измените emma.png на название вашего рисунка с рисширением.png. Схраните файл emma.png.

По молчанию в проекте загружена фотография Эммы Уотсон, которую вы можете использовать для тестирования. Конечно же, вы можете настроить параметры определения положения рабочего органа в соответствии с вашими габаритами конструкции.

На этом все. Подключите вашу плату Arduino к персональному компьютеру, пропишите в командной строке Matlab слово finaldraw и играйтесь.

Программирование продолжается

Алгоритм работы нашего манипулятора достаточно простой. Давайте немного разберемся в этом вопросе.

Сначала мы конвертируем изображение, которое хотим нарисовать в формат png и сохраняем его в папке с Matlab. После этого наш алгоритм преобразовывает рисунок в формат ч/б пикселей, как это показано на рисунке выше. Самая интересная часть - это прорисовка полученных пикселей.

Начинается проверка пикселей конвертированного рисунка. Когда находится 1, которая соответствует белому пикселю на рисунке, рабочий орган перемещается в это положение и опускает ручку. После этого проверяются ближайшие 8 пикселей и, если находится хоть один, ручка перемещается на него, не отрываясь от плоскости. При этом предыдущий пиксель заменяется на 0, чтобы избежать повторов. Таким образом продолжается работа, пока не исчезнут все 1. После этого, рабочий орган перемещается в новое положение проверяет новый массив пикселей. Данный алгоритм позволяет постепенно воспроизвести весь рисунок.

Результат всех приведенных выше пунктов приведен на видео ниже:

Доброго времени суток! Перед вами, дорогие , арт-робот, который может разрисовывать различные сферические или яйцевидные предметы размером от 4 до 9 см.

Для его изготовления понадобится 3D-принтер, набор стандартных инструментов + Arduino.

Примечание: Не стоит ставить крест на проектах, в которых используются 3D-принтер. При желании всегда можно найти место или способ, где можно заказать печать необходимых для проекта деталей.

Шаг 1: Немного о роботе

Арт-робот — двухосевая самоделка , которая может наносить рисунок на большинстве сферических поверхностей. Робот настраивается под определённый тип предмета (шары для пинг-понга, рождественские украшения, лампочки и яйца (утиные, гусиные, куриные …).

Для вращения сферического предмета и перемещения манипулятора используются высокоточные шаговые двигатели с высоким крутящим моментом, а для подъёма механизма ручки — тихий и надежный сервопривод SG90.

Шаг 2: Необходимые детали

Для того, чтобы сделать поделку своими руками нам понадобится:

  • 2x подшипника 623;
  • Шпилька диаметром 3 мм и длиной 80-90 мм;
  • 1x пружина (длиной 10 мм и диаметром 4,5 мм);
  • 2x шаговых двигателя NEMA 17 (крутящий момент 4,4 кг / см);
  • Кабели для двигателей (длиной 14 + 70 см);
  • USB-кабель;
  • 1x сервопривод SG90;
  • Arduino Leonardo;
  • shield JJRobots;

  • 2xA4988 драйвера для шаговых двигателей;
  • Блок питания 12В / 2A;
  • 11x винтов M3 6 мм;
  • 4x винта M3 16 мм;
  • 4x гайки M3;
  • 2x 20-мм присоски;
  • 1x гайка-барашек M3;
  • 1x маркер;

Шаг 3: Общая схема

В качестве «шпаргалки» можете воспользоваться данной схемой.

Шаг 4: Давайте начинать!

Робот двигает манипулятором, с закрепленным на нём маркером, что приводится в действие шаговым двигателем. Другой шаговый двигатель отвечает за поворот объекта, на который наносится рисунок (яйцо, шарик …). Для удерживания предмета на месте используются две присоски: одна, прикрепленная к шаговому двигателю, а другая на противоположной стороне предмета. Маленькая пружина будет давить на присоску, помогая ей удерживать предмет. Для поднятия/опускания маркера используется сервопривод SG90.

Шаг 5: Манипулятор

Установим гайку в отверстие, подготовленное для неё и закрутим 16 мм винт. Сделаем то же самое для держателя предметов (справа на изображении выше). При создании шарнира для манипулятора использовались 2 16 мм винта. Этот шарнир должен свободно вращаться после закручивания винтов.

Шаг 6: Присоски

Установим одну из присосок внутрь отверстия в держателе предметов.

Шаг 7: Крепление шаговых двигателей

Закрепим оба шаговых двигателя к основной раме с помощью 8-ми винтов.

Шаг 8: Ось вращения

Разместим все элементы, как показано на изображении выше.

  • Присоска;
  • Гайка;
  • Верхняя часть;
  • Пружина;
  • Подшипник 623 (должен быть встроен в левую чашку);
  • Левая чашка;
  • Свободное пространство для основной рамы;
  • Правая чашка;
  • Подшипник 623;
  • Разделительное кольцо;
  • Гайка-барашек (M3).

Шаг 9: Размещаем все по своим местам

Вставим собранный манипулятор на ось шагового двигателя.

Установим левую опору на ось шагового двигателя.

Маркер и яйцо установлены в качестве примера (сейчас размещать их не нужно).

ПРИМЕЧАНИЕ: Сервопривод потребует корректировок. Нужно будет повторно установить его угол во время процесса калибровки.

Шаг 10: Электроника

Закрепим электронику на тыльной стороне основной рамы с помощью винтов (2-х будет достаточно).

Подключим кабеля.

Если вы перепутаете полярности при подключении шаговых двигателей, то они будут просто вращаться в противоположном направлении, но с сервоприводом ситуация будет не такой уж и безобидной! Поэтому дважды проверяйте полярность перед подключением!

Шаг 11: Программирование Arduino Leonardo

Запрограммируем Arduino Leonardo с помощью программной среды Arduino IDE (v 1.8.1).

  • Загрузим Arduino IDE (v 1.8.1) и установим программу;
  • Запустим программное обеспечение. Выберем плату Arduino Leonardo и соответствующий COM-ПОРТ в меню «tools-> board»;
  • Откроем и загрузим код Sphere-O-Bot. Распакуем все файлы внутрь одной папки и назовём её «Ejjduino_ARDUINO».

Шаг 12: Арт-робот готов к созданию произведений искусства

Шаг 13: Управление роботом

Программное обеспечение Inkscape. Загрузим и установим программное обеспечение Inkscape (рекомендую стабильную версию 0.91).

Загрузим и установим расширение EggBot Control (версия 2.4.0 была полностью протестирована).

Расширение EggBot Control для Inkscape — это инструмент, который необходимо использовать при тестировании и калибровке EggBot, а также перенесении рисунки на яйцо. Сначала нужно запустить Inkscape. После запуска Inkscape появится меню «Расширения», а в нём уже нужно выбрать подменю «Eggbot». Если не видите подменю Eggbot, то вы неправильно установили расширения. Выполните резервное копирование и внимательно следуйте инструкциям по установке расширений.

На этом всё, спасибо за внимание!)


Робот рисовальщик - это простой робот рисующий повторяющиеся окружности. Не смотря на простоту с его помощью можно создавать сложные фигуры устанавливая его в разных точках листа. Робот выполнен по технологии "распечатал и вперёд" (unpack and forward). При изготовлении его корпус распечатывается на принтере. Технология сборки полностью ориентирована на начинающих роботостроителей. $CUT$

Плюсы данной разработки:
+Корпус распечатывается на принтере!
+Для сборки паяльник не требуется!
+Нет необходимости изготавливать печатную плату!
+Для сборки используется всего два радиокомпонента: мотор и батарейка!

Робот спроектирован с учётом минимального количества компонентов его возможности невелики. Но в конструкции предусмотрены: простая замена и установка фломастера любого цвета, регулировка диаметра прорисовываемого круга, включение-выключение питания, регулировка угла установки мотора.

1.ВИДЕОТЕСТЫ

Через панель навигации видеоплеера можно избирательно выбрать необходимый видеофрагмент. Панель навигации доступна после запуска видео, справа внизу значок пиктограммы. Перед запуском каждого видеофрагмента автоматически выводится его название в верхнем левом углу. В нижней части окна проигрывателя слева название плейлиста и количество сгруппированных видеофрагментов.

  • На видео.1. и видео.2 показан рисующий окружности робот установленным зелёным фломастером.
  • На видео.3 . показан запуск двух роботов на листах офисных листах белой бумаги формата А4.

Видеофрагменты 1-3

ВСЕ РОБОТЫ на канале SERVODROID!!! подпишись и смотри. Переход по ссылке жми!

2.ХАРАКТЕРИСТИКИ РОБОТА

На фото.1, фото.2,фото.3 показан робот рисовальщик в сборке.

фото.1.


фото.2


фото.3

  • Корпус робота полностью выполнен из тонкого картона с декоративным отпечатанным на принтере рисунком. Использованные способы сгибов придают форме жёсткость в точках напряжений. Сегменты (части) корпуса могут сгибаться и менять угол наклона двигателя, а также изменять позицию установки батарейки. Для стабилизации(устойчивость) корпуса во время вращения в конструкции предусмотрены опоры.
  • Радиокомпоненты используемые для сборки : мотор и батарейка. Мотор приводит в движение всю конструкцию относительно центра масс. Кроме прямого назначения мотор и батарейка образуют центр масс, что и позволяет прорисовать круг с помощью фломастера.
  • Регулировки, подстройка рисунка. Предусмотрена возможность быстрой замены (на другой цвет) пишущего узла (фломастера). Изменение диаметра прорисовываемого круга с помощью изменения положения батарейки, перемещение которой смещает центр масс. Фиксированное включение и выключение робота с помощью задания положений клипсы-разъёма на батарейке. Изменение угла положения мотора, которое позволяет использовать моторы с любым типом корпуса.

фото.4

КОМПОНЕНТЫ КОНСТРУКЦИИ РОБОТА

1.Пишущий элемент (фломастер)
2.Источник питания (батарея напряжением 9 вольт)
3.Клипса-разъём (для подключения к батареи 9 вольт).
4.Подвижная часть (регулировка диаметра круга).
5.Мотор с рабочим напряжением 5,9 вольт.
6.Корпус из тонкого картона.

Примечание.1. На фото.4 недостаточно хорошо виден двусторонний скотч, которым закреплён мотор и батарейка. Проверенный факт, использование строительного двустороннего скотча буквально "примораживает" указанные выше элементы! Поэтому другие способы крепежа не потребуются.

нажимайте фото для просмотра в полном размере

3.ДЕТАЛИ И МАТЕРИАЛЫ.


Корпус выполнен из тонкого картона с наклеенной распечатанной на струйном принтере декоративной поверхностью (скины). Ссылка на архив со скинами размещена в конце статьи. Все чертежи в точных размерах, не редактировать! Фотографии используемых компонентов приведены далее.

фото.5

нажимайте фото для просмотра в полном размере

КОМПОНЕНТЫ КОНСТРУКЦИИ РОБОТА НА ФОТО.5

1.Фломастеры цветные.
2.Скотч прозрачный односторонний.
3.Степлер.
4.Стержень гелиевый (цвет любой)-1шт
5.Мотор низковольтный с рабочим напряжением 5,9В тип RF-300F -1шт.
6.Скотч двусторонний строительный
7.Клипса-разъём для подключения 9в батареи.

Примечание.1. На фото.5 не показана батарея напряжением 9 вольт. Рекомендуется устанавливать алкалиновую напряжением 9 вольт, с ней робот будет работать дольше.

Примечание.2. Двусторонний скот обладает клейким покрытием с двух сторон. С одной стороны закрыт защитной бумажной плёнкой для предотвращения склеивания.

Примечание.3. Мотор должен иметь рабочее напряжение не ниже 5,9 вольта, в противном случае велика вероятность пожига обмотки, так как используется напряжением питания 9 вольт! Мотор можно снять со старого CD или DVD-проигрывателя.

4.ИНСТРУКЦИЯ ПО СБОРКЕ.


Для правильной сборки придерживайтесь инструкций по сборке. Редактировать, масштабировать чертежи в архиве нельзя, так как все чертежи архива в точных размерах.

1.ИЗГОТОВЛЕНИЕ И СБОРКА КОРПУСА.

После скачивания архива, распакуйте и выберите вариант печати. Для струйных принтеров используйте чертежи цветных скинов (по выбору), для лазерного принтера чёрно-белый вариант. Печать необходимо проводить на фотобумаге с клеящей основой или плёнке с клеящей основой. Это необходимо чтобы в дальнейшем без проблем приклеить распечатанный скин к тонкому картону.

Приклеивайте липкой основой распечатанный скин к листу картона. Затем аккуратно вырежьте по контуру. Если использована обычная фотобумага, то приклеивать придётся стойким не вредным клеем. На фото.6 показан скин наклеенный на картон. На этом же фото показаны сгибы выполненные в необходимых местах (указано пунктирной линией).

На фото.7 показано (приближено) большие отверстия, которые необходимо проделать в обозначенных кругами местах. Отверстия помечены белыми стрелками.

нажимайте фото для просмотра в полном размере


фото.6


фото.7

Приступайте к сборке частей корпуса. Найдите и совместите совместите поверхности обозначенные буквами "E". Совмещение необходимо выполнить с нижней стороны так, чтобы отверстия совпали (фото.8). Далее проденьте в наложенные друг на друга отверстия фломастер и закрепите с помощью степлера. На фото.8 чёрная стрелка указывает на скобу степлера в правильном положении. Скоба "сшивает" поверхности обозначенные буквой "E", и удерживает их.

На фото.9 показан вид конструкции сбоку. Чёрная стрелка указывает направление свёртки передних поверхностей обозначенных буквами A и B.

нажимайте фото для просмотра в полном размере


фото.8


фото.9

Сверните переднюю часть корпуса разместив их как на фото.10. Обратите внимание на расстояние помеченной красными линиями и стрелками, обозначенное буквой "S". Это расстояние должно быть минимальным! Зафиксируйте область помеченную буквой "A" степлером. Жёлтые стрелки указывают на правильную фиксацию (расположение) скрепками степлера.

На поверхность подписанную "MOTOR" приклейте двусторонний скоч (фото.10 на позицию указывает чёрная стрелка). На фото.11 вид сбоку область установки мотора обозначена стрелкой с буквой "M".

ВНИМАНИЕ! Защитную бумажную ленту с двустороннего скотча на этом этапе не снимать!

нажимайте фото для просмотра в полном размере


фото.10


фото.11

Корпус в сборке (вид сверху в перспективе) с фиксированными степлером поверхностями показан на фото.12.

С помощью одностороннего прозрачного скотча изолируйте участки со скобами степлера. Это необходимо для того, чтобы получить гладкую поверхность (фото.13). Чёрные стрелки на фото.13 показывают приблизительные границы областей изоляции прозрачным скотчем.

нажимайте фото для просмотра в полном размере


фото.12


фото.13

Область покрытия прозрачным скотчем показана чёрным квадратом (фото.14). На фото.14 чёрными стрелками показана область с отверстием для установки фломастера. Также рекомендуется изолировать прозрачным скотчем для увеличения надёжности. На фото.15 показана чёрным полупрозрачным квадратом область изоляции скотчем с тыльной стороны (нижняя часть корпуса).

нажимайте фото для просмотра в полном размере


фото.14


фото.15

2.ИЗГОТОВЛЕНИЕ И УСТАНОВКА ПОДВИЖНОЙ РАМЫ.

Чтобы регулировать диаметр прорисовываемого круга необходимо изготовить подвижную раму. Чертёж подвижной рамы находится в архиве. Чертёж выполнен в точных размерах. Его можно не переводить, а вырезать по контуру и наклеить на тонкий картон. Затем вырезать по контуру и подвижная рама готова (фото.16). Области сгиба поверхностей показаны на чертеже пунктиром. Установите подвижную раму ориентируясь на фото.17.

нажимайте фото для просмотра в полном размере


фото.16


фото.17


С тыльной стороны поверхность подвижной рамы скрепите прозрачным скотчем (на фото.18 показано чёрным стрелками). Проверьте, подвижная рама должна легко перемещаться как на фото.19, фото.20, занимая крайние позиции.

нажимайте фото для просмотра в полном размере


фото.18


фото.19


На поверхность подвижной рамы приклейте двусторонний скотч (фото.21).

нажимайте фото для просмотра в полном размере


фото.20


фото.21

3.МОНТАЖ И ПОДКЛЮЧЕНИЕ МОТОРА, БАТАРЕИ.


Установите мотор на обозначенную позицию предварительно сняв защитную бумажную ленту с двустороннего скотча (фото.22). Возьмите гелиевый стрежень (1) снимите защитный колпачок (2). Оденьте колпачок на вал мотора (3) как показано на фото.22. Колпачок будет выполнять роль протектора и обеспечит лучшее сцепление с поверхностью.

Возьмите клипсу-разъём и скрутите её красный провод с красным проводом мотора. Чёрный провод клипсы-разъёма скрутите с чёрным проводом мотора (фото.23). Загните место скрутки в сторону более толстого провода. Изолируйте соединения изоляционной лентой (фото.24).

нажимайте фото для просмотра в полном размере


фото.22


фото.23


Установите батарейку на позицию подвижной рамы и сильно прижмите к двустороннему скотчу (фото.25). Батарея должна быть установлена так, чтобы не закрывать отверстия для установки фломастера. Когда батарея будет закреплена установите клипсу-разъём как показано на фото.25. Клипса-разъём используется в конструкции робота рисовальщика как выключатель питания. Простой поворот относительно одного контакта батареи 9 вольт включит или выключит мотор (показано чёрной стрелкой на фото.25).

Но и набраться ценного опыта в плане робототехники. Такойробот является манипулятором, который имеет всего две степени свободы. В качестве рабочего инструмента используется карандаш. В этом проекте автор решил обратную задачу кинематики, а также задачу определения расположения рабочего инструмента в зависимости от того, на какой угол развернуты сервоприводы.

Материалы и инструменты для самоделки:
- железный конструктор (Mechanix kit);
- гайки и болты;
- прищепка (или другой держатель для карандаша);
- два колеса (для опор);
- контроллер типа Arduino uno;
- питание (источник 5В 2А);
- макетная плата;
- USB-кабель;
- три серводвигателя;
- дрель, отвертка, ключ;
- необходимое программное обеспечение (Arduino uno, Matlab).


Процесс изготовления робота:

Шаг первый. Разработка механических элементов робота
Механическая часть собирается очень просто, это делается из конструктора. С такой задачей справится и пятилетний ребенок.






1. В качалках от серводвигателя нужно просверлить два отверстия. Отверстия должны находиться на определенном расстоянии, каком именно, видно на фото.
2. Теперь нужно сделать крепеж для основания с приводом. Нужно просверлить четыре отверстия для крепления привода и затем зафиксировать его с помощью винтов. Привод будет использоваться в качестве неподвижного основания для робота-руки.
3. Алюминиевые звенья конструктора нужно прикрутить к качалкам приводов. Желательно, чтобы расстояние между качалками составляло 20 см.
4. Одну качалку нужно прикрепить к неподвижному основанию, а вторую ко второму двигателю. Перед тем как качалки будут зафиксированы, сервоприводы нужно откалибровать. Их нужно установить таким образом, чтобы вал находился под углом 90 градусов. Серводвигатель у основания должен располагаться параллельно звеньям, а привод на свободном конце должен быть размещен перпендикулярно.
5. Далее берутся звенья конструктора и крепятся параллельно к свободному концу и серводвигателю.
6. К нижней части конструкции нужно прикрепить колеса, они нужны для балансировки робота и его поддержки.
7. Последний мотор должен быть подключен к окончанию второго звена из пятого пункта.

Для крепления карандаша используется прищепка, также можно использовать и любой другой подходящий схват. Ее нужно прикрепить к серводвигателю таким образом, чтобы расстояние между ним и рабочим инструментом было около 20 см.

В процессе сборки важно придерживаться указанных расстояний, а также постоянно проводить калибровку двигателей по мере сборки. Несомненно, робота можно усовершенствовать, но тут уже все зависит от того, какие узлы имеются в наличии. Если так вышло, что нет конструктора, то можно использовать линейки, куски пластика и другие подходящие предметы.

Шаг второй. Электрическая схема робота
На рисунке можно увидеть, как подключается контроллер Arduino. Для подключения можно использовать макетную плату или же можно спаять шилд.


Шаг третий. Программирование робота
Программирование состоит из нескольких этапов. Сперва нужно взять изображение и найти его границы. После этого можно начинать рисовать, процесс рисования состоит из двух этапов.


Сначала нужно найти пиксель, который соответствует цифре 1, поскольку рисунок теперь выглядит в виде нулей и единичек. В процессе происходит проверка, есть ли рядом пиксели с единицей, после этого ручка перемещается на следующую единицу, а предыдущую удаляет. Функция замкнута по кругу, что позволяет рисовать плавные линии.

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

Теперь можно переходить к настройке Matlab и Arduino для того чтобы код отрабатывал. Сперва в Matlab нужно установить плагин Arduino IO. Далее файл под названием arduino.m нужно заменить тем, который прикреплен проекту под точно таким названием.

Файлы finaldraw.m и draw.m нужно сохранить в директорию с Matlab. Файл под названием adioes.ino загружается на плату.
На следующем этапе нужно проверить, к какому порту подключена плата Arduino, открыть файл finaldraw.m и заменить порт COM3 на нужный.

Расширение рисунка, который требуется нарисовать, нужно изменить на тип.png. Это делается очень просто, можно использовать графический редактор, к примеру, стандартный Paint. Файл сохраняется в директорию Matlab.

Затем нужно открыть файл finaldraw.m и заменить там emma.png на название рисунка, который нужно нарисовать.
Как видно на картинке, в качестве теста используется фотография Эммы Уотсон.