Interface 21
Sun Jan 07 2024 18:35:14 GMT+0000 (Coordinated Universal Time)
Saved by
@马丽
void loop() {
long duration, distance;
digitalWrite(TRIGGER_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = (duration / 2) / 29.1; // Calculate distance in centimeters
currentMillis = millis();
elapsedTime = currentMillis - previousMillis;
if (elapsedTime >= 0 && elapsedTime < 15000) { // 0-30 seconds
delay(2000); // 2 seconds delay
} else if (elapsedTime >= 15000 && elapsedTime < 30000) { // 30-60 seconds
delay(1000); // 1 second delay
} else if (elapsedTime >= 30000 && elapsedTime < 45000) { // 30-60 seconds
delay(500); // 1 second delay
} else if (elapsedTime >= 45000 && elapsedTime < 60000) { // 30-60 seconds
delay(250); // 1 second delay
} else if (elapsedTime >= 60000) { // 60 seconds and after
delay(100); // 0.5 second delay
}
if (distance < 10) {
activategreen(); // If object is close, activate green LED
Serial.println("RECYCLABLE");
} else if (distance >= 10 && distance < 20) {
activatered(); // If object is at medium distance, activate red LED
Serial.println("NON_RECYCLABLE");
} else if (distance >= 20 && distance < 30) {
activateblue(); // If object is at far distance, activate blue bin LED
Serial.println("COMPOSTABLE");
}
delay(100); // Adjust delay as needed for data transmission
}
content_copyCOPY
Comments