HardwareSerial и SoftwareSerial
Статья в разработке
SoftwareSerial
На управляющих платформах Arduino с микроконтроллером ATmega328 / ATmega2560, аппаратный UART выведен на контактные пины 0 и 1 и он же используется для отладки/прошивки по USB. Это означает невозможность использовать одновременно общение по USB и дальномера. Решение проблемы — программный UART, который позволяет имитировать шину на других контактах платы. Подробности читайте в описании библиотеки SoftwareSerial.
Список поддерживаемых плат
Все платы Arduino с ядром AVR.
HardwareSerial
На управляющих платах Arduino с микроконтроллерами ATmega32U4 / ATSAMD21G18, аппаратный UART выведен на контактные пины 0 и 1, а данные по USB передаются через виртуальный COM-порт. Это даёт возможность одновременно подключить дальномер к аппаратному UART и выполнять отладку по USB.
HardwareSerial Mega
На платформах форм-фактора Arduino Mega 2560 интерфейс UART выведен на контактные пины платы и он же используется для отладки по USB. Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Barcode-модулем.
Но на платах такого форм-фактора есть ещё дополнительно три аппаратных UART:
Serial1:пины 19(RX1) и 18(TX1);Serial2:пины 17(RX2) и 16(TX2);Serial3:пины 15(RX3) и 14(TX3).
Список поддерживаемых плат: