From 8cdcec029906bd66174ea36056d09d495b448601 Mon Sep 17 00:00:00 2001 From: Jiri Vlasak Date: Thu, 21 Feb 2019 15:34:37 +0100 Subject: [PATCH] Implement backward steer to avoid obstacles --- go_and_stop.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/go_and_stop.py b/go_and_stop.py index 5941b2b..57c100a 100644 --- a/go_and_stop.py +++ b/go_and_stop.py @@ -7,6 +7,8 @@ TRIG = Pin(5, Pin.OUT) ECHO = Pin(4, Pin.IN) SPEED = PWM(Pin(14), freq=1000) BACK = PWM(Pin(15), freq=1000) +LEFT = PWM(Pin(1d), freq=1000) +RIGHT = PWM(Pin(13), freq=1000) dist = 40 @@ -14,6 +16,8 @@ def go(): """Read data from ultrasonic sensor and drive car if no obstacle.""" global dist BACK.duty(0) + LEFT.duty(0) + RIGHT.duty(0) nc = ticks_us() while True: # read sensor data @@ -30,11 +34,15 @@ def go(): t2 = ticks_us() dist = (t2 - t1) / 58.0 # drive if obstacle-free - if dist > 10: + if dist > 30: + LEFT.duty(0) + BACK.duty(0) SPEED.duty(1023) else: SPEED.duty(0) - nc += 20000 + BACK.duty(1023) + LEFT.duty(1023) + nc += 100000 sleep_us(nc - ticks_us()) return -- 2.39.2