歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

基于51單片機(jī)WiFi智能小車制作.doc

  • 資源ID:6704369       資源大小:4.31MB        全文頁數(shù):20頁
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

基于51單片機(jī)WiFi智能小車制作.doc

基于51單片機(jī)WiFi智能小車制作一、基本原理51單片機(jī)WiFi智能小車是利用PC或手機(jī)作為控制端,通過手機(jī)連接wifi模塊(路由器)以獲得wifi信號,同時(shí)車載也連接wifi模塊以獲得和手機(jī)相同的IP地址,實(shí)現(xiàn)手機(jī)和小車的連接,然后利用PC或手機(jī)上的控制軟件以wifi網(wǎng)絡(luò)信號為載體發(fā)送相關(guān)信號,wifi模塊接收PC或手機(jī)端發(fā)送來的相關(guān)信號并分析轉(zhuǎn)換成TTL電平信號,然后發(fā)送給單片機(jī),單片機(jī)接收到的電平信號處理、分析、計(jì)算,轉(zhuǎn)化成控制指令并發(fā)送給電機(jī)驅(qū)動(dòng)模塊以實(shí)現(xiàn)小車的前進(jìn)、后退、左拐、右拐等功能。二、購買所需材料了解51單片機(jī)WiFi智能小車基本原理后,需要購買所需材料進(jìn)行制作。下面列出所需制作材料:序號材料備注圖例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杜邦線及小配件制作所需工具:序號工具名稱備注圖例1電烙鐵一套包括松香焊錫2螺絲刀平口、十字等3微型電鉆可以自制4手工刀5剪刀6萬用表7熱熔膠槍或快干膠8USB下載器三、開始制作1、制作流程開始制作前,我們首先需要看購買路由器的型號,筆者采用的是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)用程序。對于開發(fā)人員,OpenWrt 是使用框架來構(gòu)建應(yīng)用程序,而無需建立一個(gè)完整的固件來支持;對于用戶來說,這意味著其擁有完全定制的能力,可以用前所未有的方式使用該設(shè)備。百度百科:http:/baike.baidu.com/link?url=18s7ZQFh6grF8LDGfd4LtrUdBXv5GWlDKLrNh8CeK1W0ixQpA9f2FGZuf9ZOtKTlDZOhM1m7YsqlHXe_RNzzp_-第一步:把電腦IP改為192.168.1.xxx第二步:把路由網(wǎng)絡(luò)接口和電腦網(wǎng)卡直接用網(wǎng)線相連第三步:打開路由的控制界面,地址默認(rèn)一般是192.168.1.1(FAST和TP的一樣),用戶名密碼均為admin,自己修改過的用自己修改后的地址第四步:進(jìn)入路由的控制界面,點(diǎn)“系統(tǒng)工具”>>“軟件升級”>>“瀏覽”,選擇下載的固件文件第五步:點(diǎn)擊升級,耐心等待。升級成功后只能用無線和路由器連接。到此,路由器刷固件完成。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ū)⑼顺觥?quot;); 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來的警告信號 status = "有" subindex = 2; break; case NEED_HELP:/從ARM來的求救信號 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); / <summary> / 向ARM發(fā)送 / </summary> / <param name="Zuohao">座號 2字節(jié)</param> / <param name="mingling">命令字 1字節(jié)</param> 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) / <summary> / 向ARM發(fā)送 / </summary> / <param name="Zuohao">座號 2字節(jié)</param> / <param name="mingling">命令字加ASC碼 n字節(jié)</param> 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); catch (Exception ex) 另外數(shù)據(jù)收發(fā)還需要協(xié)議,和嵌入式網(wǎng)關(guān)通信的指令和協(xié)議定制如下:因此數(shù)據(jù)量較少,協(xié)議也就比較簡單,此協(xié)議在發(fā)送接收時(shí)用PPP封裝。顯示部分使用C#編寫的運(yùn)行于Windows .Net Framework 上的窗體應(yīng)用程序,根據(jù)實(shí)際需求,對每個(gè)實(shí)驗(yàn)臺(tái)狀態(tài)的顯示使用ListView控件實(shí)現(xiàn),當(dāng)出現(xiàn)異常情況,或?qū)嶒?yàn)臺(tái)出現(xiàn)警告、求助信號時(shí),ListView的相應(yīng)字段文字會(huì)通過改變顏色來提醒監(jiān)視人員,監(jiān)視人員還可以通過一個(gè)文字發(fā)送窗體來向LED屏發(fā)送要顯示的文字。總之界面清晰直觀,簡便易用。

注意事項(xiàng)

本文(基于51單片機(jī)WiFi智能小車制作.doc)為本站會(huì)員(xin****828)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!