roboforum.ru

Технический форум по робототехнике.

Управление сервой при помощи ползунка

Управление сервой при помощи ползунка

26rus » 03 май 2011, 20:43

Всем привет.
Есть ардуино + серва. Задача реализовать управление сервой по usb через комп ползунком.
Кто может набросать, или кинуть ссылку на програмку управления сервой с компа посредством ползунка?
пример:
http://www.youtube.com/watch?v=5hNNtqaj ... re=related
или в таком исполнении
http://www.youtube.com/watch?v=O0za76D_ ... re=related

желательно исходники в с++
:)

заранее благодарен.

Re: Управление сервой при помощи ползунка

noonv » 03 май 2011, 22:12

вот этот код 100%-рабочий.

Re: Управление сервой при помощи ползунка

26rus » 04 май 2011, 09:50

большое спасибо за ссылку.
попробовал запустить из visual studio 2010 и borland c++ builder, не получилось :(
видимо не хватает мне познаний (вернее нету).
Можно как для "ЧАЙНИКА" расписать код с комментами по строчкам и на один ползунок, для одной сервы...
видеокамера мне не нужна (я так понимаю для ее подключения надо подключать openCV, а я до этого еще не дошел, мне бы с одной сервой разобраться, учусь я :))

Re: Управление сервой при помощи ползунка

Angel71 » 04 май 2011, 21:05

самоучитель покупаете/скачиваете и учитесь программировать. всего-то нужно настроить компорт и в сколле при изменении значения в ком отсылать.

Re: Управление сервой при помощи ползунка

26rus » 04 май 2011, 22:33

Angel71 писал(а):самоучитель покупаете/скачиваете и учитесь программировать. всего-то нужно настроить компорт и в сколле при изменении значения в ком отсылать.

Уважаемый Angel71, вашим ответом можно ответить на 90% всех топов форума...
Я задаю свой вопрос, не скрывая, что в данной теме я полный нуб, в надежде, что люди которые в этом разбираются помогут мне.
Возможно в моем вопросе и нет ничего сложного, но тогда на него не сложно и ответить, ведь так?
В данный момент мне нужно, чтобы мне помогли реализовать данную задачу.

Заранее благодарен.

Re: Управление сервой при помощи ползунка

RootAdmin » 05 май 2011, 00:43

Для объекта скролл нужно в процедуре снятия фокуса (например) проверять его новое значение. Если отличается от старого- передать нужную команду на ардуино.
Я бы начал с того, что научился просто с ней общаться, передавать и принимать строки.Если пишешь на *nix - помогу, винда неинтересна.

Re: Управление сервой при помощи ползунка

Angel71 » 05 май 2011, 03:18

26rus, в вижуал студии есть отличная документация, в том числе и на русском. онлайн версия есть на офсайте http://msdn.microsoft.com/library/. еще есть гугл и другие поисковики. с базовыми знаниями языка, справкой и поисковиком ваша задача очень быстро и легко реализуется. базовых знаний языка у вас вообще похоже нет, а без них вообще лучше забудьте про всё, ничего кроме медвежьих услуг вам не светит. берите и изучайте азы. сначала си, затем с++ и только потом с этими знаниями начинать изучать как в нужной вам операционке, среде разработки и соответсвующиими библиотеками классов. в противном случае вы либо станете очередным недокодером, либо очень долго будете по каждому пустяковому вопросу днями просиживать в поисках ответов. :) не хотите, не прислушивайтесь и держите два примера работы с компортом (как вы и хотели, на си++): http://netcode.ru/cpp/?lang=&katID=20&skatID=178&artID=5166, http://msdn.microsoft.com/ru-ru/library/s14dyf47.aspx. "ползунок" иногда называется scrollbar

Re: Управление сервой при помощи ползунка

26rus » 05 май 2011, 10:17

спасибо
Последний раз редактировалось 26rus 15 май 2011, 23:54, всего редактировалось 1 раз.

Re: Управление сервой при помощи ползунка

avr123.nm.ru » 05 май 2011, 10:33

Выложите архивом что получилось - кому-то пригодится.

Re: Управление сервой при помощи ползунка

26rus » 17 май 2011, 23:17

управляющая программа:
http://ifolder.ru/23597907

виртуальный порт 23

скетч ардуины:
Код: Выделить всёРазвернуть
#include <Firmata.h>
#include <Servo.h>

Servo servo7;


void analogWriteCallback(byte pin, int value)
{
    if(pin == 7)
      servo7.write(value);

}

void setup()
{
    Firmata.setFirmwareVersion(0, 2);
    Firmata.attach(ANALOG_MESSAGE, analogWriteCallback);

    servo7.attach(7);
   
    Firmata.begin(9600);
}

void loop()
{
    while(Firmata.available())
        Firmata.processInput();
}



подключаем серву на 7 пин запускаем прогу, двигаем скролл - жужжит...
Последний раз редактировалось Vooon 18 май 2011, 20:28, всего редактировалось 1 раз.
Причина: [code=cpp]!


cron
Rambler\'s Top100 Mail.ru counter