domvpavlino.ru

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

Доброго времени суток! Перед вами, дорогие , арт-робот, который может разрисовывать различные сферические или яйцевидные предметы размером от 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, то вы неправильно установили расширения. Выполните резервное копирование и внимательно следуйте инструкциям по установке расширений.

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

Данный проект главным образом предназначен для начинающих радиолюбителей и позволяет использовать микроконтроллер arduino, средство создания кода matlab и механические компоненты, а также небольшое количество электронных элементов. Робот имеет механическую руку с 2 степенями свободы и манипулятором ручкой. В проекте используется приложение инверсной кинематики и эффективное средство обнаружения контуров изображения.

Шаг 1: Используемые компоненты, инструменты и программное обеспечение

1. Механические компоненты

  • Набор Mechanix kit
  • Гайка и винты
  • Держатель ручки (прищепка)
  • 2X колесика

2. Электронные компоненты

  • Модуль Arduino uno
  • Печатная плата или макетная плата
  • Источник питания (адаптер напряжением 5В и током 2А)
  • USB кабель

3. Сервомоторы

  • Сервомоторы

4. Инструменты

  • Паяльник
  • Проволочный припой
  • Отвертка
  • Дрель

5. Программное обеспечение

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

Для проекта требуется использовать сервомоторы с крутящим моментом 7кг/см. В случае использования макетной платы нам не потребуется паяльник и припой.

Шаг 2: Механическая конструкция

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

  1. Просверлите два отверстия в каждой плоской шайбе так, чтобы расстояние между этими отверстиями было одинаковым для всех шайб, как показано на рисунке выше.
  2. Теперь мы должны изготовить жесткую опору для одного конца. Просверлите четыре отверстия на соответствующем расстоянии для винтов сервомотора и прикрепите сервомотор к квадратной стойке. Мы используем данную конструкцию для создания жесткой опоры, необходимой в процессе настройки.
  3. Подсоедините две алюминиевые пластины из конструктора к двум любым шайбам, как показано на рисунке так, чтобы расстояние между двумя шайбами составляло около 20 см.
  4. Теперь прикрепите одну шайбу к сервомотору с жесткой опорой, и вторую к другому сервомотору. Далее перед окончательным закреплением шайб откалибруйте сервомоторы на угол поворота 90 градусов так, чтобы сервомотор с жесткой опорой располагался параллельно к пластинам и свободный конец сервомотора находился перпендикулярно к нему.
  5. Теперь возьмите самые длинные пластины (длиной 15 см) из конструктора и прикрепите их к нижнему концу свободного конца сервомотора параллельно ему.
  6. Затем прикрепите колесики к нижней части механической руки с ручкой, которую мы создали на 5 шаге, для создания надежного равновесия и опоры.
  7. Последний сервомотор необходимо прикрепить к концевой точке шага 5 с помощью клея feviquick или пистолета для склеивания, чтобы создать жесткую конструкцию.
  8. Вместе с пластиной соответствующей длины и прищепкой прикрепите ручку к сервомотору так, чтобы расстояние от свободного конца плоской шайбы и кончика ручки составляло около 20 см.

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

Шаг 3: Электронные компоненты

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

Шаг 4: Программный код

Это наиболее интересная и важная часть данного проекта.

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

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

Этап 2: На втором этапе используется инверсная кинематика для достижения требуемого конкретного пикселя. Нам нужно знать координаты пикселя и вычислить соответствующие углы для осей вращения; формулы расчета показаны на рисунке выше.

Вышеуказанное объяснение не используется для выполнения программного кода, а служит для общего понимания.

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

Сначала установите пакет arduino IO package для matlab (все инструкции указаны вместе с пакетом программ).

Загрузите и сохраните finaldraw.m и draw.m в директории matlab.

Загрузите файл adioes.ino, который был загружен ранее, в модуль arduino.

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

Измените расширение изображения, которое вы хотите нарисовать, на *.png. Это можно сделать в любом редакторе изображений. Далее сохраните изображение в директории matlab. Откройте файл finaldraw.m и замените файл emma.png на ваше изображение с расширением.png. Сохраните файл finaldraw.m.

В качестве примера было загружено изображение Эммы Уотсон, поэтому вы можете его использовать в процессе тестирования. Также вы можете изменить параметры функции обнаружения контуров изображения в соответствии со своими требованиями.

Теперь подключите arduino к вашему ПК, включите источник питания и введите finaldraw в командной строке matlab. Наслаждайтесь процессом рисования изображения!!!

Если у вас возникли какие-либо проблемы, тогда ознакомитесь с шагом 5.

Шаг 5: Описание программного кода

Ниже описывается алгоритм рисования изображения.

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

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

Где учат делать роботов своими руками шаг-за-шагом. Это команда специалистов из области автоматизации, занимающаяся популяризацией робототехники среди детей, школьников и студентов.

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

Плюсы данной разработки:

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

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

Видеотесты

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

Характеристики робота

На фото робот рисовальщик в сборке.

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


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

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

Детали и материалы

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

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

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

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

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

Инструкция по сборке

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

Изготовление и сборка корпуса

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

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

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

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

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

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

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

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

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

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

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

Изготовление и установка подвижной рамы

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

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

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

Монтаж и подключение мотора, батареи.

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

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


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

Установка пишущего узла (фломастера)

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

Настройка и включение робота

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

Архив к роботу рисовальщику с чертежами можно скачать , пароль не требуется. Размер архива 3,26Mb.

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

Материалы и инструменты для самоделки:
- железный конструктор (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 на название рисунка, который нужно нарисовать.
Как видно на картинке, в качестве теста используется фотография Эммы Уотсон.

Загрузка...