• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    全自動(dòng)水上垃圾清理系統(tǒng)

    2019-09-07 08:00:34路天天葉宇程趙壯壯阮治綱
    山西電子技術(shù) 2019年4期
    關(guān)鍵詞:船體電量指令

    路天天,葉宇程,劉 巖,趙壯壯,阮治綱,高 爽

    (河南科技大學(xué)信息工程學(xué)院,河南 洛陽(yáng) 471023)

    0 引言

    根據(jù)《2017中國(guó)環(huán)境狀況公報(bào)》顯示:截止2017年年底,全國(guó)廢水排放總量達(dá)735.3億噸,相當(dāng)于一個(gè)青海湖。鑒于當(dāng)前的水環(huán)境所面臨的問(wèn)題,治理已經(jīng)勢(shì)在必行了。目前,小型水域水面漂浮物的清理辦法主要是采用手持式網(wǎng)兜等傳統(tǒng)工具進(jìn)行清除,存在清理不干凈、耗時(shí)長(zhǎng)、效率低、勞動(dòng)強(qiáng)度大等弊端,非常不適合于小型景觀水域、養(yǎng)殖水域和私人水域的使用。鑒于上述情況,本文敘述一種全自動(dòng)水上垃圾清理系統(tǒng),用來(lái)解放勞動(dòng)力,取代手持式網(wǎng)兜,自動(dòng)清除水上垃圾。本系統(tǒng)實(shí)現(xiàn)的主要功能是:水上垃圾清理船自動(dòng)規(guī)劃路徑清理水上垃圾,并把其位置信息上傳到服務(wù)器,手機(jī)APP向服務(wù)器請(qǐng)求船的位置信息并畫(huà)出船的行駛路徑。

    1 總體系統(tǒng)設(shè)計(jì)

    全自動(dòng)水上垃圾清理系統(tǒng)包括船體、服務(wù)器和手機(jī)APP三部分。船體部分的主要功能是:在湖中自動(dòng)收集垃圾并把自己的位置信息、電量信息傳到服務(wù)器中,此外,當(dāng)垃圾箱被裝滿時(shí),船體還可以向管理員報(bào)警。服務(wù)器部分的主要功能是:接收船體發(fā)來(lái)的信息并存儲(chǔ)起來(lái),等待手機(jī)APP取出。手機(jī)APP的主要功能是:從服務(wù)器中取出船體的位置信息和電量,然后經(jīng)過(guò)運(yùn)算顯示出船體在湖中走過(guò)的路徑和船的電量,此外,APP還可以作為遙控器控制船體前后左右移動(dòng),便于回收船體。

    圖1 全自動(dòng)水上垃圾清理系統(tǒng)總體設(shè)計(jì)框圖

    2 船體設(shè)計(jì)

    船體設(shè)計(jì)包括機(jī)械設(shè)計(jì)、硬件電路設(shè)計(jì)和軟件設(shè)計(jì)三部分。

    2.1 船體機(jī)械設(shè)計(jì)

    圖2 船體機(jī)械設(shè)計(jì)

    船體由左船艙、右船艙、垃圾箱、傳送帶、螺旋槳組成。左船艙和右船艙尾部分別有一個(gè)螺旋槳,可用于驅(qū)動(dòng)船體前進(jìn)和左右移動(dòng);左右船體中間有一條傳送帶,傳送帶一端浸入水中,用來(lái)把垃圾傳送到傳送帶另一端的垃圾箱里。

    2.2 船體硬件電路設(shè)計(jì)

    船體硬件電路主要包括STM32F103C8T6單片機(jī)[1]、LM2596穩(wěn)壓電路、超聲波模塊、GPS傳感器、電壓檢測(cè)電路、GSM模塊和光電開(kāi)關(guān)。

    STM32F103C8T6微控制器作為主控制器,它用來(lái)接收GPS傳感器采集到的位置信息和電壓檢測(cè)電路檢測(cè)到的船體電源的電量信息,然后通過(guò)GSM模塊把這些信息上傳到服務(wù)器;此外,用一個(gè)光電開(kāi)關(guān)固定到垃圾箱的頂部,當(dāng)垃圾箱被裝滿時(shí),微控制器通過(guò)GSM模塊向管理員報(bào)警。

    兩個(gè)超聲波模塊分別安裝在左右船艙的頭部,用來(lái)檢測(cè)前方是否有障礙物。

    LM2596穩(wěn)壓電路用來(lái)把24V電源降到3.3V給單片機(jī)供電。

    電壓檢測(cè)電路由一個(gè)分壓電路組成,分壓電路把電源電壓的范圍轉(zhuǎn)換到0-3.3V的范圍內(nèi)便于數(shù)模轉(zhuǎn)換模塊測(cè)量電源電量。

    圖3 分壓電路

    2.3 船體軟件設(shè)計(jì)

    圖4 船體軟件流程圖

    船體軟件流程圖如圖4所示。程序初始化之后,執(zhí)行傳感器信息采集程序,接收各個(gè)傳感器采集到的信息,然后把傳感器信息打包,打包格式為:“經(jīng)度 緯度 電量信息 ”;然后執(zhí)行與服務(wù)器交互程序把打包好的信息發(fā)送到服務(wù)器端,然后檢測(cè)服務(wù)器是否發(fā)來(lái)指令;如果發(fā)來(lái)指令,就執(zhí)行手動(dòng)控制程序,通過(guò)手機(jī)APP控制船體前后左右移動(dòng);如果沒(méi)有發(fā)來(lái)指令,就執(zhí)行自動(dòng)控制程序,船體通過(guò)傳感器得到的信息判斷怎么移動(dòng)。

    傳感器信息采集程序先通過(guò)串口通信接收GPS模塊的信息,通過(guò)單片機(jī)的ADDA采集電壓檢測(cè)電路的電量信息,通過(guò)中斷函數(shù)接收超聲波模塊的測(cè)距信息,用單片機(jī)的普通IO口檢測(cè)光電開(kāi)關(guān)輸出端的高低電平信息,然后把這些信息存儲(chǔ)下來(lái)并打包。

    與服務(wù)器交互程序主要通過(guò)串口通信向GSM模塊發(fā)送AT指令來(lái)實(shí)現(xiàn)向服務(wù)器發(fā)送和接收信息。單片機(jī)通過(guò)AT指令把打包好的數(shù)據(jù)發(fā)給服務(wù)器,然后通過(guò)串口中斷函數(shù)檢測(cè)服務(wù)器是否發(fā)來(lái)指令。

    接收到服務(wù)器的指令后,手動(dòng)控制程序根據(jù)指令控制單片機(jī)輸出相應(yīng)的PWM波形控制兩個(gè)螺旋槳的轉(zhuǎn)速達(dá)到船體前后左右移動(dòng)的目的。

    如果沒(méi)有接收到服務(wù)器的指令,自動(dòng)控制程序根據(jù)超聲波的距離信息判斷前方是否有障礙物(通過(guò)設(shè)定閾值實(shí)現(xiàn),當(dāng)距離信息大于閾值時(shí),前方無(wú)障礙物;否則前方有障礙物),如果沒(méi)有障礙物,就控制單片機(jī)輸出相應(yīng)的PWM前進(jìn);如果有障礙物,根據(jù)上次的轉(zhuǎn)向信息這次做出相反的轉(zhuǎn)向操作并記錄轉(zhuǎn)向信息(如果上次向左轉(zhuǎn),這次就向右轉(zhuǎn),這樣就不會(huì)原地轉(zhuǎn)圈了)。

    3 服務(wù)器設(shè)計(jì)

    本系統(tǒng)服務(wù)器架構(gòu)如圖5所示,船體和APP可以通過(guò)TCP/IP協(xié)議[2]與服務(wù)器建立連接并通信。

    當(dāng)船體與服務(wù)器建立連接后,服務(wù)器執(zhí)行與船體交互程序,首先檢測(cè)船體是否發(fā)來(lái)消息,如果有消息,就通過(guò)JAVA中的JDBC庫(kù)[3]把消息存儲(chǔ)到MYSQL服務(wù)器[4]中;否則就檢測(cè)與APP交互程序是否發(fā)來(lái)控制船體的指令,如果有指令,就把指令通過(guò)TCP/IP協(xié)議發(fā)送給船體;如果沒(méi)有,就繼續(xù)執(zhí)行上述操作直到船體斷開(kāi)連接;與船體斷開(kāi)連接后該程序被終止,等待下次船體發(fā)來(lái)連接重新創(chuàng)建該程序。

    當(dāng)APP與服務(wù)器建立連接后,服務(wù)器執(zhí)行與APP交互程序,此時(shí),服務(wù)器就通過(guò)JDBC庫(kù)把數(shù)據(jù)庫(kù)中的數(shù)據(jù)全部提取出來(lái),然后打包發(fā)給手機(jī)APP。打包格式和單片機(jī)數(shù)據(jù)打包格式相同;然后檢測(cè)APP是否發(fā)來(lái)指令,如果收到指令,就把指令轉(zhuǎn)發(fā)給與船體交互程序;否則,就繼續(xù)執(zhí)行上述操作。直到APP斷開(kāi)連接,連接斷開(kāi)后此程序也被殺死,直到下次APP發(fā)來(lái)連接重新創(chuàng)建該程序。上述兩個(gè)程序都是以進(jìn)程的形式運(yùn)行在linux系統(tǒng)之下,進(jìn)程的終止與創(chuàng)建都是linux系統(tǒng)執(zhí)行的。

    圖5 服務(wù)器架構(gòu)

    4 手機(jī)APP設(shè)計(jì)

    APP設(shè)計(jì)主要包括界面和數(shù)據(jù)處理兩部分[5]。

    界面主要顯示地圖和船走過(guò)的路徑(主要通過(guò)百度地圖API實(shí)現(xiàn)),然后在界面的右上角顯示船體的電量。界面的右下角有虛擬遙桿,用來(lái)控制船體移動(dòng)。

    數(shù)據(jù)處理包括網(wǎng)絡(luò)編程、船體路徑顯示程序、船體電量顯示程序和遙控船體程序。

    網(wǎng)絡(luò)編程通過(guò)TCP/IP協(xié)議和服務(wù)器建立連接,然后接收服務(wù)器的消息存儲(chǔ)到手機(jī)內(nèi)存中,再把遙控船體程序輸出的指令發(fā)送給服務(wù)器。

    船體路徑顯示程序把存儲(chǔ)到手機(jī)內(nèi)存中的經(jīng)緯度信息取出來(lái)然后用百度地圖API把定位點(diǎn)顯示到地圖界面,如果經(jīng)緯度信息更新了繼續(xù)取出來(lái),然后顯示到地圖界面,并把所有的經(jīng)緯度坐標(biāo)用android庫(kù)中的畫(huà)線函數(shù)連接起來(lái),這就實(shí)現(xiàn)了顯示船體走過(guò)的路徑的功能。

    船體電量顯示程序直接把手機(jī)內(nèi)存中的船體電量信息取出來(lái)顯示到界面的右上角,電量信息更新后就把最新的電量信息顯示到界面右上角。

    遙控船體程序把虛擬搖桿的信息作為遙控船體的指令輸出給網(wǎng)絡(luò)編程程序。

    5 結(jié)束語(yǔ)

    本文闡述的全自動(dòng)水上垃圾清理系統(tǒng)實(shí)現(xiàn)了自動(dòng)避障,自動(dòng)清理垃圾,并在手機(jī)APP上實(shí)時(shí)顯示船體電量和坐標(biāo)的功能,還實(shí)現(xiàn)了通過(guò)手機(jī)手動(dòng)控制船體功能;并且有實(shí)現(xiàn)原理簡(jiǎn)單,制作成本低廉,可批量生產(chǎn)的特點(diǎn)。本系統(tǒng)可取代傳統(tǒng)的人工清理水上垃圾方法,解放了勞動(dòng)力。

    猜你喜歡
    船體電量指令
    聽(tīng)我指令:大催眠術(shù)
    船體行駛過(guò)程中的壓力監(jiān)測(cè)方法
    電量越低越透明的手機(jī)
    ARINC661顯控指令快速驗(yàn)證方法
    LED照明產(chǎn)品歐盟ErP指令要求解讀
    四川2018年7月轉(zhuǎn)讓交易結(jié)果:申報(bào)轉(zhuǎn)讓電量11.515 63億千瓦時(shí)
    電量隔離傳感器測(cè)試儀的研制
    焊接殘余應(yīng)力對(duì)船體結(jié)構(gòu)疲勞強(qiáng)度的影響分析
    焊接(2015年9期)2015-07-18 11:03:51
    赴美軍“仁慈”號(hào)醫(yī)院船駐船體會(huì)
    水下爆炸氣泡作用下船體總縱強(qiáng)度估算方法
    嘉祥县| 霍州市| 格尔木市| 远安县| 西丰县| 侯马市| 桦南县| 武山县| 南木林县| 黑山县| 青龙| 武平县| 贺兰县| 怀宁县| 容城县| 汉阴县| 郯城县| 临夏县| 扶沟县| 海城市| 新安县| 武平县| 绥化市| 琼结县| 宁都县| 锡林浩特市| 甘南县| 伊金霍洛旗| 罗源县| 木兰县| 通河县| 德安县| 合山市| 繁昌县| 左云县| 鄂尔多斯市| 泗洪县| 仙居县| 玉环县| 通渭县| 南宫市|