智能尋跡小車java代碼 智能尋跡小車課程設(shè)計(jì)

怎么編寫51單片機(jī)C程序讓智能循跡小車,無論是否遇到障礙物都朝著目標(biāo)走???跪求大神解答。。

基于51單片機(jī)運(yùn)用兩個(gè)單片機(jī)控制小車前進(jìn),一個(gè)控制轉(zhuǎn)向,一個(gè)控制后輪前進(jìn),兩個(gè)單片機(jī)沒有聯(lián)系各自工作。21ic電子技術(shù)網(wǎng)站上有很多源碼,可以找找看!

創(chuàng)新互聯(lián)一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實(shí)效"的一站式服務(wù),以網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、移動(dòng)互聯(lián)產(chǎn)品、營銷型網(wǎng)站建設(shè)服務(wù)為核心業(yè)務(wù)。10年網(wǎng)站制作的經(jīng)驗(yàn),使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價(jià)格便宜而且實(shí)用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。

51單片機(jī)智能兩路循跡小車程序,檢測到黑線直走,檢測不到黑線就左轉(zhuǎn)或右轉(zhuǎn)都可以,需要程序代碼麻煩了?

別想那么復(fù)雜。

首先,你把檢測黑線的傳感器就當(dāng)一普通開關(guān)。因?yàn)?,?dāng)照射在黑線上時(shí),光線反射能力弱,輸出低電平。照在黑線外,則輸出高電平。只有高低兩種電平,所以,你只需要把它當(dāng)一個(gè)普通開關(guān)看待。

然后,既然是普通開關(guān),寫代碼時(shí)只需要位聲明以及設(shè)置gpio為雙向或強(qiáng)拉模式,51單片機(jī)都不用設(shè)置gpio。

最后,程序里,檢測到高電平然后io口電平取反就行。

求最簡單的51單片機(jī)智能循跡小車原理圖以及程序以及制作過程,不勝感激!!

簡單的寫的話不會(huì)區(qū)別偏離黑線距離遠(yuǎn)近的,復(fù)雜點(diǎn)兒的話會(huì)分區(qū)編程,簡單版如下:

void turn_left()

{

P1.0 = 0; //左前輪

P1.1 = 1; //右前輪

P1.2 = 0; //左后輪

P1.3 = 1; //右后輪

}

... ...

unsigned char judge()

{

switch(P2 0x??)

case 0x??:

{

break;

}

... ...

return 某變量(用于選擇拐彎方向程序)

}

轉(zhuǎn)彎比較簡單,就是一個(gè)輪轉(zhuǎn),另一個(gè)不轉(zhuǎn)達(dá)到轉(zhuǎn)彎目的,你也可以用速度高低來控制,自己DIY就行。

大神,請問51單片機(jī)控制的智能小車識(shí)別鐵片后進(jìn)入外部中斷,停車2秒,然后繼續(xù)前進(jìn)。程序該怎么寫?

你在中斷里面把flag=1;進(jìn)入主函數(shù)后flag一直保持1,而你中斷的判斷條件是if(flag==0P32==0),它就進(jìn)不了中斷了。你要想這么寫的話可以改成這樣看看:

void INT_0() interrupt 0

{

flag==0;

if(flag==0)

{

P2=0x00; //小車停車

delayms(2000); //延時(shí)兩秒

flag=1;

}

}

或者干脆把if判斷去了得了,(僅代表自己看法,我也不怎么懂?。?。自己多調(diào)試調(diào)試,肯定能做好的。

這一段C51程序是什么意思,請行家解釋一下

1、這不是一個(gè)完整的C程序,僅僅是一個(gè)延時(shí)函數(shù),標(biāo)準(zhǔn)的C程序必須包括main函數(shù)。

2、t是函數(shù)的參數(shù),在調(diào)用的時(shí)候,將t值傳入,這個(gè)值就相當(dāng)于你說的初值了。

3、3個(gè)while可以看出,這是3層循環(huán),所以總的循環(huán)次數(shù)是j*I*t,即乘數(shù)關(guān)系。因?yàn)橹皇褂?層或2層循環(huán)的話,循環(huán)次數(shù)受char類型的限制,所以,必須使用3層循環(huán)。

4、這個(gè)函數(shù)的作用應(yīng)當(dāng)是控制小車的速度。

用labview編程智能循跡小車的程序思路

膠帶的寬度一定的話:

四個(gè)傳感器一字排列的情況最簡單:

按1234號(hào)傳感器命名,照在膠帶上狀態(tài)位為A,否則為a.

直線正常行走時(shí),23號(hào)持續(xù)為A,14號(hào)持續(xù)為a.

分析開始右轉(zhuǎn)的邏輯:

2號(hào)變a,繼續(xù)直線行走,直到4號(hào)變A,根據(jù)24號(hào)間的距離和小車在這段時(shí)間內(nèi)行駛的距離計(jì)算出轉(zhuǎn)動(dòng)角度(這就是動(dòng)態(tài)平面幾何問題了,自己畫圖解一下,注意轉(zhuǎn)彎時(shí)候前后中心點(diǎn)的軌跡,膠帶寬度是關(guān)鍵,得到的角度不會(huì)也不必太精確。這里我只討論邏輯),然后以比計(jì)算結(jié)果稍大(目的是確保能讓2恢復(fù)狀態(tài)A)的轉(zhuǎn)動(dòng)角度開始轉(zhuǎn)彎,等到2和3都恢復(fù)狀態(tài)A,小車變回直線行走,等到2號(hào)重新變a,小車再恢復(fù)到原先的轉(zhuǎn)動(dòng)角度……后面一直循環(huán)就行了

直線上如果車子前進(jìn)方向傾斜,和轉(zhuǎn)彎一樣,下面以車子向右傾斜為例分析:

會(huì)出現(xiàn)3號(hào)變a的情況,繼續(xù)保持直線行走,直到1號(hào)變A,計(jì)算出小車在這個(gè)過程中行進(jìn)距離,結(jié)合膠帶寬度,1和3號(hào)間的距離,就可以算出偏離的角度然后決定轉(zhuǎn)動(dòng)角度。后面具體調(diào)整和過彎道一樣。

然后我來吐槽為什么要用labview,你是想著拿著筆記本進(jìn)行無線操控么 - -,嵌入式的labview編程現(xiàn)在還不成熟好吧~

分享題目:智能尋跡小車java代碼 智能尋跡小車課程設(shè)計(jì)
分享鏈接:http://muchs.cn/article18/doscegp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、品牌網(wǎng)站設(shè)計(jì)、企業(yè)建站域名注冊、微信小程序Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站