强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁 > 產(chǎn)品 > 問答 > 循跡小車,電磁循跡智能小車有哪些實(shí)用價(jià)值它能為生活帶來哪些便利

循跡小車,電磁循跡智能小車有哪些實(shí)用價(jià)值它能為生活帶來哪些便利

來源:整理 時(shí)間:2023-09-04 14:36:19 編輯:智能門戶 手機(jī)版

本文目錄一覽

1,電磁循跡智能小車有哪些實(shí)用價(jià)值它能為生活帶來哪些便利

循環(huán)的小車有一定的軌道,通過光電傳感器,電磁開關(guān),PLC控制器,協(xié)同來完成,小車的移動(dòng),及其它的工作,這是基本原理,具體可以參考自動(dòng)化控制方面的專業(yè)書籍,工控原理。
我會繼續(xù)學(xué)習(xí),爭取下次回答你

電磁循跡智能小車有哪些實(shí)用價(jià)值它能為生活帶來哪些便利

2,51單片機(jī)循跡小車的循跡模塊

用一對紅外對管,好像是Rp200型號的
要準(zhǔn)的話就是你的小車尋跡的時(shí)候靈敏度高,碰到什么樣的路況都有辦法做出相應(yīng)的判斷,這主要是看你用什么方式尋跡(比如用紅外傳感器),以及你如何利用傳感器來尋跡(一般就是外部中斷和查詢,查詢的響應(yīng)肯定是不如中斷快的,當(dāng)然也要看你中斷的資源夠不夠),還有程序的邏輯上是如何判斷的;要快的話就是驅(qū)動(dòng)你的輪子跑得快,這和你的硬件很有關(guān)系,,,看你用什么電機(jī),什么方式驅(qū)動(dòng)電機(jī)了,無非是用程序找到一種電機(jī)轉(zhuǎn)的最快的方法,然后結(jié)合上面的尋跡方式(復(fù)雜路況如十字路口,不同曲率的彎道,直角彎,銳角彎等)還有就是你的電源供電也挺重要的。

51單片機(jī)循跡小車的循跡模塊

3,智能循跡小車 有的跑道是中間一條黑線有的兩邊是黑線他們各自的

尋跡小車一般都有光電引導(dǎo)頭,他用的是物理學(xué)原理,黑色在物理的意思上是吸收一切光線(白色的意思是反射任何光線)。小車下面的引導(dǎo)頭(有發(fā)射和接收兩個(gè)頭,一般是一體式的)會發(fā)射光線,當(dāng)遇到白色物體時(shí),光線被反射回來,然后接收頭接收,輸出高電平,這樣小車就判斷為白色。如果遇到的是黑線,則不會被反射,接收頭無法接收到信號,輸出低電平,小車就知道是黑色。后面就很簡單了,小車上的引導(dǎo)頭往往是并聯(lián)多路,比如五路或者三路,只要讓中間的引導(dǎo)頭一直跟著黑線走,一直尋跡黑色就可以了。而最外邊的兩個(gè)不能碰到黑線就好。如果偏了,小車就用單片機(jī)程序調(diào)整一下電機(jī)的控制,讓兩側(cè)電機(jī)加速或者減速,或者一加速一減速(轉(zhuǎn)彎能力更強(qiáng)),小車就轉(zhuǎn)彎,調(diào)整一下方向就好了。

智能循跡小車 有的跑道是中間一條黑線有的兩邊是黑線他們各自的

4,東谷智能無線循跡小車是應(yīng)用那些原理的

光電探頭循跡小車特點(diǎn):反應(yīng)速度快,速度最快可達(dá)40cm/s,但交叉路口識別率相對較低,探頭需要定期調(diào)節(jié)靈敏度;攝像頭循跡小車特點(diǎn):交叉路口識別率相對較高,基本無需維護(hù),但因系統(tǒng)處理時(shí)間較長,反應(yīng)速度相對較慢,速度最快可達(dá)30cm/s。智能無線循跡小車適合在直線、曲線、一分二交叉路口,二合一交叉路口,停車場倒車入位路線等。東谷軟件是一家專注物聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)的軟件公司,擁有軟件開發(fā)的人才資源和技術(shù)儲備。所研發(fā)的智能無線循跡小車具有:無線通信,支持Zigbee及LoRa等無線方式;四路驅(qū)動(dòng),可前進(jìn),后退,原地轉(zhuǎn)彎,倒車等;循跡方式有兩種,一種為光電探頭循跡,另一種為攝像頭循跡共兩種循跡模式;系統(tǒng)從前端到后臺,再到應(yīng)用展現(xiàn),均采用物聯(lián)網(wǎng)標(biāo)準(zhǔn)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì),非一般的電氣聯(lián)鎖。本系統(tǒng)已應(yīng)用在眾多高校中,系統(tǒng)穩(wěn)定可靠,配套有大量的教學(xué)資源。

5,怎么設(shè)計(jì)循跡小車

1、循跡小車是一種能夠自己尋找軌跡并按軌跡運(yùn)動(dòng)的“智能”車。本文簡要記錄這一電子制作過程,希望大家喜歡。有什么建議和意見,歡迎大家留言。2、根據(jù)元器件清單清點(diǎn)器件,看是否缺件少件。下圖是元器件全家福:3、依次焊接元器件:要先焊接小的元器件,再焊接大的元器件,最后粘上電池座和馬達(dá)。焊接好所有元器件后再次肉眼檢查有沒有焊反,虛焊漏焊的點(diǎn)。確認(rèn)無誤后,進(jìn)行第三步。4、焊接好所有元器件后再次肉眼檢查有沒有焊反,虛焊漏焊的點(diǎn)。確認(rèn)無誤后,進(jìn)行第三步。5、裝上電池調(diào)試。電馬達(dá)的2根線可能會裝反,光敏電阻和發(fā)光二極管的相對位置可能需要調(diào)整,可調(diào)電阻(電位器)的電阻值可能不合適需要調(diào)整。6、調(diào)試后,小車可以再黑色的軌道上自動(dòng)循跡,制作成功。黑色軌跡可以自己做,用黑色膠布再地板上自定義軌道,小車慢悠悠的在軌道上行走。
原發(fā)布者:bing6601422#include#defineuintunsignedint#defineucharunsignedcharsbitP10=P1^0;//控制左電機(jī)前進(jìn)sbitP11=P1^1;//控制左電機(jī)后退sbitP12=P1^2;//控制右電機(jī)前進(jìn)sbitP13=P1^3;//控制右電機(jī)后退sbitLED=P0^0;sbitzuobian=P3^2;//左邊傳感器sbityoubian=P3^3;//右邊傳感器//************************************************//延時(shí)函數(shù),在12MHz的晶振頻率下//大約50us的延時(shí)//************************************************voiddelay_50us(uintt){ucharj;for(;t>0;t--)for(j=19;j>0;j--);}//************************************************//延時(shí)函數(shù),在12MHz的晶振頻率下//大約50ms的延時(shí)//************************************************voiddelay_50ms(uintt){uintj;for(;t>0;t--)for(j=6245;j>0;j--);}voidqianjin()//小車前進(jìn){P10=0;P11=1;delay_50us(25);P10=1;P11=1;delay_50us(10);P12=0;P13=1;delay_50us(25);P12=1;P13=1;delay_50us(10);}voidtingzhi()//小車停止{P10=1;P11=1;P12=1;P13=1;}voidyouguai()//小車右拐{(diào)P10=0;P11=1;delay_50us(25);P10=1;P11=1;delay_50us(10);P12=1;P13=1;delay_50us(10);}voidzuoguai()//小
1. 小車控制及驅(qū)動(dòng)單元的選擇 此部分是整個(gè)小車的大腦,是整個(gè)小車運(yùn)行的核心部件,起著控制小車所有運(yùn)行狀態(tài)的作用。通常選用單片機(jī)作為小車的核心控制單元,在這里用臺灣凌陽公司的SPCE061A單片機(jī)來做小車的控制單元。SPCE061是一款擁有2K RAM、32KFlash、32 個(gè)I/O 口,并集成了AD/DA功能強(qiáng)大的16位微處理器,它還擁有豐富的語音處理功能,為小車的功能擴(kuò)展提供了相當(dāng)大的空間。只要按照該單片機(jī)的要求對其編制程序就可以實(shí)現(xiàn)很多不同的功能。小車驅(qū)動(dòng)電機(jī)一般利用現(xiàn)成的玩具小車上的配套直流電機(jī)。考慮到小車必須能夠前進(jìn)、倒退、停止,并能靈活轉(zhuǎn)向,在左右兩輪各裝一個(gè)電機(jī)分別進(jìn)行驅(qū)動(dòng)。當(dāng)左輪電機(jī)轉(zhuǎn)速高于右輪電機(jī)轉(zhuǎn)速時(shí)小車向右轉(zhuǎn),反之則向左轉(zhuǎn)。為了能控制車輪的轉(zhuǎn)速,可以采取PWM調(diào)速法,即由單片機(jī)的IOB8、IOB9輸出一系列頻率固定的方波,再通過功率放大來驅(qū)動(dòng)電機(jī),在單片機(jī)中編程改變輸出方波的占空比就可以改變加到電機(jī)上的平均電壓,從而可以改變電機(jī)的轉(zhuǎn)速。左右輪兩個(gè)電機(jī)轉(zhuǎn)速的配合就可以實(shí)現(xiàn)小車的前進(jìn)、倒退、轉(zhuǎn)彎等功能。 2. 小車循跡的原理 這里的循跡是指小車在白色地板上循黑線行走,通常采取的方法是紅外探測法。紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質(zhì)的特點(diǎn),在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色紙質(zhì)地板時(shí)發(fā)生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機(jī)就是否收到反射回來的紅外光為依據(jù)來確定黑線的位置和小車的行走路線。紅外探測器探測距離有限,一般最大不應(yīng)超過15cm。對于發(fā)射和接收紅外線的紅外探頭,可以自己制作或直接采用集成式紅外探頭。 (1)自制紅外探頭電路如圖1所示,紅外光的發(fā)送接收選用型號為ST168的對管。當(dāng)小車在白色地面行駛時(shí),裝在車下的紅外發(fā)射管發(fā)射紅外線信號,經(jīng)白色反射后,被接收管接收,一旦接收管接收到信號,那么圖中光敏三極管將導(dǎo)通,比較器輸出為低電平;當(dāng)小車行駛到黑色引導(dǎo)線時(shí),紅外線信號被黑色吸收后,光敏三極管截止,比較器輸出高電平,從而實(shí)現(xiàn)了通過紅外線檢測信號的功能。將檢測到的信號送到單片機(jī)I/O口,當(dāng)I/O口檢測到的信號為高電平時(shí),表明紅外光被地上的黑色引導(dǎo)線吸收了,表明小車處在黑色的引導(dǎo)線上;同理,當(dāng)I/O口檢測到的信號為低電平時(shí),表明小車行駛在白色地面上。此種方法簡單,價(jià)格便宜,靈敏度可調(diào),但是容易受到周圍環(huán)境的影響,特別是在圖1較強(qiáng)的日光燈下,對檢測到的信號有一定的影響。 (2)集成式紅外探頭可以采用型號為E3F-DS10C4集成斷續(xù)式光電開關(guān)探測器,它具有簡單、可靠的工作性能,只要調(diào)節(jié)探頭上的一個(gè)旋鈕就可以控制探頭的靈敏度。該探頭輸出端只有三根線(電源線、地線、信號線),只要將信號線接在單片機(jī)的I/O口,然后不停地對該I/O口進(jìn)行掃描檢測,當(dāng)其為高電平時(shí)則檢測到白紙,當(dāng)為低電平時(shí)則檢測到黑線。此種探頭還能有效地防止普通光源(如日光燈等)的干擾。其缺點(diǎn)則是體積比較大,占用了小車有限的空間。 3.紅外探頭的安裝 在小車具體的循跡行走過程中,為了能精確測定黑線位置并確定小車行走的方向,需要同時(shí)在底盤裝設(shè)4個(gè)紅外探測頭,進(jìn)行兩級方向糾正控制,提高其循跡的可靠性。這4個(gè)紅外探頭的具體位置如圖2所示。圖中循跡傳感器共安裝4個(gè),全部在一條直線上。其中InfraredMR與InfraredML 為第一級方向控制傳感器,InfraredSR 與InfraredSL 為第二級方向控制傳感器。小車行走時(shí),始終保持黑線(如圖2 中所示的行走軌跡黑線)在InfraredMR和InfraredML這兩個(gè)第一級傳感器之間,當(dāng)小車偏離黑線時(shí),第一級探測器一旦探測到有黑線,單片機(jī)就會按照預(yù)先編定的程序發(fā)送指令給小車的控 制系統(tǒng),控制系統(tǒng)再對小車路徑予以糾正。若小車回到了軌道上,即4個(gè)探測器都只檢測到白紙,則小車會繼續(xù)行走;若小車由于慣性過大依舊偏離軌道,越出了第一級兩個(gè)探測器的探測范圍,這時(shí)第二級動(dòng)作,再次對小車的運(yùn)動(dòng)進(jìn)行糾正,使之回到正確軌道上去??梢钥闯?,第二級方向探測器實(shí)際是第一級的后備保護(hù),從而提高了小車循跡的可靠性。 4.軟件控制 其程序控制框圖如圖3。小車進(jìn)入循跡模式后,即開始不停地掃描與探測器連接的單片機(jī)I/O口,一旦檢測到某個(gè)I/O口有信號,即進(jìn)入判斷處理程序(switch),先確定4個(gè)探測器中的哪一個(gè)探測到了黑線,如果InfraredML(左面第一級傳感器)或者InfraredSL(左面第二級傳感器)探測到黑線,即小車左半部分壓到黑線,車身向右偏出,此時(shí)應(yīng)使小車向左轉(zhuǎn);如果是InfraredMR(右面第一級傳感 器)或InfraredSR(右面第二級傳感器)探測到了黑線,即車身右半部壓住黑線,小車向左偏出了軌跡,則應(yīng)使小車向右轉(zhuǎn)。在經(jīng)過了方向調(diào)整后,小車再繼續(xù)向前行走,并繼續(xù)探測黑線重復(fù)上述動(dòng)作。 由于第二級方向控制為第一級的后備,則兩個(gè)等級間的轉(zhuǎn)向力度必須相互配合。 電動(dòng)循跡小車設(shè)計(jì)1. 小車控制及驅(qū)動(dòng)單元的選擇 此部分是整個(gè)小車的大腦,是整個(gè)小車運(yùn)行的核心部件,起著控制小車所有運(yùn)行狀態(tài)的作用。通常選用單片機(jī)作為小車的核心控制單元,在這里用臺灣凌陽公司的SPCE061A單片機(jī)來做小車的控制單元。SPCE061是一款擁有2K RAM、32KFlash、32 個(gè)I/O 口,并集成了AD/DA功能強(qiáng)大的16位微處理器,它還擁有豐富的語音處理功能,為小車的功能擴(kuò)展提供了相當(dāng)大的空間。只要按照該單片機(jī)的要求對其編制程序就可以實(shí)現(xiàn)很多不同的功能。小車驅(qū)動(dòng)電機(jī)一般利用現(xiàn)成的玩具小車上的配套直流電機(jī)。考慮到小車必須能夠前進(jìn)、倒退、停止,并能靈活轉(zhuǎn)向,在左右兩輪各裝一個(gè)電機(jī)分別進(jìn)行驅(qū)動(dòng)。當(dāng)左輪電機(jī)轉(zhuǎn)速高于右輪電機(jī)轉(zhuǎn)速時(shí)小車向右轉(zhuǎn),反之則向左轉(zhuǎn)。為了能控制車輪的轉(zhuǎn)速,可以采取PWM調(diào)速法,即由單片機(jī)的IOB8、IOB9輸出一系列頻率固定的方波,再通過功率放大來驅(qū)動(dòng)電機(jī),在單片機(jī)中編程改變輸出方波的占空比就可以改變加到電機(jī)上的平均電壓,從而可以改變電機(jī)的轉(zhuǎn)速。左右輪兩個(gè)電機(jī)轉(zhuǎn)速的配合就可以實(shí)現(xiàn)小車的前進(jìn)、倒退、轉(zhuǎn)彎等功能。 2. 小車循跡的原理 這里的循跡是指小車在白色地板上循黑線行走,通常采取的方法是紅外探測法。紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質(zhì)的特點(diǎn),在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色紙質(zhì)地板時(shí)發(fā)生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機(jī)就是否收到反射回來的紅外光為依據(jù)來確定黑線的位置和小車的行走路線。紅外探測器探測距離有限,一般最大不應(yīng)超過15cm。對于發(fā)射和接收紅外線的紅外探頭,可以自己制作或直接采用集成式紅外探頭。 (1)自制紅外探頭電路如圖1所示,紅外光的發(fā)送接收選用型號為ST168的對管。當(dāng)小車在白色地面行駛時(shí),裝在車下的紅外發(fā)射管發(fā)射紅外線信號,經(jīng)白色反射后,被接收管接收,一旦接收管接收到信號,那么圖中光敏三極管將導(dǎo)通,比較器輸出為低電平;當(dāng)小車行駛到黑色引導(dǎo)線時(shí),紅外線信號被黑色吸收后,光敏三極管截止,比較器輸出高電平,從而實(shí)現(xiàn)了通過紅外線檢測信號的功能。將檢測到的信號送到單片機(jī)I/O口,當(dāng)I/O口檢測到的信號為高電平時(shí),表明紅外光被地上的黑色引導(dǎo)線吸收了,表明小車處在黑色的引導(dǎo)線上;同理,當(dāng)I/O口檢測到的信號為低電平時(shí),表明小車行駛在白色地面上。此種方法簡單,價(jià)格便宜,靈敏度可調(diào),但是容易受到周圍環(huán)境的影響,特別是在圖1較強(qiáng)的日光燈下,對檢測到的信號有一定的影響。 (2)集成式紅外探頭可以采用型號為E3F-DS10C4集成斷續(xù)式光電開關(guān)探測器,它具有簡單、可靠的工作性能,只要調(diào)節(jié)探頭上的一個(gè)旋鈕就可以控制探頭的靈敏度。該探頭輸出端只有三根線(電源線、地線、信號線),只要將信號線接在單片機(jī)的I/O口,然后不停地對該I/O口進(jìn)行掃描檢測,當(dāng)其為高電平時(shí)則檢測到白紙,當(dāng)為低電平時(shí)則檢測到黑線。此種探頭還能有效地防止普通光源(如日光燈等)的干擾。其缺點(diǎn)則是體積比較大,占用了小車有限的空間。 3.紅外探頭的安裝 在小車具體的循跡行走過程中,為了能精確測定黑線位置并確定小車行走的方向,需要同時(shí)在底盤裝設(shè)4個(gè)紅外探測頭,進(jìn)行兩級方向糾正控制,提高其循跡的可靠性。這4個(gè)紅外探頭的具體位置如圖2所示。圖中循跡傳感器共安裝4個(gè),全部在一條直線上。其中InfraredMR與InfraredML 為第一級方向控制傳感器,InfraredSR 與InfraredSL 為第二級方向控制傳感器。小車行走時(shí),始終保持黑線(如圖2 中所示的行走軌跡黑線)在InfraredMR和InfraredML這兩個(gè)第一級傳感器之間,當(dāng)小車偏離黑線時(shí),第一級探測器一旦探測到有黑線,單片機(jī)就會按照預(yù)先編定的程序發(fā)送指令給小車的控 制系統(tǒng),控制系統(tǒng)再對小車路徑予以糾正。若小車回到了軌道上,即4個(gè)探測器都只檢測到白紙,則小車會繼續(xù)行走;若小車由于慣性過大依舊偏離軌道,越出了第一級兩個(gè)探測器的探測范圍,這時(shí)第二級動(dòng)作,再次對小車的運(yùn)動(dòng)進(jìn)行糾正,使之回到正確軌道上去??梢钥闯?,第二級方向探測器實(shí)際是第一級的后備保護(hù),從而提高了小車循跡的可靠性。 4.軟件控制 其程序控制框圖如圖3。小車進(jìn)入循跡模式后,即開始不停地掃描與探測器連接的單片機(jī)I/O口,一旦檢測到某個(gè)I/O口有信號,即進(jìn)入判斷處理程序(switch),先確定4個(gè)探測器中的哪一個(gè)探測到了黑線,如果InfraredML(左面第一級傳感器)或者InfraredSL(左面第二級傳感器)探測到黑線,即小車左半部分壓到黑線,車身向右偏出,此時(shí)應(yīng)使小車向左轉(zhuǎn);如果是InfraredMR(右面第一級傳感 器)或InfraredSR(右面第二級傳感器)探測到了黑線,即車身右半部壓住黑線,小車向左偏出了軌跡,則應(yīng)使小車向右轉(zhuǎn)。在經(jīng)過了方向調(diào)整后,小車再繼續(xù)向前行走,并繼續(xù)探測黑線重復(fù)上述動(dòng)作。 由于第二級方向控制為第一級的后備,則兩個(gè)等級間的轉(zhuǎn)向力度必須相互配合。第二級通常是在超出第一級的控制范圍的情況下發(fā)生作用,它也是最后一層保護(hù),所以它必須要保證小車回到正確軌跡上來,則通常使第二級轉(zhuǎn)向力度大于第一級,即level2>level1(level1、level2為小車轉(zhuǎn)向力度,其大小通過改變單片機(jī)輸出的占空比的大小來改變),具體數(shù)值在實(shí)地實(shí)驗(yàn)中得到。根據(jù)上面所講述的方法,我們可以較容易地做出按照一定軌跡行走的智能電動(dòng)小車。但是按照該方法行走的小車如果是走直線,有可能會是蛇形前進(jìn)。為了使小車能夠按軌跡行走的更流暢,可以在軟件編程時(shí)運(yùn)用一些簡單的算法。例如,在對小車進(jìn)行糾偏時(shí),適當(dāng)提前停止糾偏,而不要等到小車完全不偏時(shí)再停止,以防止小車的過沖。 第二級通常是在超出第一級的控制范圍的情況下發(fā)生作用,它也是最后一層保護(hù),所以它必須要保證小車回到正確軌跡上來,則通常使第二級轉(zhuǎn)向力度大于第一級,即level2>level1(level1、level2為小車轉(zhuǎn)向力度,其大小通過改變單片機(jī)輸出的占空比的大小來改變),具體數(shù)值在實(shí)地實(shí)驗(yàn)中得到。 根據(jù)上面所講述的方法,我們可以較容易地做出按照一定軌跡行走的智能電動(dòng)小車。但是按照該方法行走的小車如果是走直線,有可能會是蛇形前進(jìn)。為了使小車能夠按軌跡行走的更流暢,可以在軟件編程時(shí)運(yùn)用一些簡單的算法。例如,在對小車進(jìn)行糾偏時(shí),適當(dāng)提前停止糾偏,而不要等到小車完全不偏時(shí)再停止,以防止小車的過沖
找個(gè)專門研究電路的一塊研究

