💻 Programacion de Hardware

Comunicación Serial con ESP32

¿qué es comunicación serial?

JH
Jorge Henao · 29 de septiembre de 2026 · 5 min de lectura · 6 visitas
- comprender qué es la comunicación serial;
- identificar TX, RX y GND;
- entender qué significa baud rate;
- usar Serial.begin();
- enviar información desde el ESP32 al computador;

- enviar comandos desde el computador al ESP32;

- leer números y textos;
- controlar dispositivos mediante comandos;
- construir un pequeño protocolo de comunicación.

Ejercicio 1 — Primer mensaje del ESP32



¿Qué hace Serial.begin()?
¿Qué representa 115200?
¿Quién está transmitiendo?
¿Quién está recibiendo?
holamundo.ino
void setup() {

  Serial.begin(115200);

  Serial.println("Hola desde ESP32");

}

void loop() {

}

Ejercicio 2 — Diferencia entre print y println

hola.ino
void setup() {

  Serial.begin(115200);

  Serial.print("Hola ");
  Serial.print("mundo ");

  Serial.println("ESP32");
  Serial.println("Segunda linea");

}

void loop() {

}
Ejercicio 3 — Contador serial
contador.ino
int contador = 0;

void setup() {

  Serial.begin(115200);

}

void loop() {

  Serial.print("Contador: ");
  Serial.println(contador);

  contador++;

  delay(1000);

}
Ejercicio 4 — Simular un sensor
sensor.ino
void setup() {

  Serial.begin(115200);

}

void loop() {

  int temperatura = random(20, 35);

  Serial.print("Temperatura: ");
  Serial.print(temperatura);
  Serial.println(" °C");

  delay(1000);

}
Ejercicio 5 — Leer una entrada analógica
Potenciómetro
Terminal 1 → 3.3V Terminal 2 → GPIO 34 Terminal 3 → GND
analogo.ino
const int sensor = 34;

void setup() {

  Serial.begin(115200);

}

void loop() {

  int valor = analogRead(sensor);

  Serial.print("ADC: ");
  Serial.println(valor);

  delay(500);

}
Ejercicio 6 — Ahora el computador habla con el ESP32
¿Qué hace Serial.available()?
La función Serial.available() en Arduino devuelve el número de bytes (caracteres) disponibles para leer en el búfer (buffer) de recepción seria
pc.ino
void setup() {

  Serial.begin(115200);

  Serial.println("Escriba un caracter:");

}

void loop() {

  if (Serial.available() > 0) {

    char dato = Serial.read();

    Serial.print("Recibi: ");
    Serial.println(dato);

  }

}
Ejercicio 8 — Encender un LED mediante el computador
led.ino
const int led = 2;

void setup() {

  Serial.begin(115200);

  pinMode(led, OUTPUT);

  Serial.println("Control LED");
  Serial.println("1 = Encender");
  Serial.println("0 = Apagar");

}

void loop() {

  if (Serial.available() > 0) {

    char comando = Serial.read();

    if (comando == '1') {

      digitalWrite(led, HIGH);

      Serial.println("LED ENCENDIDO");

    }

    if (comando == '0') {

      digitalWrite(led, LOW);

      Serial.println("LED APAGADO");

    }

  }

}