Ночь пятницы превратилась в ночь робототехники и искусства. Я вспомнил, что видел проект Drawbot. Вы можете переделать обычный сервопривод в сервопривод непрерывного вращения, но у меня уже был сервопривод непрерывного вращения, поэтому я сразу смог приступить к работе.
Drawbot состоит из нескольких частей:
- DC Boarduino (Arduino клон)
- 2х сервопривода непрерывного вращения.
- 2х серво колеса.
- Небольшая макетная плата.
- Разъем для батареи 9В с выключателем и штекером 2,1 мм.
- Провода с BLS штырьками.
Вместо Boarduino можно использовать любую плату Arduino. Я использовал Boarduino из-за маленьких размеров.
Также вам понадобится несколько маркеров (Я рекомендую брать набор маркеров разных цветов), батарея 9В и основа.
Сборка Drawbot довольно проста. Сначала я соединил два сервопривода с колесами скотчем и измерил расстояние между колесами. Ширина основы должна быть немного меньше расстояния между колесами. Я использовал гофрированный пластик, потому что он очень легкий, легко обрабатывается и относительно прочный. Конечно, можно использовать картон, пластик от футляров для дисков или другой материал, но гофрированный пластик намного лучше.
Я прикрепил сервоприводы к основе при помощи резинок. Разместить батарею и макетную плату на основе довольно сложно, потому что надо соблюдать баланс. Я хотел, чтобы на стороне, к которой прикреплён маркер было немного больше места, но не хотел, чтобы на другой стороне был перевес. Благодаря резинкам все части можно легко перемещать, выбирая оптимальное расположение.
Как и везде в этом проекте, я использовал провода с BLS штырьками для подключения сервоприводов к макетной плате.
Когда я закончил сбору, я захотел проверить его работу. Я хотел найти или написать код для непрерывного вращения сервопривода. Поискав, я нашел статью Управление сервоприводом непрерывного вращения Parallax (Futaba) при помощи Arduino. Я максимально упростил свой код. Сейчас Drawbot просто ездит по кругу. Да, это примитивно, но это хороший старт и основа для дальнейшего развития.
Теперь у нас есть робот, который ездит по кругу. Пришло время сделать что-то ещё. Я взял небольшой кусок гофрированного пластика и при помощи ножа вырезал в нем отверстие. Я вырезал отверстие немного меньшего размера чем нужно, и благодаря этому маркер крепится в нем хорошо и туго. Если использовать картон, то так хорошо и туго маркер закреплен не будет.
Теперь, когда маркер установлен, пришло время протестировать его. Я поставил его в центр листа 24"х 18" и включил. Он начал вращаться и рисовать круги. Мне удалось создать робота, который может создать произведение искусства!
Полученный рисунок был довольно неуклюжими, потому, что лист лежал на полу, а он не идеально ровный, вероятно, сервоприводы вращаются не совсем синхронно. У нас один круг может быть ниже, другой выше, следующий ещё немного ниже или выше. Вероятно, в идеальном мире все окружности были-бы выровнены по одной линии. Я думаю, это выглядело бы красивей.
Мы подумали, что два маркера будет лучше, чем один, и прикрепили его. Результат был хорошим. Круги начали пересекаться. Интересно будет попробовать запустить робота на большем листе бумаги, чтобы посмотреть, как он ведет себя дальше.
Код:
int servoPinL = 9; int servoPinR = 10; void setup() { pinMode(servoPinL,OUTPUT); pinMode(servoPinR,OUTPUT); } void loop() { digitalWrite(servoPinL,HIGH); digitalWrite(servoPinR,HIGH); delayMicroseconds(1500); digitalWrite(servoPinL,LOW); digitalWrite(servoPinR,LOW); delay(50); }
Этот код очень простой. Вы получите просто круг или пучок окружностей. Но теперь, когда есть рабочий Drawbot, можно начать совершенствовать код. Мы с нетерпение ждем от этого робота произведения искусства.
Комментарии (0) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация