freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arduino單片機(jī)控制的wifi智能小車(參考版)

2025-06-22 13:15本頁面
  

【正文】 最后,感謝所有在相關(guān)領(lǐng)域做出寶貴研究的學(xué)者們,是我學(xué)習(xí)和提升的不竭源泉,還有所有為我論文提出寶貴意見的人們,直言不諱的同學(xué)們。再次,感謝呼倫貝爾學(xué)院良好的教育,培養(yǎng)了我主動學(xué)習(xí)的能力。陶老師誨人不倦的育人精神令人崇敬,令我深感作為一名教師的魅力所在,而且,在指導(dǎo)的過程中,令我明白尊重和傾聽他人意見的重要性,使我及時(shí)改正了自己的錯(cuò)誤。[6]. [M].北京::121124[7]. [M].北京::3032 [8]. (第三版)[M].北京: 機(jī)械工業(yè)出版社2010:5658[9]. 2014年物聯(lián)網(wǎng)產(chǎn)業(yè)鏈現(xiàn)狀分析[EB/OL]. 產(chǎn)業(yè)洞察研究. 2014[20141212]. [10]. 關(guān)于Arduino [EB/OL].開源硬件知識庫. 2011[20141215]. [11]. Arduino Uno[EB/OL] . 開源硬件知識庫. 2011[20141215]. 致謝本次論文設(shè)計(jì)能夠順利的完成。[M].北京::5052.參考文獻(xiàn):[1]. 楊清梅,[M].哈爾濱::4144.在能力上:我通過不斷查閱資料、與師生交流學(xué)習(xí)新知識、在網(wǎng)上查閱相關(guān)資料,然后又將自己沉淀后的知識和經(jīng)驗(yàn)運(yùn)用到實(shí)際設(shè)計(jì)理念中,豐富其功能與質(zhì)量。在知識上:一方面,我系統(tǒng)的總結(jié)了自己的專業(yè)知識,明確了自己今后事業(yè)的發(fā)展方向。要想把事情做好提高效率,這就需要注意學(xué)習(xí)生活工作中做事的細(xì)節(jié),以及對自己知識的擴(kuò)充。但是我還是不知道其中具體的一些細(xì)節(jié)的原理,比如我不知道在路由器中如何使用socket對視頻流進(jìn)行處理以及對單片機(jī)的內(nèi)部結(jié)構(gòu)不是特別了解。特別是自己在路由器方面知識的欠缺,這使得我在小車在起步制作時(shí)路由器部分的處理花費(fèi)了大量的時(shí)間。因此要實(shí)現(xiàn)路由器的串口雙向通信,就得把etc/inittab文件內(nèi)的ttyATH0::askfirst:/bin/ash login這行刪除,禁止通過TTL登錄路由器,而影響數(shù)據(jù)的接收。因此在調(diào)試的過程中我們在啟動項(xiàng)文件中(/etc/)的rc_procd()方法里添加echo “$(basename ${basescript:$initscript})” /dev/ttyATH0 ,然后通過電腦監(jiān)聽路由器串口,重啟路由器我們會發(fā)現(xiàn)軟件的啟動順序,這時(shí)確定dnsmasq在路由器啟動完全啟動后的最后啟動項(xiàng),因此我們要在/ect/()方法中加入:Echo “{s}” /dev/ttyATH0通過上述語句實(shí)現(xiàn)路由器發(fā)送啟動信號給單片機(jī),來控制單片機(jī)的啟動。l 問題1:路由器中調(diào)試中,我們將lua腳本寫入//cgibin目錄下,然后在網(wǎng)頁中進(jìn)行遠(yuǎn)程訪問,但是在訪問的過程中無法顯示內(nèi)容,訪問權(quán)限限制,我們需要通過Putty遠(yuǎn)程連接修改文件訪問權(quán)限chmod +777 lua腳本名,編寫腳本文件是要在文件中加入以下內(nèi)容:!/usr/bin/luaprint [[ContentType: text/plain]]上述內(nèi)容第一行為lua編譯環(huán)境所在位置,print表示lua輸出語句,ContentType: text/plain表示輸出內(nèi)容以文本形式輸出,當(dāng)我們要將串口信息顯示到網(wǎng)頁中的時(shí)候要將plain改為html同時(shí)網(wǎng)頁中的html語句要寫在“[[]]”中。解決中斷引起的干擾問題,如問題1中車速模塊中斷計(jì)數(shù)一樣進(jìn)行2毫秒的定時(shí)中斷來測試前方距離。//清空串口輸入緩沖區(qū)}l 問題4:調(diào)試中發(fā)現(xiàn)當(dāng)小車接收到向前命令以后,小車行駛一段路程以后自動停止,停止的原因是測試到前方距離小于10cm,然而前方并沒有障礙物。代碼結(jié)構(gòu)如下:Webinfo[0]=()。l 問題3:當(dāng)小車在前進(jìn)及打開靈敏開關(guān)時(shí),小車向前或向后有時(shí)會出項(xiàng)一段延遲時(shí)間,通過詳細(xì)的查找引起延遲的原因是,單片機(jī)向路由器發(fā)送數(shù)據(jù),由于路由器ttl會回顯發(fā)來的數(shù)據(jù)給單片機(jī),而單片機(jī)為了讀取成為一個(gè)字符串要有一段延遲等待的時(shí)間,而這段時(shí)間的積累會影響小車正常的讀取數(shù)據(jù)以及控制底層硬件。測試實(shí)驗(yàn),如果拿小車用手摩擦小車的左輪,左輪的轉(zhuǎn)速變慢,在PID比例算式的作用下,右輪電機(jī)的PWM功率值會變小,以使右輪速度也跟著變慢。左右電機(jī)的轉(zhuǎn)速差乘以比例因子1疊加到上一次PID計(jì)算得到的spb,就得到了當(dāng)前右電機(jī)PWM功率值spb。在調(diào)試的過程中左側(cè)電機(jī)的pwm為60右側(cè)的pwm為61時(shí)左右輪速度相同,并且當(dāng)左側(cè)輪胎速度大于右側(cè)輪胎的速度1時(shí)他們的Pwm為60因此可得到簡單的pid算法公式為:spb=(float)spb+(a_velocityb_velocity)。在小車外部中斷電平上升沿計(jì)數(shù)是為了不計(jì)入噪聲干擾脈沖,我們需要設(shè)置第一次中斷與第二次中斷大于5ms計(jì)一次有效數(shù),代碼如下:if(millis()timeA5) /millis()獲取當(dāng)前時(shí)間減timeA上次中斷時(shí)間大于5ms{ a_wheel++。如果把左右電機(jī)中編碼器反饋的轉(zhuǎn)速送入Arduino單片控制器中,計(jì)算機(jī)就會知道小車不能走直線的真正原因,并實(shí)時(shí)計(jì)算出兩輪的轉(zhuǎn)速差,然后可以設(shè)立一個(gè)PID算法,讓轉(zhuǎn)速慢輪子的電機(jī)功率值加大,從而消除車輪的轉(zhuǎn)速差。端口10的pwm我們用來控制小車的行駛速度,所以為了避免定時(shí)器沖突導(dǎo)致燈光無法調(diào)節(jié),在調(diào)試中將控制燈光的端口改為5,解決了PWM無法控制LED燈光的問題。l 問題1: 當(dāng)燈光電路連接到Arduino的11端口時(shí)不能通過pwm進(jìn)行調(diào)光,通過資料我們知道ATmega328p中有三個(gè)計(jì)時(shí)器分別是timer0、timertimer2,一些延時(shí)語句比如delay(), millis() micros() 用的是timer0,但是為了解決timer0因?yàn)檫@些語句造成的影響, timer0在設(shè)計(jì)時(shí)它的引腳的脈沖頻率要比timertimer2要高一些減少影響問題。首先選用單片機(jī)開發(fā)板作為程序調(diào)試的載體,然后在路由器中進(jìn)軟件編程,逐步對各模塊子程序進(jìn)行調(diào)試,然后再將各子程序模塊進(jìn)行有機(jī)組合、聯(lián)調(diào),最終完成整個(gè)系統(tǒng)的軟件調(diào)試。圖54 攝像頭修改電路 軟件設(shè)計(jì)問題及調(diào)試相對于硬件來說軟調(diào)試,軟件調(diào)試顯得很繁瑣,要是配合硬件進(jìn)行合理的測試才能使硬件正常工作。因?yàn)閿z像頭是通過路由器直接提供電源的,并且路由器電源電壓與攝像頭電源電壓需求量相同,當(dāng)攝像頭中存在LED燈電路時(shí)會使攝像頭電源供給不足成花屏問題。由此解決了波形抖動問題。4. 可靠的做法是將一大一小兩個(gè)電容并聯(lián),一般要求相差兩個(gè)數(shù)量級以上,以獲得更大的濾波頻段.在我們的設(shè)計(jì)中由于材料的原因,我們沒有進(jìn)行對電容的嚴(yán)格要求,以及精確的計(jì)算,在測速模塊中我們將數(shù)據(jù)輸出端與GND并聯(lián)接入濾波電容起到濾波的效果,同時(shí)在GND與Vcc之間并聯(lián)接入一個(gè)旁路,旁路從元件或電纜中轉(zhuǎn)移出不想要的共模RF能量。2. 電源濾波中電容對地腳要盡可能靠近地。容量選擇:大電容,負(fù)載越重,吸收電流的能力越強(qiáng),這個(gè)大電容的容量就要越大,小電容,憑經(jīng)驗(yàn),一般104即可。而且經(jīng)過整流橋以后的是脈動直流,波動范圍很大。 測速模塊的調(diào)試及問題解決 當(dāng)測速模塊連接Arduino后并寫入中斷程序后,對小車電平的上升沿進(jìn)行計(jì)數(shù)時(shí)。 硬件設(shè)計(jì)問題及調(diào)試由于設(shè)計(jì)實(shí)物需要連接多個(gè)模塊,裝配工作量大,同時(shí)要通過單片機(jī)程序進(jìn)行控制,所以在電路安裝完成后,首先應(yīng)對系統(tǒng)進(jìn)行整體檢查,確認(rèn)電路無虛焊、短路、斷路等錯(cuò)誤,然后應(yīng)該對電路各功能模塊進(jìn)行分級調(diào)試,逐步實(shí)現(xiàn)系統(tǒng)的整體功能。同時(shí)使用里是通道示波器。其軟件界面如圖52所示。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持805HC1PIC10/12/16/18/24/30/DsPIC3AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。作為一款開放源代碼的軟件,Arduino IDE也是由Java、Processing、 avrgcc等開放源碼的軟件寫成,其另一個(gè)最大特點(diǎn)是跨平臺的兼容性,適用于Windows、Max OS X以及Linux??墒乖O(shè)計(jì)時(shí)間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險(xiǎn)。 系統(tǒng)仿真隨著科技的發(fā)展,“計(jì)算機(jī)仿真技術(shù)”已成為許多設(shè)計(jì)部門重要的前期設(shè)計(jì)手段。Web網(wǎng)頁程序設(shè)計(jì),將各個(gè)操作模塊通過Lua腳本、stty與串口通信進(jìn)行小車的控制,在設(shè)計(jì)中web頁面會根據(jù)頁面大小的不同進(jìn)行自動調(diào)節(jié),如圖46位路由器控制端的流程圖。 程序設(shè)計(jì)及流程圖本次設(shè)計(jì)我們主要是通過路由器來控制wifi小車的,所有我們需要通過編寫web頁面及l(fā)ua腳本來實(shí)現(xiàn)。然后在瀏覽器中輸入:8080/?action=stream就可觀察到當(dāng)期攝像頭的監(jiān)控視屏了。在路由器中為了讓軟件知道我們的硬件設(shè)備以及安裝我們想要的方式去運(yùn)行就要對軟件進(jìn)行詳細(xì)的配置,為了實(shí)現(xiàn)路由器與單片機(jī)的通信,要設(shè)置/etc/:8083:raw:600:/dev/ttyATH0:115200 NONE 1 STOPBIT 8 DATABITS XONXOFF LOCAL RTSCTS banner4其中8083為端口號,/dev/ttyATH0為當(dāng)前電路上的串行接口,115200為通信的波特率,值得注意的是為了實(shí)現(xiàn)兩設(shè)備之間的雙向通信我們必須要設(shè)為115200波特率。最后我們要安裝的是攝像頭的驅(qū)動軟件,用于驅(qū)動攝像頭。Stty軟件的作用是打印或更改terminal(終端)的設(shè)置,在路由器中我們通過其來實(shí)現(xiàn)web頁面與串口軟件及端口經(jīng)行連接。因此在路由器中我們通過lua腳本語言實(shí)現(xiàn)串口軟件與web網(wǎng)頁之間的連接。安裝時(shí)在Putty終端輸入opkg install mjpgstreamer。MJPGstreamer是用于webcam攝像頭采集圖像,把他們以流的形式通過基于IP的網(wǎng)絡(luò)傳輸?shù)綖g覽器如firehox,VLC播放器,Windows的移動設(shè)備或者其他擁有瀏覽器的移動設(shè)備。Ser2net軟件是一款通過Telnet連接實(shí)現(xiàn)串口與tcp之間的數(shù)據(jù)相互轉(zhuǎn)化的軟件,同時(shí)屬于串口與網(wǎng)絡(luò)。然后去OpenWRT官網(wǎng)查找對應(yīng)的安裝源,在將新的軟件源寫入該文件中。因此我們要在路由器上安裝相關(guān)的軟件以及設(shè)計(jì)能夠控制小車的web界面。為保證軟件在定時(shí)中斷里采集其他信號,并且使發(fā)生PWM信號的程序不影響中斷程序的運(yùn)行(如果這些程序所占用時(shí)間過長,有可能會發(fā)生中斷程序還未結(jié)束,下次中斷又到來的后果),所以需要將采集信號的函數(shù)放在長定時(shí)中斷過程中執(zhí)行,也就是說每經(jīng)過兩次中斷執(zhí)行一次這些程序,執(zhí)行的周期還是20ms。具體的設(shè)計(jì)過程,讓舵機(jī)轉(zhuǎn)向左極限的角度,它的正脈沖為2ms,則負(fù)脈沖為20ms2ms=18ms,所以開始時(shí)在控制口發(fā)送高電平,然后設(shè)置定時(shí)器在2ms后發(fā)生中斷,中斷發(fā)生后,在中斷程序里將控制口改為低電平,并將中斷時(shí)間改為18ms,再過18ms進(jìn)入下一次定時(shí)中斷,再將控制口改為高電平,并將定時(shí)器初值改為2ms,等待下次中斷到來,如此往復(fù)實(shí)現(xiàn)PWM信號輸出到舵機(jī)。同時(shí)也可以采用直接控制高低電平產(chǎn)生脈沖來控制舵機(jī)的。如果在指定的時(shí)間內(nèi)無脈沖函數(shù)返回。例如,如果value是HIGH,pulseIn()會等待引腳變?yōu)镠IGH,開始計(jì)時(shí),再等待引腳變?yōu)長OW并停止計(jì)時(shí)。Arduino中使用的函數(shù)及語法如下:pulseIn(pin, value)1000如果我們忽略空氣中溫度因素的話,我們采用時(shí)間差測距法公式如下:s=c小車因?yàn)橄蚯靶旭偹俣忍鞎矚萝?,因此要通過傳感器探測前方障礙物用于進(jìn)行減速,當(dāng)小車距離前方障礙物小于一定距離是小車后退,一段距離然后停止前進(jìn)。緩沖區(qū)實(shí)際上就是在Arduino的RAM上開辟臨時(shí)存儲空間,因此緩沖區(qū)的設(shè)定大小不能超過Arduino本身的RAM大?。挥忠?yàn)槲覀冞€要在RAM上,進(jìn)行其他數(shù)據(jù)的存儲,所以并不能將所有RAM空間都分配作串口緩沖區(qū)。我們可以通過宏定義的方式來增大串口讀寫緩沖區(qū)的空間,Arduino核心庫中串口發(fā)送緩沖區(qū)宏名為SERIAL_TX_BUFFER_SIZE,串口接收緩沖區(qū)宏名為SERIAL_RX_BUFFER_SIZE通過下列方式,可以設(shè)定串口發(fā)送接收緩沖區(qū)各為128個(gè)字節(jié)。 控制小車程序流程圖PC發(fā)送指令給路由器然后由路由器向單片機(jī)發(fā)送控制指令,然后再由單片機(jī)進(jìn)行指令處理,分解再去執(zhí)行,如圖43為控制小車程序流程圖。 在程序中通過測速模塊計(jì)算通過的編碼器碼盤數(shù)產(chǎn)生高低電平,再由單片機(jī)外部中斷判斷測速模塊的高低電平的上升沿計(jì)算通過碼盤孔數(shù),然后由定時(shí)器1秒中斷以及碼盤孔計(jì)算當(dāng)前小車行駛的速度(編碼器為20孔,輪胎半徑6cm),計(jì)算公式為:S=2πR20N247。應(yīng)該聲明一個(gè)變量來在未發(fā)生中斷時(shí)儲存變量。通過外部中斷函數(shù)經(jīng)行測速模塊車輪旋轉(zhuǎn)進(jìn)行計(jì)數(shù),實(shí)現(xiàn)小車的差速控制與小車的速度檢測。根據(jù)命令數(shù)據(jù)發(fā)送的規(guī)律,將命令解碼儲存在相應(yīng)的二維數(shù)組當(dāng)中,方便在主函數(shù)中調(diào)用。軟件總體設(shè)計(jì)及程序流程如下圖41所示通過串口中斷,實(shí)現(xiàn)單片機(jī)和路由器進(jìn)行通訊。智能WIFI小車的軟件編寫主要分為命令接收部分、命令執(zhí)行部分、以及具體的信號的采集和處理,以及回傳收集到的信息。我們的小車控制是通過ATmega328p單片機(jī)控制驅(qū)動電路和給燈光送控制信號,然而這些控制信號的命令又是pc、手機(jī)等終端設(shè)備通過無線路由器串口傳送給單片機(jī)的,所以在程序中我們需要設(shè)計(jì)到串口的使用、定時(shí)器使用、數(shù)字I/O口的使用。因此,軟件是系統(tǒng)的靈魂。硬件平臺結(jié)構(gòu)一旦確定,大的功能框架即形成,軟件在硬件平臺上構(gòu)筑,完成各部分硬件的控制和協(xié)調(diào)工作。對于一款好的智能設(shè)備來說,軟件就是它的靈魂,如果沒有了軟件智能設(shè)備也不在是智能設(shè)備。沒有配備軟件的計(jì)算機(jī)稱為“裸機(jī)”,是沒有多少實(shí)用價(jià)值的。圖321 攝像頭云臺 電源模塊在本
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1