/*
HC-SR04 Ultrasonic Sensor Example.
Turn the LED on when an object is within 100cm range.
Copyright (C) 2021, Uri Shaked
*/
#define ECHO1_PIN 2
#define TRIG1_PIN 3
#define ECHO2_PIN 6
#define TRIG2_PIN 7
void setup() {
Serial.begin(115200);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(TRIG1_PIN, OUTPUT);
pinMode(ECHO1_PIN, INPUT);
pinMode(TRIG2_PIN, OUTPUT);
pinMode(ECHO2_PIN, INPUT);
}
float readDistanceCM1() {
digitalWrite(TRIG1_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG1_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG1_PIN, LOW);
int duration1 = pulseIn(ECHO1_PIN, HIGH);
return duration1 * 0.034 / 2;
}
float readDistanceCM2() {
digitalWrite(TRIG2_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG2_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG2_PIN, LOW);
int duration2 = pulseIn(ECHO2_PIN, HIGH);
return duration2 * 0.034 / 2;
}
void loop() {
float distance1 = readDistanceCM1();
bool isNearby1 = distance1 < 100;
digitalWrite(LED_BUILTIN, isNearby1);
Serial.print("Measured distance 1: ");
Serial.print(readDistanceCM1());
Serial.print(" | ");
float distance2 = readDistanceCM2();
bool isNearby2 = distance2 < 100;
digitalWrite(12, isNearby2);
Serial.print("Measured distance 2: ");
Serial.println(readDistanceCM2());
delay(100);
}