6,關(guān)于智能循跡小車

恩?要顯示什么是你的項(xiàng)目要求,前期調(diào)試的時(shí)候可以顯示一些能夠幫助分析問題的信息,比如傳感器的狀態(tài),電機(jī)的狀態(tài),程序中一些關(guān)鍵變量的值等等,這些都只是起到協(xié)助分析程序的作用,最終成品中要顯示什么那得看你的項(xiàng)目要求顯示什么了,祝成功~
<p>電設(shè)小車循跡模塊 轉(zhuǎn)自:</p> <p><a target="_blank">http://blog.sina.com.cn/s/blog_4bb018e10100ermy.html</a></p> <p>供參考:</p> <p>//包含所需頭文件<br>#include &lt;iom16v.h&gt;<br>#include &lt;macros.h&gt;<br>#include"time1_init.h"<br>#include"motor.h"</p> <p></p> <p>#define ahead 1<br>#define backwards 0<br>#define compare(x,y) (x&lt;y?1:0)<br>#define mid 0x17</p> <p>//端口初始化<br>void port_init(void)<br>{<br>porta = 0x00;<br>ddra = 0x00;<br>portb = 0x00;<br>ddrb = 0x08;<br>portc = 0x00;<br>ddrc = 0x00;<br>portd = 0x00;<br>ddrd = 0x00;<br>}</p> <p>void timer0_init(void)<br>{<br>tccr0 = 0x00;//停止定時(shí)器<br>tcnt0 = 0x00;//初始值<br>ocr0 = 0x17;//匹配值<br>timsk |= 0x00;//中斷允許<br>tccr0 = 0x7d;//啟動(dòng)定時(shí)器<br>}</p> <p>void adc_init(void)<br>{<br>//adc轉(zhuǎn)換初始化<br>adcsra = 0x00; //禁止ad轉(zhuǎn)換<br>adcsra|=bit(adif);<br>admux=0x46;<br>sfior |= 0x00;<br>acsr = 0x80; //禁止模擬比較器<br>adcsra = 0xe7;<br>}</p> <p>void init_devices(void)<br>{<br>cli(); //禁止所有中斷<br>mcucr = 0x00;<br>mcucsr = 0x80;//禁止jtag<br>gicr = 0x00;<br>port_init();<br>timer0_init();<br>timer1_init();<br>adc_init();<br>sei();//開全局中斷<br>}</p> <p></p> <p></p> <p>uint sensor_head[3],sensor_back[3],cord; //存儲6個(gè)傳感器ad轉(zhuǎn)換的值<br>uchar offset ; //黑線偏移小車中心軸的距離<br>uint sensor_compare_head[3]={300,300,300},sensor_compare_back[3]={300,300,300}; //判斷黑線是否位于傳感器下的閾值</p> <p>uchar start_head_sensor(void)<br>{<br>uchar i,j=0,sum=0; <br>admux=0x40;<br>adcsra=0xc7;<br>while(adcsra&amp;bit(adsc));<br>for(i=0;i&lt;3;i++)<br>{<br>admux=0x40+i; //啟用前端傳感器0,1,2通道<br>adcsra=0xc7;<br>while(adcsra&amp;bit(adsc));<br>sensor_head[i]=adc;<br>}<br>for(i=3;i;i--)<br>{<br>if(compare(sensor_head[i-1],sensor_compare_head[i-1]))<br>{<br>sum+=i-1;<br>j++;<br>}<br>}<br>if(j)<br>offset=sum*2/j;<br>admux=0x46;<br>adcsra=0xe7;<br>return offset;<br>}<br><br>uchar start_back_sensor(void)<br>{<br>uchar i,j=0,sum=0;<br>admux=0x43;<br>adcsra=0xc7;<br>while(adcsra&amp;bit(adsc));<br>for(i=0;i&lt;3;i++)<br>{<br>admux=0x43+i; //啟用前端傳感器0,1,2通道<br>adcsra=0xc7;<br>while(adcsra&amp;bit(adsc));<br>sensor_back[i]=adc; <br>}<br>for(i=3;i;i--)<br>{<br>if(compare(sensor_back[i-1],sensor_compare_back[i-1]))<br>{<br>sum+=i-1;<br>j++;<br>}<br>}<br>if(j)offset=sum*2/j;<br>admux=0x46;<br>adcsra=0xe7;<br>return offset;<br>}</p> <p>//角度傳感器濾波函數(shù)<br>uint cord_sensor(void)<br>{<br>uchar i;<br>uint max=0,min=1023,sum=0;<br>for(i=0;i&lt;5;i++)<br>{<br>adcsra|=bit(adif);<br>while(!(adcsra&amp;bit(adif)));<br>cord=adc;<br>sum+=cord;<br>max=(max&gt;cord)?max:cord;<br>min=(min&lt;cord)?min:cord;<br>}<br>return (sum-max-min)/3;<br>}</p> <p>void direc_ctrl(uchar x,uchar y)<br>{<br>if(y)<br>{<br>if(x==0)ocr0=mid+3;<br>if(x==4)ocr0=mid-3;<br>if(x==2) ocr0=mid;<br>}<br>else ocr0=mid+x-2; <br>}</p> <p>void menmber_path(void)<br>{<br>uchar j;<br>uint i;<br>uint max_head[3]={0,0,0},min_head[3]={1023,1023,1023},max_back[3]={0,0,0},min_back[3]={1023,1023,1023};<br>for(i=4000;i;i--)<br>{<br>start_head_sensor();<br>for(j=0;j&lt;3;j++)<br>{<br>max_head[j]=(max_head[j]&gt;sensor_head[j])?max_head[j]:sensor_head[j];<br>min_head[j]= (min_head[j]&lt;sensor_head[j])?min_head[j]:sensor_head[j];<br>}<br>start_back_sensor();<br>for(j=0;j&lt;3;j++)<br>{<br>max_back[j]=(max_back[j]&gt;sensor_back[j])?max_back[j]:sensor_back[j];<br>min_back[j]= (min_back[j]&lt;sensor_back[j])?min_back[j]:sensor_back[j];<br>} <br>}<br>for(j=0;j&lt;3;j++)<br>{<br>sensor_compare_head[j]=(max_head[j]+min_head[j])/2;<br>sensor_compare_back[j]=(max_back[j]+min_back[j])/2;<br>}<br>}<br><br>uchar head_sensor_all(void)<br>{<br>start_head_sensor();<br>if( compare(sensor_head[0], sensor_compare_head[0]) &amp;&amp; compare(sensor_head[1], sensor_compare_head[1]) &amp;&amp; compare(sensor_head[2], sensor_compare_head[2]))<br>return 1;<br>else<br>return 0;<br>}</p> <p>uchar back_sensor_all(void)<br>{<br>start_back_sensor();<br>if( compare(sensor_back[0], sensor_compare_back[0]-30) &amp;&amp; compare(sensor_back[1], sensor_compare_back[1]-30) &amp;&amp; compare(sensor_back[2], sensor_compare_back[2]-30))<br>return 1;<br>else<br>return 0;<br>}</p> <p></p> <p><br>void search_path_ahead(uchar speed)<br>{<br>motor_autorun(ahead,speed);<br>while(1)<br>{<br>if(head_sensor_all())<br>{<br>motor_stop();<br>return;<br>}<br>else<br>{ <br>direc_ctrl(offset,1);<br>} <br>}<br>}</p> <p><br><br>void search_path_backward(uchar speed)<br>{<br>motor_autorun(0,speed);<br>while(1)<br>{<br>if(back_sensor_all())<br>{<br>motor_stop();<br>return;<br>}<br>else<br>direc_ctrl(offset,0); <br>}<br>}</p>
文章TAG:循跡小車電磁智能循跡小車

最近更新

  • 復(fù)位,復(fù)位是什么意思復(fù)位,復(fù)位是什么意思

    復(fù)位是什么意思2,復(fù)位什么意思3,什么是復(fù)位4,什么叫復(fù)位5,復(fù)位是什么6,復(fù)位名詞解釋1,復(fù)位是什么意思復(fù)位釋義:1.回復(fù)到原來的部位2.失去地位的君主重新掌權(quán)2,復(fù)位什么意思復(fù)位是指讓程序、電.....

    問答 日期:2023-09-04

  • 6s自動(dòng)更新ios10,蘋果更新ios10怎么做?6s自動(dòng)更新ios10,蘋果更新ios10怎么做?

    二、在電腦上使用iTunes更新system,步驟如下,我的iPhone5s更新iOS9沒有問題,ios10的很多新操作真的很依賴3dtouch,Cannot更新指定系統(tǒng),僅更新最新系統(tǒng)為ios11,無除6splus更新,那么更新,6s.....

    問答 日期:2023-09-04

  • 移動(dòng)營銷平臺 數(shù)據(jù)中心移動(dòng)營銷平臺 數(shù)據(jù)中心

    什么是移動(dòng)營銷?什么是移動(dòng)營銷官方?什么是移動(dòng)營銷官方?中國移動(dòng)在線營銷中心java開發(fā)杭州待遇10k左右。移動(dòng)營銷和數(shù)字營銷知乎移動(dòng)營銷和數(shù)字營銷知乎數(shù)字營銷(DigitalMarketing)的區(qū).....

    問答 日期:2023-09-04

  • 光伏效應(yīng),太陽能電池板發(fā)電原理光伏效應(yīng),太陽能電池板發(fā)電原理

    太陽能電池板發(fā)電原理2,什么是光伏效應(yīng)3,簡述什么是光電導(dǎo)效應(yīng)光生伏特效應(yīng)外光電效應(yīng)4,光電效應(yīng)與光伏效應(yīng)區(qū)別從原理上講詳解急5,光電伏特效應(yīng)6,光伏效應(yīng)的解釋7,光伏的原理是什么8,什么叫.....

    問答 日期:2023-09-04

  • 小米機(jī)器人壞了小米機(jī)器人壞了

    小米掃地機(jī)器人,買了小米掃地機(jī)器人,小米掃地機(jī)器人打不開怎么辦?小米掃地機(jī)器人沒水?但是吐血來了。一旦系統(tǒng)復(fù)位或升級,你的小米掃地機(jī)器人硬件損壞,升級會出現(xiàn)內(nèi)部錯(cuò)誤,機(jī)器不能再直接使用.....

    問答 日期:2023-09-04

  • 大數(shù)據(jù) 行業(yè)分析大數(shù)據(jù) 行業(yè)分析

    大數(shù)據(jù)分析行業(yè)前景如何?說到Da數(shù)據(jù),最常見的應(yīng)用有Da數(shù)據(jù)分析,Da數(shù)據(jù)分析。還包括各種外部系統(tǒng)、機(jī)器設(shè)備、傳感器、數(shù)據(jù)library數(shù)據(jù),如:政府、銀行、國計(jì)民生、行業(yè)、社交網(wǎng)站等,數(shù)據(jù),通過.....

    問答 日期:2023-09-04

  • 小米掃地機(jī)器人和斐納小米掃地機(jī)器人和斐納

    掃地機(jī)器人掃地機(jī)器人品牌排名:1,小米掃地。小米生態(tài)鏈企業(yè)Roborock推出了千元檔的智能版掃地機(jī)器人小娃掃地機(jī)器人青春版,3.小米米家掃地機(jī)器人,根據(jù)國際室內(nèi)清潔研究中心公布的數(shù)據(jù),比較.....

    問答 日期:2023-09-04

  • 風(fēng)力發(fā)電的危害,建風(fēng)力發(fā)電站對人體有害嗎風(fēng)力發(fā)電的危害,建風(fēng)力發(fā)電站對人體有害嗎

    建風(fēng)力發(fā)電站對人體有害嗎2,風(fēng)力發(fā)電對人體的害處3,風(fēng)力發(fā)電站是否真的對人體有害求解4,風(fēng)能的壞處5,長時(shí)間居住在風(fēng)力發(fā)電周圍對人的身體有危害嗎6,風(fēng)力發(fā)電對環(huán)境的負(fù)面影響1,建風(fēng)力發(fā)電站.....

    問答 日期:2023-09-04