UART: la comunicación serial más básica
UART (Universal Asynchronous Receiver-Transmitter) es un protocolo de comunicación serie asíncrono que usa dos líneas: TX (transmisión) y RX (recepción). Es el protocolo detrás del USB-serial del Arduino, la comunicación con módulos Bluetooth, GPS, GSM y muchos sensores. No tiene señal de reloj separada: emisor y receptor deben configurarse al mismo baud rate.
Parámetros UART
- Baud rate: Velocidad en bits por segundo. Los más comunes: 9600, 115200, 57600
- Bits de datos: Típicamente 8 bits por trama
- Bits de parada: 1 o 2 bits que marcan el fin de la trama
- Paridad: Bit opcional de verificación de errores (None, Even, Odd)
- Configuración más común: 8N1 (8 datos, sin paridad, 1 stop)
Serial vs SoftwareSerial
El Arduino Uno tiene un solo UART hardware en los pines 0 (RX) y 1 (TX), compartido con el USB. Para comunicación simultánea con USB y un módulo externo, usa SoftwareSerial en pines 10 y 11 (cualquier par de pines digitales). SoftwareSerial tiene limitaciones: no es full-duplex real y pierde bytes a baud rates muy altos. El Arduino Mega tiene 4 UARTs hardware, eliminando este problema.
Comunicación Arduino-Arduino
Puedes conectar dos Arduinos por serial: TX de uno al RX del otro y GND común. Con Serial.write() envías bytes y con Serial.read() los recibes. Define un protocolo simple: byte de inicio, longitud, datos y checksum. Esto permite dividir proyectos complejos en dos microcontroladores con tareas especializadas, cada uno con su lógica y timing. En Especificar.cl tienes Arduinos y módulos serial para todos tus proyectos de comunicación.