![基于51單片機(jī)WiFi智能小車制作.doc_第1頁](http://file.renrendoc.com/FileRoot1/2020-1/5/46420220-efa0-4281-ab2f-60fa1532d1a7/46420220-efa0-4281-ab2f-60fa1532d1a71.gif)
![基于51單片機(jī)WiFi智能小車制作.doc_第2頁](http://file.renrendoc.com/FileRoot1/2020-1/5/46420220-efa0-4281-ab2f-60fa1532d1a7/46420220-efa0-4281-ab2f-60fa1532d1a72.gif)
![基于51單片機(jī)WiFi智能小車制作.doc_第3頁](http://file.renrendoc.com/FileRoot1/2020-1/5/46420220-efa0-4281-ab2f-60fa1532d1a7/46420220-efa0-4281-ab2f-60fa1532d1a73.gif)
![基于51單片機(jī)WiFi智能小車制作.doc_第4頁](http://file.renrendoc.com/FileRoot1/2020-1/5/46420220-efa0-4281-ab2f-60fa1532d1a7/46420220-efa0-4281-ab2f-60fa1532d1a74.gif)
![基于51單片機(jī)WiFi智能小車制作.doc_第5頁](http://file.renrendoc.com/FileRoot1/2020-1/5/46420220-efa0-4281-ab2f-60fa1532d1a7/46420220-efa0-4281-ab2f-60fa1532d1a75.gif)
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于51單片機(jī)WiFi智能小車制作一、基本原理51單片機(jī)WiFi智能小車是利用PC或手機(jī)作為控制端,通過手機(jī)連接wifi模塊(路由器)以獲得wifi信號(hào),同時(shí)車載也連接wifi模塊以獲得和手機(jī)相同的IP地址,實(shí)現(xiàn)手機(jī)和小車的連接,然后利用PC或手機(jī)上的控制軟件以wifi網(wǎng)絡(luò)信號(hào)為載體發(fā)送相關(guān)信號(hào),wifi模塊接收PC或手機(jī)端發(fā)送來的相關(guān)信號(hào)并分析轉(zhuǎn)換成TTL電平信號(hào),然后發(fā)送給單片機(jī),單片機(jī)接收到的電平信號(hào)處理、分析、計(jì)算,轉(zhuǎn)化成控制指令并發(fā)送給電機(jī)驅(qū)動(dòng)模塊以實(shí)現(xiàn)小車的前進(jìn)、后退、左拐、右拐等功能。二、購買所需材料了解51單片機(jī)WiFi智能小車基本原理后,需要購買所需材料進(jìn)行制作。下面列出所需制作材料:序號(hào)材料備注圖例151單片機(jī)最小系統(tǒng)一般采用11.0592M晶振251單片機(jī)3703n路由器DB120或WiFi模塊4L298n電機(jī)驅(qū)動(dòng)模塊有動(dòng)手能力的可以自己做5減速電機(jī)及輪子一套6小車底盤7攝像頭根據(jù)固件支持?jǐn)z像頭購買8電源根據(jù)自己需要購買種類9杜邦線及小配件制作所需工具:序號(hào)工具名稱備注圖例1電烙鐵一套包括松香焊錫2螺絲刀平口、十字等3微型電鉆可以自制4手工刀5剪刀6萬用表7熱熔膠槍或快干膠8USB下載器三、開始制作1、制作流程開始制作前,我們首先需要看購買路由器的型號(hào),筆者采用的是703n路由器,所以需要引出ttl線??傮w步驟為:路由器引TTL線路由器刷OpenWrt固件制作51單片機(jī)最小系統(tǒng)下載下位機(jī)程序到51單片機(jī)安裝上位機(jī)程序至PC或手機(jī)測試上、下位機(jī)通信組裝調(diào)試完成。2、路由器引ttl線首先打開703n路由器,按照下圖標(biāo)示位置焊接ttl線。注意:1、焊接的時(shí)候要小心焊接,焊好后微拉下查看松緊2、焊接最好采用軟線焊接,防止意外整塊拉掉焊點(diǎn)3、焊好后一定用膠固定,最好采用熱熔膠下圖為引好ttl線樣子3 刷OpenWrt固件何為OpenWrt固件,OpenWrt可以被描述為一個(gè)嵌入式的 Linux 發(fā)行版,(主流路由器固件有 dd-wrt,tomato,openwrt三類)而不是試圖建立一個(gè)單一的,靜態(tài)的系統(tǒng)。OpenWrt的包管理提供了一個(gè)完全可寫的文件系統(tǒng),從應(yīng)用程序供應(yīng)商提供的選擇和配置,并允許您自定義的設(shè)備,以適應(yīng)任何應(yīng)用程序。對(duì)于開發(fā)人員,OpenWrt 是使用框架來構(gòu)建應(yīng)用程序,而無需建立一個(gè)完整的固件來支持;對(duì)于用戶來說,這意味著其擁有完全定制的能力,可以用前所未有的方式使用該設(shè)備。百度百科:/link?url=18s7ZQFh6grF8LDGfd4LtrUdBXv5GWlDKLrNh8CeK1W0ixQpA9f2FGZuf9ZOtKTlDZOhM1m7YsqlHXe_RNzzp_-第一步:把電腦IP改為192.168.1.xxx第二步:把路由網(wǎng)絡(luò)接口和電腦網(wǎng)卡直接用網(wǎng)線相連第三步:打開路由的控制界面,地址默認(rèn)一般是(FAST和TP的一樣),用戶名密碼均為admin,自己修改過的用自己修改后的地址第四步:進(jìn)入路由的控制界面,點(diǎn)“系統(tǒng)工具”“軟件升級(jí)”“瀏覽”,選擇下載的固件文件第五步:點(diǎn)擊升級(jí),耐心等待。升級(jí)成功后只能用無線和路由器連接。到此,路由器刷固件完成。4 51單片機(jī)最小系統(tǒng)制作該步驟就不多說了,一般在網(wǎng)上買單片機(jī)最小系統(tǒng),買回來直接安裝單片機(jī)上去就可以了。不過有興趣的朋友可以買些散件自己焊接。5 下載下位機(jī)到單片機(jī)把編寫好的下位機(jī)程序下載到單片機(jī),下圖為usb-ttl與單片機(jī)鏈接示意圖。6安裝上位機(jī)程序至PC或手機(jī)下載上位機(jī)程序到電腦端或者手機(jī)上,進(jìn)行安裝。7 測試上、下位機(jī)通信測試上、下位機(jī)通信首先需要把路由器、單片機(jī)最小系統(tǒng)、電機(jī)驅(qū)動(dòng)模塊、減速電機(jī)連接起來,上電測試。具體接法見下圖:注意:該圖從網(wǎng)上下載,最終接法按照各位買的模塊說明書進(jìn)行接線,不過接線方法都是大同小異??刂茊卧B接需要根據(jù)下位機(jī)程序連接in14.路由器與單片機(jī)連接按照下圖標(biāo)示的接口,GND連GND、TX連RX、RX連TX。連接好各自的線路后(有攝像頭的可以插上攝像頭),最后給單片機(jī)、電機(jī)驅(qū)動(dòng)板、路由器上電,等待路由器啟動(dòng)完成。在電腦無線網(wǎng)絡(luò)里尋找WifRobot的昵稱連接上。打開上位機(jī)軟件,按如下設(shè)置:確定后重啟上位機(jī)程序,查看攝像頭圖像是否正常,分別按下wasd看是否能驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。7 組裝WiFi小車到這一步基本沒什么問題了,接下來就按照自己的嗜好組裝自己心愛的小車了。8 調(diào)試車子安裝好了以后就可以試車了,前后左右功能是否正常?攝像頭功能是否正常?前進(jìn)與后退有沒有偏向?上位機(jī)程序private void ReadFromArm() byte buffertocheck = new byte1; int bytesize = 0; do byte bufferofread = new byte1024; try bytesize = stream.Read(bufferofread, 0, bufferofread.Length); catch (Exception ex) connection = Indicator.Unconnected; MessageBox.Show(連接中斷,程序?qū)⑼顺觥?; Application.Exit(); read.Abort(); /MessageBox.Show(BitConverter.ToString(bufferofread); byte buffertochecktemp = buffertocheck; buffertocheck = new bytebuffertochecktemp.Length + bytesize; Array.Copy(buffertochecktemp, 0, buffertocheck, 0, buffertochecktemp.Length); Array.Copy(bufferofread, 0, buffertocheck, buffertochecktemp.Length, bytesize); int index_1, index_2; while (Check7E(buffertocheck, out index_1, out index_2) byte buffertodecode = new byteindex_2 + 1 - index_1; Array.Copy(buffertocheck, index_1, buffertodecode, 0, index_2 + 1 - index_1); byte bufferofdecode = PPP.Decode(buffertodecode); /MessageBox.Show(BitConverter.ToString(bufferofdecode); if (bufferofdecode0 = bufferofdecode.Length & CheckSum(bufferofdecode)/保證從ARM來的幀是正確的 byte Zuohao = new byte2; int subindex = 1, index = bufferofdecode1*256+bufferofdecode2-1; string status=null; switch (bufferofdecode3)/分別處理從ARM來的幀 case POWER_ON:/從ARM來的上電狀態(tài) status = 上電; subindex = 1; break; case POWER_OFF:/從ARM來的斷電狀態(tài) status = 斷電; subindex = 1; break; case ABNORMAL:/從ARM來的異常狀態(tài) status = 異常; subindex = 1; break; case WARNING:/從ARM來的警告信號(hào) status = 有; subindex = 2; break; case NEED_HELP:/從ARM來的求救信號(hào) status = 有; subindex = 3; break; if (0 = index & index = 49) listView1.Itemsindex.SubItemssubindex.Text = status; if (status = 異常 | status = 有) listView1.Itemsindex.SubItemssubindex.ForeColor = Color.Red; else listView1.Itemsindex.SubItemssubindex.ForeColor = Color.Black; int newlength = buffertocheck.Length - 1 - index_2; if (newlength = 0) buffertocheck = new byte1; else buffertochecktemp = buffertocheck; buffertocheck = new bytenewlength; Array.Copy(buffertochecktemp, index_2 + 1, buffertocheck, 0, newlength); while (connection = Indicator.Connected); / / 向ARM發(fā)送 / / 座號(hào) 2字節(jié) / 命令字 1字節(jié) public void WriteToArm(byte Zuohao, byte mingling) if (connection = Indicator.Connected)/在與ARM保持連接的情況下可寫 byte frame = new byte5; frame0 = 0x05; Array.Copy(Zuohao, 0, frame, 1, 2); frame3 = mingling; byte temp = 0; foreach (byte item in frame) temp += item; frame4 = (byte)(0 - temp); byte frametosend = PPP.Encode(frame); Console.WriteLine(BitConverter.ToString(frametosend); try stream.Write(frametosend, 0, frametosend.Length); catch (Exception ex) / / 向ARM發(fā)送 / / 座號(hào) 2字節(jié) / 命令字加ASC碼 n字節(jié) public void WriteToArm(byte Zuohao, byte minglingandASC) if (connection = Indicator.Connected)/在與ARM保持連接的情況下可寫 byte frame = new byte4+minglingandASC.Length; frame0 = (byte)frame.Length; Array.Copy(Zuohao, 0, frame, 1, 2); Array.Copy(minglingandASC,0,frame,3,minglingandASC.Length); byte temp = 0; foreach (byte item in frame) temp += item; frameframe.Length-1 = (byte)(0 - temp); byte frametosend = PPP.Encode(frame); Console.WriteLine(BitConverter.ToString(frametosend); try stream.Write(frametosend, 0, frametosend.Length); cat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化活動(dòng)策劃方案范文
- 現(xiàn)代企業(yè)如何依賴云平臺(tái)優(yōu)化數(shù)據(jù)審核流程
- 游戲類直播平臺(tái)的用戶行為分析與優(yōu)化策略研究
- 現(xiàn)代舞臺(tái)背景屏技術(shù)革新與發(fā)展
- 環(huán)保材料在辦公環(huán)境建設(shè)中的應(yīng)用
- 生產(chǎn)過程中的危機(jī)應(yīng)對(duì)與風(fēng)險(xiǎn)化解
- 未來十年電動(dòng)汽車市場預(yù)測與展望
- 生態(tài)系統(tǒng)服務(wù)在商業(yè)地產(chǎn)開發(fā)中的應(yīng)用
- 現(xiàn)代網(wǎng)絡(luò)技術(shù)企業(yè)管理的重要支撐
- 18《書湖陰先生壁》說課稿-2024-2025學(xué)年統(tǒng)編版語文六年級(jí)上冊(cè)
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計(jì)規(guī)范
- 養(yǎng)老護(hù)理員培訓(xùn)老年人日常生活照料
- 黑龍江省哈爾濱市八年級(jí)(下)期末化學(xué)試卷
- 各種抽油泵的結(jié)構(gòu)及工作原理幻燈片
- 學(xué)習(xí)弘揚(yáng)雷鋒精神主題班會(huì)PPT雷鋒精神我傳承爭當(dāng)時(shí)代好少年P(guān)PT課件(帶內(nèi)容)
- 社區(qū)獲得性肺炎的護(hù)理查房
- 體育賽事策劃與管理第八章體育賽事的利益相關(guān)者管理課件
- 專題7閱讀理解之文化藝術(shù)類-備戰(zhàn)205高考英語6年真題分項(xiàng)版精解精析原卷
- 《生物資源評(píng)估》剩余產(chǎn)量模型
- 2022年廣東省10月自考藝術(shù)概論00504試題及答案
- 隧道二襯承包合同參考
評(píng)論
0/150
提交評(píng)論