Связь Arduino Uno с другим контроллером
- Войдите на сайт для отправки комментариев
Доброго времени суток, господа!
Имеется Arduino Uno + шилд Pololu Dual VNH5019 Motor Driver Shield.
Необходимо управлять движками с помощью Arduino Uno + Pololu Dual VNH5019 Motor Driver Shield с "другого" контроллера (модель пока не известна). Т.е., как я понимаю, необходимо слать данные в Arduino, которыми будут объявляться переменные в софте (вкл./откл. движков, скорость движков, направление вращения). Так же необходимо обрабатывать значение тока движков и слать сигнал об ошибке (зашита по току) на "другой" контроллер.
Суть вопроса.
Как лучше (по какой шине, в каком формате) принимать необходимые значения и как их присваивать моим переменным в прошивке Arduino?
Т.е. мне нужно мне обьяснить "тем" программистам ("другого" контроллера) в каком формате и как слать мне эти данные.
Может есть какие-то примеры таких решений.
Заранее спасибо.
Слать наверно по UART, формат определяйте как Вам удобнее. Лучше с подтверждением для контроля ошибок.
Слать наверно по UART, формат определяйте как Вам удобнее. Лучше с подтверждением для контроля ошибок.
А как Arduino будет определять, какая именно команда приходит по последовательному порту?
Т.е. вкл/откл двигателя, значение скорости, и для какого именно движка это значение?
И еще такое вопрос. Может будет проще команды на вкл/откл движков слать просто как цифровые входы? Т.е. лог.1 или 0 (вкл или откл), а значения скоростей уже по Serial?
1. Как будете парсить принятое, так Ардуино и будет определять.
2. Уверен, что Вам с самим собой не составит труда договориться о кодах :)
Как я понимаю, нужно слать команды с каким-то префиксом. И обьявлять нужные переменные исходя из префикса.
Может есть какие-то варианты легче это сделать?
А что тут сложного? Протокол взаимодействия вы же сами придумываете.
В моем понимании вопроса достаточно посылок из двух байт.
Первый байт - значение, указывающее, какую машинку подключить, второй байт, указывает действие. Данные передаются через UART (по bluetooth или еще каким радиоустройством).
На принимающей стороне конструкция из case, переваривающая команды соответствующими процедурами.