Arduino базово имеет выход uart он же rs-232 и включается командой Serial.begin(****) этот интерфейс подходит для связи на коротких расстояниях и в чистом виде не предназначен для работы с большим количеством узлов, как этого избежать я описывал в другой статье. Однако когда нужно осуществить связь на больших расстояниях RS - 232 не подходит, его дальность связи ограничена 20 метрами. Выход есть, нужно перейти на интерфейс RS-485. Но не все так просто, RS-485 физически не поддерживает одновременную передачу сообщений в двух направлениях. Придется в коде прописывать, чтоб сообщения от ведомого устройства посылались только в ответ на сообщение ведущего. Сигнал RS-232 передается относительно земли, для его подключения используется 3 провода GND, RXD и TXD. А RS-485 подключается двумя проводами A+ и B-. Биты кодируются дифференциально относительно А В, И при подключении проводом типа "витая пара" помеха пришедшая на провод будет как на одном так и на другом проводе, при обработке сигнала