#define PIN_TRIG 26
#define PIN_ECHO 25
#define LOWLED 18
#define MIDLED 19
#define HIGHLED 21
#define MOTOR 27
unsigned int level = 0;
void setup() {
pinMode(LOWLED,OUTPUT);
pinMode(MIDLED,OUTPUT);
pinMode(HIGHLED,OUTPUT);
pinMode(MOTOR,OUTPUT);
digitalWrite(LOWLED,HIGH);
digitalWrite(MIDLED,HIGH);
digitalWrite(HIGHLED,HIGH);
digitalWrite(MOTOR,LOW);
Serial.begin(115200);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
}
void loop() {
// Start a new measurement:
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
// Read the result:
int duration = pulseIn(PIN_ECHO, HIGH);
Serial.print("Distance in CM: ");
Serial.println(duration / 58);
Serial.print("Distance in inches: ");
Serial.println(duration / 148);
level = duration / 58;
if (level < 100)
{
digitalWrite(LOWLED,LOW);
digitalWrite(MOTOR,HIGH);
digitalWrite(HIGHLED,HIGH);
digitalWrite(MIDLED,HIGH);
}
else if ((level > 200) && (level <400))
{
digitalWrite(LOWLED,HIGH);
digitalWrite(HIGHLED,HIGH);
digitalWrite(MIDLED,LOW);
}
else if (level >= 400 )
{
digitalWrite(HIGHLED,LOW);
digitalWrite(MIDLED,HIGH);
digitalWrite(LOWLED,HIGH);
digitalWrite(MOTOR,LOW);
}
delay(1000);
}
from machine import Pin, time_pulse_us
from time import sleep_us, sleep
# Define the GPIO pin numbers for the trigger and echo pins
ECHO_PIN = 26
TRIGGER_PIN = 27
# Initialize trigger and echo pins
trigger = Pin(TRIGGER_PIN, Pin.OUT)
echo = Pin(ECHO_PIN, Pin.IN)
def measure_distance():
# Ensure trigger is low initially
trigger.low()
sleep_us(2)
# Send a 10 microsecond pulse to the trigger pin
trigger.high()
sleep_us(10)
trigger.low()
# Measure the duration of the echo pulse (in microseconds)
pulse_duration = time_pulse_us(echo, Pin.high)
# Calculate the distance (in centimeters) using the speed of sound (343 m/s)
distance = pulse_duration * 0.0343 / 2
return distance
def main():
while True:
# Measure the distance and print the value in centimeters
distance = measure_distance()
print("Distance: {:.2f} cm".format(distance))
# Wait for 1 second before taking the next measurement
sleep(1)
if __name__ == "__main__":
main()