在日常生活中,大家會經常見到各種各樣的遙控車,它需要我們人為的操作,控制它的前進、后退和轉彎。今天就帶大家認識一個不一樣的新朋友--“會思考的避障車”。“會思考的避障車”和我們平時的遙控車最主要的區別就是智能化,它可以不需要我們去操控,自己就能行走。同時它還會實時檢測前方是否有障礙物,思考自己是否要前進或者轉彎。看到這里,是不是已經躍躍欲試了呢。話不多說,動起手來吧!
1.jpg (57.85 KB, 下載次數: 41)
下載附件
2018-9-8 10:10 上傳
一、 所需器材:
1、TurnipBit開發板 1塊(TB上可以買到)
2、下載數據線 1條
3、智能小車套件 1套(底盤、車輪、電機等)
4、超聲波模塊(HC-SR04)1個(用作小車的“眼睛”)
5、L298N電機驅動模塊 1個
6、接入互聯網的電腦 1臺(推薦使用Google Chome或者Firefox瀏覽器)
二、壁障車的組裝
第一步,先把小車底板、緊固件、碼盤的黃色保護紙撕掉,然后把緊固件插入小車底板。
2.png (214.64 KB, 下載次數: 46)
下載附件
2018-9-8 10:10 上傳
第二步,安裝碼盤,并把電機固定于底板。碼盤軸心一面大一面小,大的一面往電機軸插(注意:電機引線銅片朝向內側,即碼盤一端)。
3.png (256.26 KB, 下載次數: 54)
下載附件
2018-9-8 10:10 上傳
第三步,插入螺絲,把電機固定到小車底板,并擰上螺帽。
4.png (195.25 KB, 下載次數: 45)
下載附件
2018-9-8 10:10 上傳
第四步,插入螺絲,固定電池盒。本實驗中這一步可以省略,我們使用充電寶進行供電。
5.png (241.75 KB, 下載次數: 52)
下載附件
2018-9-8 10:10 上傳
第五步,放入銅柱,擰緊8個螺絲固定萬向輪,手捏住電機(保護緊固件),并往里面插入輪子,組裝完成。
6.png (241.75 KB, 下載次數: 37)
下載附件
2018-9-8 10:10 上傳
最后,我們來看一下組裝完成的效果圖。
7.png (630.72 KB, 下載次數: 46)
下載附件
2018-9-8 10:10 上傳
三、電機驅動和超聲波的安裝
硬件的連接,主要是各引腳間的連接。具體為(詳見下表):超聲波模塊共4個引腳,分別是VCC、GND、Trig和Echo。VCC接TurnipBit擴展板的+5V引腳,GND接TurnipBit擴展板的GND引腳,Trig觸發引腳接P5,Echo回傳引腳接P8。L298N電機驅動模塊左側OUT3、OUT4接線端子對應接入左輪電機的下側、上側側銅片,右側也是。L298N的輸入端IN1、IN2、IN3、IN4分別接入擴展板的P19、P13、P12、P11。最后,本實驗利用充電寶進行供電,只需將充電板通過usb線連接TurnipBit開發板的microusb口即可。
8.png (15.7 KB, 下載次數: 47)
下載附件
2018-9-8 10:10 上傳
9.png (302.85 KB, 下載次數: 44)
下載附件
2018-9-8 10:10 上傳
10.jpg (57.85 KB, 下載次數: 54)
下載附件
2018-9-8 10:10 上傳
四、拼插編程
步驟1:因為P11和P12控制一個車輪,P13和P19控制一個車輪,只需要給相應車輪的P12和P19高電平,另外兩個引腳低高平,避障車兩個車輪就會轉動,如果此時轉動方向兩個輪子不同或者是向后,說明你在連線時沒有注意連接的L298N的引腳,只需要調換一下,避障車就會向前走,如下圖。
11.png (158.83 KB, 下載次數: 40)
下載附件
2018-9-8 10:10 上傳
步驟2:添加一個死循環,使程序一直運行。
12.png (165.35 KB, 下載次數: 47)
下載附件
2018-9-8 10:10 上傳
步驟3:接下來就需要完成檢測障礙物的功能,這部分需要超聲波模塊來實現。我們需要在死循環內添加障礙物檢測的內容,讓避障車一直不斷的檢測與前方障礙物的距離。
13.png (204.47 KB, 下載次數: 35)
下載附件
2018-9-8 10:10 上傳
步驟4:為了更簡單、方便、快捷的實現功能,我們采用計數的方式,測量一個大概的距離,然后進行判定是否進行避障。細心的同學可能會發現我們在程序一開始的時候定義了一個num的變量,我們就用num來計數。當引腳8為高電平時,表示超聲波模塊的echo進入接收模式,我們就不斷的讓num自加1,一直等到超聲波模塊接收到返回的信號,即引腳8為低電平時,停止計數。這里的num就能反映出當前小車與障礙物之間的距離。這里以25厘米為安全距離進行測試,發現num的數值為8。于是說明,如果小車與障礙物之間的距離小于25厘米時,num就小于8。所以程序中判斷如果num的值小于或等于8時,就進行轉向避障。
14.png (221.25 KB, 下載次數: 45)
下載附件
2018-9-8 10:10 上傳
步驟5:到此,會思考的避障車已經完成了。為了讓避障車更加炫酷,我們可以使用LED屏來動態顯示當前避障車行駛的方向。方法是在小車做出轉向動作前,先用箭頭來顯示轉向的方向,然后再做動作。
15.png (236.74 KB, 下載次數: 51)
下載附件
2018-9-8 10:10 上傳
步驟6:將程序名修改成turnipbit-car,點擊【下載hex】按鈕將程序保存到電腦里。把保存的turnipbit- car.hex文件拖入TurnipBit磁盤中,我們會看到TurnipBit板子上的燈在閃爍,說明正在下載到控制板中。下載成功后,將TurnipBit正確插入TurnipBit擴展板的金手指卡槽內,開始啟動避障車吧。
16.png (1.99 KB, 下載次數: 47)
下載附件
2018-9-8 10:10 上傳
(轉載請注明文章來源,QQ技術交流群:157816561,公眾號:MicroPython玩家匯)
|