Ly8gRGVmaW5lIHRoZSBUcmlnIGFuZCBFY2hvIHBpbiBjb25uZWN0aW9ucwpjb25zdCBpbnQgdHJpZ1BpbiA9IDk7CmNvbnN0IGludCBlY2hvUGluID0gMTA7CgovLyBWYXJpYWJsZXMgdG8gc3RvcmUgZHVyYXRpb24gYW5kIGRpc3RhbmNlCmxvbmcgZHVyYXRpb247CmludCBkaXN0YW5jZTsKCnZvaWQgc2V0dXAoKSB7CiAgLy8gU3RhcnQgc2VyaWFsIGNvbW11bmljYXRpb24gYXQgOTYwMCBiYXVkCiAgU2VyaWFsLmJlZ2luKDk2MDApOwogIC8vIFNldCBwaW4gbW9kZXMKICBwaW5Nb2RlKHRyaWdQaW4sIE9VVFBVVCk7CiAgcGluTW9kZShlY2hvUGluLCBJTlBVVCk7Cn0KCnZvaWQgbG9vcCgpIHsKICAvLyBDbGVhciB0aGUgdHJpZ1BpbiBieSBzZXR0aW5nIGl0IExPVyBmb3IgMiBtaWNyb3NlY29uZHMKICBkaWdpdGFsV3JpdGUodHJpZ1BpbiwgTE9XKTsKICBkZWxheU1pY3Jvc2Vjb25kcygyKTsKICAKICAvLyBTZXQgdGhlIHRyaWdQaW4gSElHSCBmb3IgMTAgbWljcm9zZWNvbmRzIHRvIHNlbmQgdGhlIHVsdHJhc29uaWMgYnVyc3QKICBkaWdpdGFsV3JpdGUodHJpZ1BpbiwgSElHSCk7CiAgZGVsYXlNaWNyb3NlY29uZHMoMTApOwogIGRpZ2l0YWxXcml0ZSh0cmlnUGluLCBMT1cpOwoKICAvLyBSZWFkIHRoZSBlY2hvUGluIHRvIGdldCB0aGUgZHVyYXRpb24gb2YgdGhlIHB1bHNlIGluIG1pY3Jvc2Vjb25kcwogIGR1cmF0aW9uID0gcHVsc2VJbihlY2hvUGluLCBISUdIKTsKCiAgLy8gQ2FsY3VsYXRlIHRoZSBkaXN0YW5jZSBpbiBjZW50aW1ldGVycwogIGRpc3RhbmNlID0gZHVyYXRpb24gKiAwLjAzNCAvIDI7CgogIC8vIFByaW50IHRoZSBkaXN0YW5jZSBvbiB0aGUgU2VyaWFsIE1vbml0b3IKICBTZXJpYWwucHJpbnQoJnF1b3Q7RGlzdGFuY2U6ICZxdW90Oyk7CiAgU2VyaWFsLnByaW50KGRpc3RhbmNlKTsKICBTZXJpYWwucHJpbnRsbigmcXVvdDsgY20mcXVvdDspOwoKICAvLyBXYWl0IDUwMCBtaWxsaXNlY29uZHMgYmVmb3JlIG5leHQgbWVhc3VyZW1lbnQKICBkZWxheSg1MDApOwp9
// Define the Trig and Echo pin connections
const int trigPin = 9;
const int echoPin = 10;
// Variables to store duration and distance
long duration;
int distance;
void setup() {
// Start serial communication at 9600 baud
Serial.begin(9600);
// Set pin modes
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
// Clear the trigPin by setting it LOW for 2 microseconds
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Set the trigPin HIGH for 10 microseconds to send the ultrasonic burst
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Read the echoPin to get the duration of the pulse in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculate the distance in centimeters
distance = duration * 0.034 / 2;
// Print the distance on the Serial Monitor
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Wait 500 milliseconds before next measurement
delay(500);
}