Update code.py
This commit is contained in:
parent
c726d14958
commit
ac7d49474b
1 changed files with 0 additions and 0 deletions
126
folkrace.py
126
folkrace.py
|
|
@ -1,126 +0,0 @@
|
|||
import time
|
||||
import board
|
||||
import adafruit_hcsr04
|
||||
from adafruit_motorkit import MotorKit
|
||||
|
||||
# Set the motors
|
||||
kit = MotorKit()
|
||||
m1 = kit.motor1
|
||||
m2 = kit.motor2
|
||||
m3 = kit.motor3
|
||||
m4 = kit.motor4
|
||||
|
||||
# Set the sensor pins
|
||||
front = adafruit_hcsr04.HCSR04(trigger_pin=board.D12, echo_pin=board.D13)
|
||||
right = adafruit_hcsr04.HCSR04(trigger_pin=board.D10, echo_pin=board.D11)
|
||||
left = adafruit_hcsr04.HCSR04(trigger_pin=board.D6, echo_pin=board.D9)
|
||||
|
||||
speed = 0.6
|
||||
|
||||
def forward():
|
||||
m1.throttle = speed
|
||||
m2.throttle = speed
|
||||
m3.throttle = speed
|
||||
m4.throttle = speed
|
||||
|
||||
def backward():
|
||||
m1.throttle = -speed
|
||||
m2.throttle = -speed
|
||||
m3.throttle = -speed
|
||||
m4.throttle = -speed
|
||||
|
||||
def stleft():
|
||||
m1.throttle = -speed
|
||||
m2.throttle = speed
|
||||
m3.throttle = speed
|
||||
m4.throttle = -speed
|
||||
|
||||
def stright():
|
||||
m1.throttle = speed
|
||||
m2.throttle = -speed
|
||||
m3.throttle = -speed
|
||||
m4.throttle = speed
|
||||
|
||||
def dgright():
|
||||
m1.throttle =speed
|
||||
m2.throttle = 0
|
||||
m3.throttle = 0
|
||||
m4.throttle =speed
|
||||
|
||||
def dgleft():
|
||||
m1.throttle = 0
|
||||
m2.throttle =speed
|
||||
m3.throttle =speed
|
||||
m4.throttle = 0
|
||||
|
||||
def turnright():
|
||||
m1.throttle = speed
|
||||
m2.throttle = speed
|
||||
m3.throttle = speed
|
||||
m4.throttle = 0
|
||||
|
||||
def turnleft():
|
||||
m1.throttle = speed
|
||||
m2.throttle = speed
|
||||
m3.throttle = 0
|
||||
m4.throttle = speed
|
||||
|
||||
def rotright():
|
||||
m1.throttle = speed
|
||||
m2.throttle = - speed
|
||||
m3.throttle = 0
|
||||
m4.throttle = 0
|
||||
|
||||
def rotleft():
|
||||
m1.throttle = - speed
|
||||
m2.throttle = speed
|
||||
m3.throttle = 0
|
||||
m4.throttle = 0
|
||||
|
||||
while True:
|
||||
print("F=", f"{front.distance:.2f}", "R=", f"{right.distance:.2f}", "L=", f"{left.distance:.2f}")
|
||||
try:
|
||||
if front.distance <= 35: # What to do when there is an obstacle ahead
|
||||
if left.distance > right.distance: # Diagonally left
|
||||
dgleft()
|
||||
time.sleep(0.8)
|
||||
if right.distance > left.distance: # Diagonally right
|
||||
dgright()
|
||||
time.sleep(0.8)
|
||||
|
||||
if front.distance < 10:
|
||||
backward()
|
||||
time.sleep(0.7)
|
||||
if left.distance > right.distance: # Diagonally left
|
||||
rotleft()
|
||||
time.sleep(0.5)
|
||||
if right.distance > left.distance: # Diagonally right
|
||||
rotright()
|
||||
time.sleep(0.5)
|
||||
|
||||
if left.distance < 50: # Strafe right
|
||||
turnright()
|
||||
time.sleep(0.4)
|
||||
if right.distance < 50: # Strafe left
|
||||
turnleft()
|
||||
time.sleep(0.4)
|
||||
|
||||
if left.distance < 15: # Strafe right
|
||||
#turnright()
|
||||
dgright()
|
||||
time.sleep(0.5)
|
||||
rotright()
|
||||
time.sleep(0.4)
|
||||
if right.distance < 15: # Strafe left
|
||||
#turnleft()
|
||||
dgleft()
|
||||
time.sleep(0.5)
|
||||
rotleft()
|
||||
time.sleep(0.4)
|
||||
|
||||
|
||||
else:
|
||||
forward()
|
||||
|
||||
except RuntimeError:
|
||||
pass
|
||||
Loading…
Add table
Add a link
Reference in a new issue