Dos Arduinos que se hablan

Conecta dos Arduino Uno en Tinkercad y envía un mensaje de uno a otro por un solo cable.

Qué vas a construir

Dos Arduino Uno conectados con dos cables. Uno envía un mensaje cada segundo y el otro lo muestra en su monitor serial.

Lo que aprendes

  • Qué es un enlace de comunicación entre dos dispositivos.
  • Por qué el transmisor (TX) de uno va al receptor (RX) del otro.
  • Cómo usar la librería SoftwareSerial para crear un canal extra.
  • Por qué los dos dispositivos deben compartir la misma tierra (GND).

Idea clave

Una red empieza con un cable, un emisor y un receptor. El emisor envía bits en orden y el receptor los junta para formar el mensaje. Si las velocidades no coinciden, el mensaje llega como texto sin sentido.

Materiales en Tinkercad

  • Dos Arduino Uno R3
  • Cables

Paso 1: Conecta los dos Arduinos

Usa el pin 11 como transmisor y el pin 10 como receptor en ambas placas:

Arduino emisor Arduino receptor
Pin 11 (TX) Pin 10 (RX)
GND GND

Conecta también las dos GND. Sin tierra común, las señales no tienen referencia y el receptor lee basura.

Paso 2: Código del emisor

#include <SoftwareSerial.h>

SoftwareSerial enlace(10, 11);  // RX, TX

void setup() {
  enlace.begin(9600);
}

void loop() {
  enlace.println("hola");
  delay(1000);
}

Paso 3: Código del receptor

#include <SoftwareSerial.h>

SoftwareSerial enlace(10, 11);  // RX, TX

void setup() {
  Serial.begin(9600);   // monitor serial de la computadora
  enlace.begin(9600);   // mismo valor que el emisor
}

void loop() {
  if (enlace.available()) {
    String mensaje = enlace.readStringUntil('\n');
    Serial.println(mensaje);
  }
}

Paso 4: Ejecuta la simulación

Inicia la simulación con los dos circuitos y abre el monitor serial del receptor. Debe aparecer “hola” una vez por segundo.

Cómo sabes que lo lograste

  • El monitor serial del receptor muestra “hola” cada segundo.
  • Puedes explicar por qué el TX del emisor va al RX del receptor.
  • Cambiaste el mensaje en el emisor y el receptor lo muestra igual.

Qué salió mal

El receptor muestra caracteres raros. Las velocidades no coinciden. Ambos deben usar 9600.

No llega nada. Revisa que el cable vaya de 11 a 10, no de 11 a 11, y que las dos GND estén conectadas.

El emisor funciona pero el receptor no. Confirma que el receptor usa SoftwareSerial con los mismos pines (10 y 11).

Siguiente clase

En la siguiente clase vas a darle forma al mensaje para que el receptor sepa dónde empieza y dónde termina.