#define TRIGGER_PIN 3 #define ECHO_PIN 4 #define BAUD_RATE 9600 // Tasa de baudios para la comunicación serial #define MASTER_ID 1 // Identificador de la placa master #define NODE_ID 2 // Identificador del nodo void setup() { Serial.begin(BAUD_RATE); // Inicia la comunicación serial a 9600 baudios pinMode(TRIGGER_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); Serial.println("Setup completo"); } void loop() { // Enviar pulso ultrasónico digitalWrite(TRIGGER_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIGGER_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIGGER_PIN, LOW); // Leer el tiempo de duración del pulso long duration = pulseIn(ECHO_PIN, HIGH); // Calcular la distancia en cm int distance = duration * 0.034 / 2; // Enviar la distancia al monitor serial Serial.print("Distancia: "); Serial.print(distance); Serial.println(" cm"); // Enviar señal al nodo si la distancia es menor a 20 cm Serial.print(MASTER_ID); // Identificador del master Serial.print(","); Serial.print(NODE_ID); // Identificador del nodo Serial.print(","); if (distance < 20) { Serial.print(1); // Envía 1 si la distancia es menor a 20 cm } else { Serial.print(0); // Envía 0 si la distancia es mayor o igual a 20 cm } Serial.println(); // Enviar un salto de línea para marcar el final del mensaje delay(500); }