Соединение двух Ардуино
Передача данных в интерфейсе UART осуществляется по двум проводам. При этом, обе стороны, участвующие в обмене данными, подключаются крест-накрест:

RX — от английского receiver — приёмник, а TX — tranceiver — передатчик.
Микроконтроллер atmega328 имеет один встроенный UART узел, который соединен с контактами D0 и D1. Контакт D0 соответствует линии RX, а D1 — TX. Чтобы связать две платы Ардуино между собой, соединим линии RX и TX крест-накрест, а также свяжем платы общей линией питания Gnd.

Теперь приступим к написанию программ для обоих контроллеров.
Добрый день!
А как поступить с отрицательными числами?
Точно так же. Передается все равно байт, а уж -128..127 или 0..255 это вам решать на приемнике. Просто создаете переменную нужного типа и в нее записываете значение из UART.
Почитайте про отрицательные числа в двоичном коде у ВМ
Сразу станет понятно что как передавать
https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4