標(biāo)題: [詳細(xì)實(shí)例]MicroPython拼插編程實(shí)戰(zhàn):DIY一臺(tái)會(huì)思考的壁障車 [打印本頁(yè)]

作者: bodasister    時(shí)間: 2018-9-8 10:12
標(biāo)題: [詳細(xì)實(shí)例]MicroPython拼插編程實(shí)戰(zhàn):DIY一臺(tái)會(huì)思考的壁障車
   在日常生活中,大家會(huì)經(jīng)常見到各種各樣的遙控車,它需要我們?nèi)藶榈牟僮,控制它的前進(jìn)、后退和轉(zhuǎn)彎。今天就帶大家認(rèn)識(shí)一個(gè)不一樣的新朋友--“會(huì)思考的避障車”。“會(huì)思考的避障車”和我們平時(shí)的遙控車最主要的區(qū)別就是智能化,它可以不需要我們?nèi)ゲ倏兀约壕湍苄凶。同時(shí)它還會(huì)實(shí)時(shí)檢測(cè)前方是否有障礙物,思考自己是否要前進(jìn)或者轉(zhuǎn)彎?吹竭@里,是不是已經(jīng)躍躍欲試了呢。話不多說,動(dòng)起手來吧!




    一、 所需器材:

    1、TurnipBit開發(fā)板 1塊(TB上可以買到)
    2、下載數(shù)據(jù)線 1條
    3、智能小車套件 1套(底盤、車輪、電機(jī)等)
    4、超聲波模塊(HC-SR04)1個(gè)(用作小車的“眼睛”)
    5、L298N電機(jī)驅(qū)動(dòng)模塊 1個(gè)
    6、接入互聯(lián)網(wǎng)的電腦 1臺(tái)(推薦使用Google Chome或者Firefox瀏覽器)

    二、壁障車的組裝

    第一步,先把小車底板、緊固件、碼盤的黃色保護(hù)紙撕掉,然后把緊固件插入小車底板。



    第二步,安裝碼盤,并把電機(jī)固定于底板。碼盤軸心一面大一面小,大的一面往電機(jī)軸插(注意:電機(jī)引線銅片朝向內(nèi)側(cè),即碼盤一端)。



    第三步,插入螺絲,把電機(jī)固定到小車底板,并擰上螺帽。



    第四步,插入螺絲,固定電池盒。本實(shí)驗(yàn)中這一步可以省略,我們使用充電寶進(jìn)行供電。



    第五步,放入銅柱,擰緊8個(gè)螺絲固定萬向輪,手捏住電機(jī)(保護(hù)緊固件),并往里面插入輪子,組裝完成。



    最后,我們來看一下組裝完成的效果圖。



    三、電機(jī)驅(qū)動(dòng)和超聲波的安裝

    硬件的連接,主要是各引腳間的連接。具體為(詳見下表):超聲波模塊共4個(gè)引腳,分別是VCC、GND、Trig和Echo。VCC接TurnipBit擴(kuò)展板的+5V引腳,GND接TurnipBit擴(kuò)展板的GND引腳,Trig觸發(fā)引腳接P5,Echo回傳引腳接P8。L298N電機(jī)驅(qū)動(dòng)模塊左側(cè)OUT3、OUT4接線端子對(duì)應(yīng)接入左輪電機(jī)的下側(cè)、上側(cè)側(cè)銅片,右側(cè)也是。L298N的輸入端IN1、IN2、IN3、IN4分別接入擴(kuò)展板的P19、P13、P12、P11。最后,本實(shí)驗(yàn)利用充電寶進(jìn)行供電,只需將充電板通過usb線連接TurnipBit開發(fā)板的microusb口即可。




    四、拼插編程


    步驟1:因?yàn)镻11和P12控制一個(gè)車輪,P13和P19控制一個(gè)車輪,只需要給相應(yīng)車輪的P12和P19高電平,另外兩個(gè)引腳低高平,避障車兩個(gè)車輪就會(huì)轉(zhuǎn)動(dòng),如果此時(shí)轉(zhuǎn)動(dòng)方向兩個(gè)輪子不同或者是向后,說明你在連線時(shí)沒有注意連接的L298N的引腳,只需要調(diào)換一下,避障車就會(huì)向前走,如下圖。



    步驟2:添加一個(gè)死循環(huán),使程序一直運(yùn)行。



    步驟3:接下來就需要完成檢測(cè)障礙物的功能,這部分需要超聲波模塊來實(shí)現(xiàn)。我們需要在死循環(huán)內(nèi)添加障礙物檢測(cè)的內(nèi)容,讓避障車一直不斷的檢測(cè)與前方障礙物的距離。



    步驟4:為了更簡(jiǎn)單、方便、快捷的實(shí)現(xiàn)功能,我們采用計(jì)數(shù)的方式,測(cè)量一個(gè)大概的距離,然后進(jìn)行判定是否進(jìn)行避障。細(xì)心的同學(xué)可能會(huì)發(fā)現(xiàn)我們?cè)诔绦蛞婚_始的時(shí)候定義了一個(gè)num的變量,我們就用num來計(jì)數(shù)。當(dāng)引腳8為高電平時(shí),表示超聲波模塊的echo進(jìn)入接收模式,我們就不斷的讓num自加1,一直等到超聲波模塊接收到返回的信號(hào),即引腳8為低電平時(shí),停止計(jì)數(shù)。這里的num就能反映出當(dāng)前小車與障礙物之間的距離。這里以25厘米為安全距離進(jìn)行測(cè)試,發(fā)現(xiàn)num的數(shù)值為8。于是說明,如果小車與障礙物之間的距離小于25厘米時(shí),num就小于8。所以程序中判斷如果num的值小于或等于8時(shí),就進(jìn)行轉(zhuǎn)向避障。



    步驟5:到此,會(huì)思考的避障車已經(jīng)完成了。為了讓避障車更加炫酷,我們可以使用LED屏來動(dòng)態(tài)顯示當(dāng)前避障車行駛的方向。方法是在小車做出轉(zhuǎn)向動(dòng)作前,先用箭頭來顯示轉(zhuǎn)向的方向,然后再做動(dòng)作。



    步驟6:將程序名修改成turnipbit-car,點(diǎn)擊【下載hex】按鈕將程序保存到電腦里。把保存的turnipbit- car.hex文件拖入TurnipBit磁盤中,我們會(huì)看到TurnipBit板子上的燈在閃爍,說明正在下載到控制板中。下載成功后,將TurnipBit正確插入TurnipBit擴(kuò)展板的金手指卡槽內(nèi),開始啟動(dòng)避障車吧。


    (轉(zhuǎn)載請(qǐng)注明文章來源,QQ技術(shù)交流群:157816561,公眾號(hào):MicroPython玩家匯)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1