树莓派小车————循迹篇
生活随笔
收集整理的這篇文章主要介紹了
树莓派小车————循迹篇
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
所謂的循跡就是讓小車(chē)識(shí)別導(dǎo)引線,跟著導(dǎo)引線運(yùn)行,在導(dǎo)引線組成的賽道上運(yùn)行。循跡可以用紅外傳感器或者攝像頭完成。我選擇的是用紅外傳感器進(jìn)行黑線循跡。
- 該部分主要涉及到的硬件:兩個(gè)紅外循跡傳感器(型號(hào)見(jiàn)準(zhǔn)備篇)、樹(shù)莓派。
- 額外材料:準(zhǔn)備點(diǎn)黑色電工膠布,制作一個(gè)跑道。
- 兩個(gè)紅外傳感器循跡缺點(diǎn):無(wú)法完成對(duì)十字路線的正確識(shí)別。(如果你想讓它可以識(shí)別十字路線,需要三個(gè)傳感器,具體實(shí)現(xiàn)可以搜索)。下面我講解兩路循跡如何實(shí)現(xiàn)。
- 電路連接:
如果你用的循跡傳感器和準(zhǔn)備篇的中的一樣,它共有四個(gè)引腳,分別是VCC、GND、A0、D0。其中A0和D0分別代碼模擬信號(hào)和數(shù)字信號(hào),這里我們選擇連接D0引腳,因?yàn)槲覀兘o的是數(shù)字信號(hào),0或1也就是False和True。傳感器不需要特別的供電電源,和樹(shù)莓派連接即可。電路連接圖如下:
從上圖中可以看到,兩個(gè)傳感器的VCC分別接了樹(shù)莓派的2號(hào)和4號(hào)引腳,這兩個(gè)都是+5V引腳。兩個(gè)傳感器的GND都接了樹(shù)莓派的30號(hào)引腳(GND引腳),D0分別接了29和31號(hào)引腳(GPIO口)。當(dāng)然還是一樣,所有的引腳接線都不是固定的,你可以自己設(shè)計(jì)。 - 循跡原理:
紅外循跡傳感器有兩個(gè)指示燈,當(dāng)檢測(cè)到黑色時(shí),只有一個(gè)燈亮,此時(shí)為T(mén)rue。反之為False。所以我們可通過(guò)兩個(gè)傳感器的信號(hào)來(lái)處理小車(chē)如何轉(zhuǎn)向,進(jìn)而調(diào)整車(chē)身位置,保持跟著導(dǎo)引線行駛。循跡原理圖:
- 設(shè)計(jì)重點(diǎn):
在起初的設(shè)計(jì)中我有些“耿直”,看了資料后,直接開(kāi)始設(shè)計(jì)賽道,兩個(gè)傳感器也是直接安在了小車(chē)前方,間距差不多和黑色電工膠布一樣寬。當(dāng)我一切都準(zhǔn)備好了,代碼跑起來(lái)后人傻了,一到彎道怎么就沖出賽道了,肯定小車(chē)太快,我將速度設(shè)計(jì)到最低,還是一樣。就這樣兩天都沒(méi)想明白該怎么解決。最后我就開(kāi)始慢慢在賽道上試,我開(kāi)始加寬彎道處的賽道,結(jié)果還是一樣。
最后我在不斷嘗試的過(guò)程中突然醒悟過(guò)來(lái),小車(chē)在賽道直線部分沖的太快了,根本就不能讓它做太久的前進(jìn)動(dòng)作,直接讓它一開(kāi)始就左轉(zhuǎn)或者右轉(zhuǎn)來(lái)調(diào)整自身,不就可以慢下來(lái)了,之后我便將兩個(gè)傳感器之間的距離調(diào)整到比黑色賽道略寬一點(diǎn),也就是保證兩個(gè)傳感器一個(gè)可以檢測(cè)到黑線,另一個(gè)檢測(cè)不到黑線。調(diào)整到合適的距離之后,小車(chē)便可以完成循跡功能了。(可能你光看是體會(huì)不到的,所以要?jiǎng)邮肿约簻y(cè)試,你就明白其中的“奧妙”了) - 代碼(程序中將之前基本運(yùn)動(dòng)的代碼省略了,你在運(yùn)行代碼時(shí)。需要將其補(bǔ)上,這里只展示循跡相關(guān)的代碼):
總結(jié)
以上是生活随笔為你收集整理的树莓派小车————循迹篇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一文带你读懂 Android 手机为何总
- 下一篇: 遥控车Turbo与Boost技术详细解读