#define TRIG 5 // Ultrasonic TRIG pin connected to GPIO5
#define ECHO 18 // Ultrasonic ECHO pin connected to GPIO18
#define LED 2 // LED connected to GPIO2 (with resistor)
long duration;
int distance;
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(LED, OUTPUT);
Serial.begin(200); // Serial monitor for distance output
}
void loop() {
// Send ultrasonic pulse
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
// Measure echo time
duration = pulseIn(ECHO, HIGH);
// Convert to distance in cm
distance = duration * 0.034 / 2;
// Print distance
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Smart Jar Logic
if (distance < 10) { // If object is closer than 10 cm
digitalWrite(LED, HIGH);
Serial.println("Jar is FULL!");
} else {
digitalWrite(LED, LOW);
Serial.println("Jar has space.");
}
delay(1000); // Wait 1 second
}