const int trigPin = 9; // Trig pin of the transmitter sensor
const int echoPinReceiver = 10; // Echo pin of the receiver sensor
const int ledSender = 3; // LED pin for the transmitter
const int ledReceiver = 7; // LED pin for the receiver
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPinReceiver, INPUT);
pinMode(ledSender, OUTPUT);
pinMode(ledReceiver, OUTPUT);
}
void loop() {
// Send a pulse from the transmitter sensor
Serial.println("Sender: Sending pulse...");
digitalWrite(ledSender, HIGH); // Turn on the sender LED
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
digitalWrite(ledSender, LOW); // Turn off the sender LED
// Read the pulse duration from the receiver sensor
Serial.println("Receiver: Waiting for pulse...");
long duration = pulseIn(echoPinReceiver, HIGH);
// Calculate the distance (in cm)
float distance = (duration * 0.0343) / 2.0;
// Indicate reception and print the distance
if (duration > 0) {
digitalWrite(ledReceiver, HIGH); // Turn on the receiver LED
Serial.print("Receiver: Distance received: ");
Serial.print(distance);
Serial.println(" cm");
delay(100); // Keep the LED on for a short period
digitalWrite(ledReceiver, LOW); // Turn off the receiver LED
} else {
Serial.println("Receiver: No pulse received");
}
delay(500); // Wait for half a second before the next measurement
}