一般車輛的轉向是有轉向的結構,但是小車並不具備結構,所以只能從輪子上入手。
要實現轉向,要麼是左右側電機差速,因為速度不一樣,摩擦力的影響,必然導致跑偏,
還有一種就是讓輪子向反方向轉動。
基於此,實現左轉彎,可以讓左側輪子反轉,右側輪子正轉:
#左轉彎函式
def turnleft(speed, lefttime):
leftmotor.changedutycycle(speed)
gpio.output(ain1, false)
gpio.output(ain2, true)
rightmotor.changedutycycle(speed)
gpio.output(bin1, true)
gpio.output(bin2, false)
time.sleep(lefttime)
ain1在前進時候設定的是true,讓其正轉,現在則設定為false。
而相應的啟用了ain2為true,讓輪子反轉。
同理不難推出右轉的**:
#右轉彎函式
def turnright(speed, righttime):
leftmotor.changedutycycle(speed)
gpio.output(ain1, true)
gpio.output(ain2, false)
rightmotor.changedutycycle(speed)
gpio.output(bin1, false)
gpio.output(bin2, true)
time.sleep(righttime)
但是需要注意的是,轉向會損失一些動能,估計開過車的都懂。
所以,相對於正常前進和倒退給的50占空比,在轉向時就不夠用了,可能會導致轉向失敗,因為要給大的數值。
if __name__ == '__main__':
try:
while true:
forward(50,3)
turnleft(70, 3)
backword(50,3)
turnright(70,3)
except keyboardinterrupt:
gpio.cleanup()
最後決定轉向給70.當然不同情況,數值略有不同。
至此,就實現了前進、後退、左轉和右轉這些基本功能。
樹莓派 4 尋跡小車
學習的時候百分之99參考了這篇文章 yzy 1996 方法 樹莓派小車自動循跡 攝像頭 具體內容都在裡面了,因為我用的是l298n電機驅動模組,所以是用enab來控制pwm的,所以適當更改一下 因為我是在辦公室地面,不像他一樣有顏色清楚的軌道,所以修改了二值化型別和腐蝕膨脹的順序係數 import ...
Raspberry Pi樹莓派小車學習 前期
寫於2019 10 18 在弄樹莓派之前不知道樹莓派是什麼,聽了老師說的,說可以做很多事情,聽完也是懵懵懂懂的,只有自己去弄了才會了解一點,第一次去查樹莓派是什麼,能做什麼,就有以下定義 raspberry pi是一台小型計算機,可以完成很多事情。然後還看到很多由樹莓派做的專案,這裡就不一一舉例了。...
使用樹莓派製作智慧型小車
小車的控制最主要有兩方面的控制,乙個是小車的前後左右的運動控制,乙個是攝像頭的拍攝 上下左右轉運的控制。複製 coding utf 8 import rpi.gpio as gpio import time 小車電機引腳定義 leftin1 20 leftin2 21 leftspeed 16 ri...