Основная задача - это последовательная работа нескольких мк (ардуино уно). То есть, 1ый мк выполнил свои функции, "говорит" 2му мк - выполняй свои, далее 2ой - третьему и т.д. Соответственно вопрос - как организовать связь между мк? Как вариант - i2c. Первый - мастер отработал - пишет 1му слейву - начинай работу! Но, вопрос, может ли первый слейв передавать команду 2му слейву? Это также по номеру обращаться? ...как и масте со слейвом? Или как может слейв с мастером общаться?
Полагаю, здесь один МК должен быть мастером. Он опрашивает последовательно исполнителей (ведомых), и когда один выполнил работу, дает команду другому. (Сам он тоже может работу исполнять, себя ему опрашивать не надо)
Нет у него адреса. Но если бы слэйвы не могли бы с ним связаться - связь была бы односторонняя, так? А она - двусторонняя. Значит Вы что-то неправильно понимаете. Или не дочитали.
Сам - никак, только по команде от мастера. - третий, приём! - третий на связи. Работа выполнена. Результат 5 и 16. Конец связи.
А что не соединить уарты цугом (если конечно порядок неизменен) Tx1-Rx2, Tx2-Rx3 и т.д. как вариант uart с развязками всех Тх диодами, это не комильфо и квадратично сложно, но поскольку у вас одновременная передача разными мк невозможна, то прокатит бесконфликтно. Если так "неформально" сделать религия не позволяет, то как посоветовал Tomasina назначить один мастером и i2c или spi. Я лично люблю RS485 и все делаю с этим протоколом, так что вам можно и RS485 использовать, опять же исходя из принципиальной НЕОДНОВРЕМЕННОСТИ передачи разными модулями.
Как нет адреса, какой напишите такой и будет, мастер с слейвом прекрасно дружат, почитайте про протокол i2c и соединение нескольких МК не составит особого труда. Вот тут есть отличные примеры, если понимаете на инглише, можно отправлять информацию любого типа между контроллерами int,float и т.п.