1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 树莓派避障小车(python)

树莓派避障小车(python)

时间:2023-11-10 15:35:16

相关推荐

树莓派避障小车(python)

本文章为树莓派后台小车代码,前台代码可以自由选取

小车代码为:

import RPi.GPIO as GPIOimport timeGPIO.setmode(GPIO.BOARD)m1_fwd = 12m1_rev = 11m2_fwd = 13m2_rev = 15red_left = 07red_right = 16trip = 38echo = 37def init():GPIO.setup(m1_fwd,GPIO.OUT)GPIO.setup(m1_rev,GPIO.OUT)GPIO.setup(m2_fwd,GPIO.OUT)GPIO.setup(m2_rev,GPIO.OUT)def stop():GPIO.output(m1_fwd,False)GPIO.output(m1_rev,False)GPIO.output(m2_fwd,False)GPIO.output(m2_rev,False)GPIO.cleanup()def fwd():GPIO.output(m1_fwd,GPIO.HIGH)GPIO.output(m1_rev,GPIO.LOW)GPIO.output(m2_fwd,GPIO.HIGH)GPIO.output(m2_rev,GPIO.LOW)GPIO.cleanup()def rev():GPIO.output(m1_fwd,GPIO.LOW)GPIO.output(m1_rev,GPIO.HIGH)GPIO.output(m2_fwd,GPIO.LOW)GPIO.output(m2_rev,GPIO.HIGH)GPIO.cleanup()def right():GPIO.output(m1_fwd,GPIO.HIGH)GPIO.output(m1_rev,GPIO.LOW)GPIO.output(m2_fwd,False)GPIO.output(m2_rev,False)GPIO.cleanup()def left():GPIO.output(m1_fwd,False)GPIO.output(m1_rev,False)GPIO.output(m2_fwd,GPIO.HIGH)GPIO.output(m2_rev,GPIO.LOW)GPIO.cleanup()def get_distance():GPIO.setup(trip,GPIO.OUT)GPIO.setup(echo,GPIO.IN)GPIO.output(trip,GPIO.HIGH)time.sleep(0.000015)GPIO.output(trip,GPIO.LOW)while not GPIO.input(echo):passt1 = time.time()while GPIO.input(echo):passt2 = time.time()return (t2-t1)*34300/2def turnaround():GPIO.setup(red_left,GPIO.IN)GPIO.setup(red_right,GPIO.IN)while GPIO.input(red_left) and GPIO.input(red_right)==0:rev()if GPIO.input(red_left)==1:left(1)else:right(1)GPIO.cleanup()while True:distance = get_distance()time.sleep(0.5)if distance > 20:fwd()elif distance == 20:stop()else:stop()turnaround()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。