Код для управления сервоприводом с shield

Недавно я купил Arduino MEGA2560 и Щит контроллера робота SainSmart InstaBots для управления рукояткой робота Arduino MEGA2560 R3.

Я понимаю, как управлять сервоприводом методом, описанным в разделе Sweep. Однако я хочу управлять шестью сервоприводами, используя область экрана, обведенную красным ниже. Может ли кто-нибудь предоставить код для настройки и управления сервоприводами из области, обведенной красным?

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

, 👍1

Обсуждение

Добавьте дополнительную информацию об этом щите., @Mikael Patel

Я получил щит по этой ссылке: http://www.sainsmart.com/sainsmart-instabots-robot-controller-shield-for-arduino-mega2560-r3-robot-arm-control.html?gclid=CKDOq-7Mh8sCFVZbhgodfeUBWQ, @samuelli97


3 ответа


Лучший ответ:

1

Однако я хочу управлять шестью сервоприводами, используя область щита, обведенную красным ниже. Может ли кто-нибудь предоставить код для настройки и управления сервоприводами из области, обведенной красным?

Учитывая ограниченное количество информации, которую вы предоставили о щите, это будет лишь дикая догадка. Я предполагаю, что это контакты S (сигнал), V (cc) и G (nd) для контактов 8–13. На Arduino Mega их можно использовать для ШИМ и, следовательно, для сервоуправления.

Подключите библиотеку сервоприводов, прикрепите штифт и задайте угол.

#include <Servo.h>

Servo servo[6];   

void setup() 
{
  ...
  for (int i = 0; i < 6; i++)
    servo[i].attach(8 + i);
  ...
}

void loop() 
{
   ...
   servo[i].write(pos);
   ...
}

Удачи!

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

,

Разве номер servo.attach() не относится к области контакта рядом с зеленым светом?, @samuelli97

@ samuelli97 - Да, вы можете использовать выходные контакты (рядом с зеленым светом), но для простоты использования сервоприводы (обычно) подключаются к экранам контроллера через трехконтактный разъем, который подключается прямо к 6 наборам контактов SVG. , на вашей доске. Сначала вам нужно будет припаять 6 наборов 3-контактных разъемов (которые должны были идти в комплекте с платой) к отверстиям на печатной плате, которые вы обвели красным, чтобы иметь возможность подключить сервоприводы. Как также утверждает Микаэль, вы Также необходимо будет подключить внешний источник питания к зеленым клеммам, поскольку Arduino не может самостоятельно подавать достаточную мощность на сервоприводы., @Greenonline


0

В разъемах SVG на вашей плате отсутствуют контакты:

Трехконтактный разъем

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

Если вы посмотрите на другие изображения платы на веб-странице SainSmart, то хорошо видны контакты заголовка:

Щит SainSmart с контактами заголовка

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

Разъем сервопривода

Поскольку на плате контакты расположены в порядке SVG, это означает, что она будет поддерживать разъемы типа Futaba J (но не Airtronics, поскольку контакты питания и заземления перепутаны):

Разъемы Futaba и Airtronics

Кроме того, ваша плата поддерживает разъемы Hitec и JR Radio, поскольку они имеют одинаковую распиновку:

Разъемы JR Radio и HiTec.

Для получения дополнительной информации ознакомьтесь с разделом Выбор сервоприводов RC.

>

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

На щите SainSmart отображается зеленый разъем внешнего питания

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

После того, как вы все это сделаете и уберете оборудование, программное обеспечение, представленное в ответе Микаэля, будет работать идеально.

р>
,

У меня есть контакты разъема, я могу их припаять без проблем. Нужно ли мне подключать батарею к шилду или я могу подключить ее к Arduino?, @samuelli97

Извините, вы сказали, что это должно быть прямо в щит. Большое спасибо!, @samuelli97


1

Sainsmart STILL отказывается предоставлять документацию на эту плату. Предположительно, она может управлять 6 сервоприводами и двумя двигателями, до 4 Ампер, с цифровыми входами энкодера. НЕТ документации по оборудованию или программному обеспечению Mega, позволяющему это реализовать.

,