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