Transmisiones Asíncronas
3. Respuestas
1) ¿Que pines se pueden usar para Comunicación Serie en ESP32?
El microcontrolador ESP32 estándar, como el ESP32-WROOM-32, cuenta con: 34 pines GPIO (Entradas y Salidas de propósito general).
- GPIO 34 a 39 son solo de entrada (5 no admiten salida).
- Otros GPIO pueden estar usados por funcionalidades específicas como ADC, DAC, SPI, I²C, UART, PWM, o interfaces especiales.
En resumen, aunque el ESP32 técnicamente cuenta con 34 GPIO, en la práctica, el número efectivo de pines disponibles dependerá de qué funciones adicionales estés usando (Wi-Fi, Bluetooth, comunicación serial, etc.).
--------------------------------------------------------------------------------------
2) ¿Que sentencias se usan para programar los pines de ESP32? ¿C++ o Python?
Se debe importar una Librería machine y luego un par de "partes" de la librería UART para la comunicación serie y Pin para definir si los pines son Input o Output.
Python:
from machine import UART, Pin
Tx=Pin(2,Pin.OUT)#defino pin 2 como Salida,OUT es método de Objeto Pin
Rx=Pin(3,Pin.IN) #defino pin 3 como Salida,IN es método de Objeto Pin
uart = UART(1, velocidad en baudios=9600, tx=33, rx=32)
uart.write('hola')
uart.leer(5)
Nota: la Librería UART NO necesita definir los pines, así que en
este ejemplo la declaración de Tx y Rx no sería necesaria, es un código de
ejemplo.
C++
include <HardwareSerial.h> //Librería
HardwareSerial MySerial(1); // definir un Serial para UART1
const int RX = 16; // defino el pin como Entrada Rx
const int TX = 17;// defino el pin como Salida Tx
void setup()
{
// inicializar el Serial a los pines
MySerial.begin(11500, SERIAL_8N1, RX, TX);
}//usando el método begin del Objeto MySerial establezco; velocidad,
//formato, y los pines en los cuales van a Rx y Tx (16 y 17)
--------------------------------------------------------------------------------------
3) ¿Que pines se pueden usar para Comunicación Serie en Arduino?
En este caso depende el modelo de Arduino.
Arduino Uno / Nano:
Pin 0 → RX (entrada)
Pin 1 → TX (salida)
Arduino Mega:
Serial → (0:RX, 1:TX)
Serial1 → (19:RX, 18:TX)
Serial2 → (17:RX, 16:TX)
Serial3 → (15:RX, 14:TX)
--------------------------------------------------------------------------------------
4) ¿Que sentencias se usan para programar los pines de Arduino? ¿C++ o Python?.
Se usa en C++
C++
pinMode(13, OUTPUT); // pin 13 como salida
pinMode(2, INPUT); // pin 2 como entrada
--------------------------------------------------------------------------------------
5) ¿Como se programa la velocidad de la transmisión serie asíncrona en ESP32?
En el caso de usar UART
from machine import UART
MySerial.begin(11500, SERIAL_8N1, RX, TX);
#include <Arduino.h> // implícitamente incluida por defecto
Serial1.begin(115200);


