Как синхронизировать два Arduino в микросекунду - PullRequest
1 голос
/ 24 октября 2019

Я делаю проект с Arduino, который требует, чтобы две платы Arduino передавали микросекунду () (переменную времени на одной плате Arduino, которая зависит от времени ее работы) с одной из двух плат Arduino на другую, чтобы сделать их синхронизированными. Работает ли attachInterrupt ()? Или есть какие-то другие функции, полезные для моего проекта?

1 Ответ

0 голосов
/ 24 октября 2019

Для какой цели или насколько точной должна быть синхронизация? Я думаю, что я бы начал с использования UART или I2C для передачи синхронизации от одного мастера на другой плате (ах). Повторяйте процесс с интервалами, чтобы обеспечить точность синхронизации.

Используйте функцию arduino micros(), чтобы получить значение от ведущего и отправить его на ведомое (ые) устройство в виде двоичного файла, а не текста, чтобы сэкономить время передачи.

Чтобы получить еще большую точность, вы действительно можете добавить технику прерывания. Подключите выходной контакт ведущего через резистор (1 кОм или что-то для защиты) к контакту прерывания ведомого (ых) и установите его в положение НИЗКОЕ. Затем через определенный интервал (например, каждые 1000 микросекунд) мастер на короткое время устанавливает высокий выходной вывод. Подчиненные arduino (ы) могут прикрепить прерывание для точной настройки их микро-ссылки на master.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...