Become a leader in the IoT community!
Join our community of embedded and IoT practitioners to contribute experience, learn new skills and collaborate with other developers with complementary skillsets.
Join our community of embedded and IoT practitioners to contribute experience, learn new skills and collaborate with other developers with complementary skillsets.
Am working on a smart car automation system using MicroPython, the system include various functionalities such as `obstacle detection`, `line following`, `speed control`, and `environmental monitoring`. am trying to detect obstacles in front of the car using an ultrasonic sensor `HC-SR04` and control the motor accordingly. my aim is to measure the distance to obstacles and stop the car if an obstacle is too close.
But I keep getting the error
`UnboundLocalError: local variable ‘start’ referenced before assignment`
here’s my code π
from machine import Pin
import time
# Ultrasonic sensor setup
trigger = Pin(5, Pin.OUT)
echo = Pin(18, Pin.IN)
def measure_distance():
trigger.off()
time.sleep_us(2)
trigger.on()
time.sleep_us(10)
trigger.off()
while echo.value() == 0:
start = time.ticks_us()
while echo.value() == 1:
end = time.ticks_us()
duration = time.ticks_diff(end, start)
distance = (duration * 0.0343) / 2
return distance
while True:
distance = measure_distance()
print('Distance:', distance, 'cm')
if distance < 10:
print("Obstacle detected! Stopping car.")
stop() # Add stop function from Stage 1
time.sleep(1)
CONTRIBUTE TO THIS THREAD