Перейти к содержанию

    

Управление двумя сервоприводами через ПК

Всем привет. Собрал проект управления сервоприводом через ПК сам код и пример взял из этой статьи : Управление сервоприводом при помощи Arduino и Java приложения Серва работает на ура, теперь хочу управлять сразу двумя сервоприводами, одну привязать на координату x другую на координату y. только вот не совсем пойму как это программно сделать, нужно придумать какой то протокол передачи координат на ПК и разбирать его в ардуине. Кто нибудь делал подобное?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Надо пересылать не один байт, а два байта. Первый байт будет для одной сервы, второй, для другой.

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

Собственно все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Координировать надо в реалтайме а ПС для этих целей не очень.

Поделиться сообщением


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

 

Реалтайм реалтайму рознь.

 

Если объект, на который будут воздействовать сервы не подвержен быстроменяющимся внешним воздействиям, то и ПК сойдет.

Для товарища, задавшего вопрос, я думаю этого будет достаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Надо пересылать не один байт, а два байта. Первый байт будет для одной сервы, второй, для другой.

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

Как управляемое устройство будет узнавать где 1й, а где 2й байт?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Как управляемое устройство будет узнавать где 1й, а где 2й байт?

0 или 1 в старшем бите ? и 7 бит данных

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
0 или 1 в старшем бите ? и 7 бит данных

А вот это уже называется "протокол обмена" ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

но всё ещё с пакетом не более одного байта

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
но всё ещё с пакетом не более одного байта

Отчего-ж? Если есть возможность определить границы пакета, значит он может быть многобайтовым.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
но всё ещё с пакетом не более одного байта

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

Вопрос: зачем делать сразу плохо, если плохо получается обычно без каких-либо усилий?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация