xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡(jiǎn)介

通過(guò)opencv完成視覺(jué)巡線。 在白色地面上利用攝像頭檢測(cè)黑色的車(chē)道線,完成巡線任務(wù)。 將小車(chē)的行駛速度分為四個(gè)等級(jí)。當(dāng)小車(chē)行駛在直道上會(huì)逐漸加速,當(dāng)加到最高速時(shí)保持勻速行駛。當(dāng)檢測(cè)到彎道時(shí)小車(chē)會(huì)立即減速,再根據(jù)彎道大小調(diào)整速度,使得小車(chē)在保證行駛速度的同時(shí)能夠安全轉(zhuǎn)過(guò)彎道。

資源截圖

代碼片段和文件信息

import?RPi.GPIO?as?GPIO
import?time?
import?cv2?
import?numpy?as?np?

#小車(chē)電機(jī)引腳定義(BCM編碼)(TB6612FNG驅(qū)動(dòng)芯片)
IN1?=?20
IN2?=?21
IN3?=?19
IN4?=?26
ENA?=?16
ENB?=?13

#超聲波引腳定義
EchoPin?=?0
TrigPin?=?1

#設(shè)置GPIO口為BCM編碼方式
GPIO.setmode(GPIO.BCM)

#忽略警告信息
GPIO.setwarnings(False)

#電機(jī)引腳初始化操作
global?pwm_ENA
global?pwm_ENB
global?delaytime
GPIO.setup(ENAGPIO.OUTinitial=GPIO.HIGH)
GPIO.setup(IN1GPIO.OUTinitial=GPIO.LOW)
GPIO.setup(IN2GPIO.OUTinitial=GPIO.LOW)
GPIO.setup(ENBGPIO.OUTinitial=GPIO.HIGH)
GPIO.setup(IN3GPIO.OUTinitial=GPIO.LOW)
GPIO.setup(IN4GPIO.OUTinitial=GPIO.LOW)
GPIO.setup(EchoPinGPIO.IN)
GPIO.setup(TrigPinGPIO.OUT)
#設(shè)置pwm引腳和頻率為500hz
pwm_ENA?=?GPIO.PWM(ENA?500)
pwm_ENB?=?GPIO.PWM(ENB?500)
pwm_ENA.start(0)
pwm_ENB.start(0)

speed?=?0?#?直道加速的標(biāo)志?
#?打開(kāi)攝像頭,圖像尺寸640*480(長(zhǎng)*高),opencv存儲(chǔ)值為480*640(行*列)
cap?=?cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_frame_WIDTH640)#設(shè)置圖像寬度
cap.set(cv2.CAP_PROP_frame_HEIGHT480)#設(shè)置圖像高度

#?超聲波測(cè)量障礙物距離
def?Distance_test():
????GPIO.output(TrigPinGPIO.HIGH)
????time.sleep(0.000015)
????GPIO.output(TrigPinGPIO.LOW)
????while?not?GPIO.input(EchoPin):
????????pass
????t1?=?time.time()
????while?GPIO.input(EchoPin):
????????pass
????t2?=?time.time()
#????print?“distance?is?%d?“?%?(((t2?-?t1)*?340?/?2)?*?100)
????time.sleep(0.01)
????return?((t2?-?t1)*?340?/?2)?*?100

def?stop():
????GPIO.output(IN1?GPIO.LOW)
????GPIO.output(IN2?GPIO.LOW)
????GPIO.output(IN3?GPIO.LOW)
????GPIO.output(IN4?GPIO.LOW)
????pwm_ENA.ChangeDutyCycle(0)
????pwm_ENB.ChangeDutyCycle(0)
????time.sleep(0.1)

#?根據(jù)采集信息調(diào)整方向
#?direction表示小車(chē)相對(duì)于車(chē)道線的距離,direction_line表示前方道路趨勢(shì)
def?run(directiondirection_line):
????global?speed
????if?abs(direction)?>?30:?
????????stop()
????#?右轉(zhuǎn)?
????elif?direction?>=?0:?
????????if?direction?>?25:?
????????????direction?=?25
????????if?abs(direction_line)?????????????speed?=?speed?+?1
????????????if?speed?>?4:
????????????????speed?=?4
????????????GPIO.output(IN1?GPIO.HIGH)
????????????GPIO.output(IN2?GPIO.LOW)
????????????GPIO.output(IN3?GPIO.HIGH)
????????????GPIO.output(IN4?GPIO.LOW)
????????????pwm_ENA.ChangeDutyCycle(5?+?speed)
????????????pwm_ENB.ChangeDutyCycle(7?+?speed?+?direction*0.5)
????????????time.sleep(0.1)
????????else:
????????????if?direction_line?????????????????direction_line?=?0
????????????speed?=?0
????????????temp?=?7?-?direction_line*0.03
????????????if?temp?????????????????temp?=?0
????????????GPIO.output(IN1?GPIO.HIGH)
?????????

評(píng)論

共有 條評(píng)論

相關(guān)資源