#include const int buttonPin = D0; // Cambia este número al pin donde está conectado tu botón const int ledPin = D1; // Pin del LED en el transmisor, opcional para indicación local void setup() { pinMode(buttonPin, INPUT); // Configura el botón sin pull-up interno pinMode(ledPin, OUTPUT); // Opcional: Pin de LED en el transmisor para feedback visual Serial.begin(9600); // Inicia Serial para depuración a través de USB Serial1.begin(9600, SERIAL_8N1, D7, D6); // Inicia UART en los pines 20 y 21 Serial.println("Transmitter XIAO ESP32-C3 Ready"); } void loop() { static bool lastButtonState = LOW; // Estado anterior del botón, asumiendo pull-down bool currentButtonState = digitalRead(buttonPin); // Lee el estado actual del botón // Comprueba si el botón fue presionado (cambio de LOW a HIGH) if (lastButtonState == LOW && currentButtonState == HIGH) { Serial1.println("LED_ON\n"); // Envía el comando para encender el LED en el receptor Serial.println("Command Sent: LED_ON"); // Mensaje de depuración digitalWrite(ledPin, HIGH); // Opcional: Enciende el LED en el transmisor delay(1000); // Opcional: Mantén el LED encendido por un segundo digitalWrite(ledPin, LOW); // Opcional: Apaga el LED en el transmisor } lastButtonState = currentButtonState; // Actualiza el estado anterior del botón para la próxima lectura delay(50); // Pequeño delay para debouncing }