#define LED_BUILTIN 16
#define LED_RED 33
#define LED_YELLOW 25
#define LED_GREEN 26
#define LED_WHITE 27
#define TRIG 32
#define ECHO 35
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(LED_BUILTIN, OUTPUT);
pinMode(LED_RED, OUTPUT);
pinMode(LED_YELLOW, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_WHITE, OUTPUT);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
int duration = pulseIn(ECHO, HIGH);
int distance = duration / 58; // Distance in cm
String output = "Distance in cm: ";
output.concat(distance);
if (distance <= 100) {
digitalWrite(LED_RED, HIGH);
Serial.println(output);
} else if (distance > 100 && distance <= 150) {
digitalWrite(LED_YELLOW, HIGH);
Serial.println(output);
} else if (distance > 150 && distance <= 200) {
digitalWrite(LED_GREEN, HIGH);
Serial.println(output);
} else {
digitalWrite(LED_WHITE, HIGH);
Serial.println(output);
}
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(LED_RED, LOW);
digitalWrite(LED_YELLOW, LOW);
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_WHITE, LOW);
}