智慧農(nóng)業(yè)大棚系統(tǒng)設(shè)計_第1頁
智慧農(nóng)業(yè)大棚系統(tǒng)設(shè)計_第2頁
智慧農(nóng)業(yè)大棚系統(tǒng)設(shè)計_第3頁
智慧農(nóng)業(yè)大棚系統(tǒng)設(shè)計_第4頁
智慧農(nóng)業(yè)大棚系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

從天空俯瞰荷蘭,你會發(fā)覺奇跡般景觀——地面被一塊塊不一樣田地拼湊著,因為荷蘭農(nóng)業(yè)標(biāo)準,其中大多數(shù)田地都非常小,而且還會被喧鬧城市與郊區(qū)分割開。在荷蘭關(guān)鍵農(nóng)業(yè)種植地,摩天大樓和制造業(yè)工廠附近,就是馬鈴薯地、蔬菜大棚和豬舍。可以說,荷蘭超出二分之一國土都被用于了農(nóng)業(yè)與園藝。當(dāng)然,最顯著就是蔬菜大棚建筑群,有大棚建筑群占地面積高達175公頃(2625畝)。他們就像巨型鏡子一樣蔓延在荷蘭國土上,在陽光照耀下閃閃發(fā)光,到了夜晚則會從內(nèi)部發(fā)出光芒。目錄TOC\o"1-3"\h\u94951需求分析說明 179021.1設(shè)計背景 1221501.2組成部分 1124851.3功效需求 135432概要設(shè)計說明 294392.1各模塊功效描述 2163822.2模塊調(diào)用圖 2197582.3系統(tǒng)執(zhí)行流程圖 3195563詳細設(shè)計說明 5212803.1溫濕亮度檢測模塊 519903.2棚頂異物檢測模塊 6198313.3危險區(qū)域保護模塊 6222523.4防盜監(jiān)控模塊 7232023.5蓄水罐液面高度監(jiān)測模塊 882343.6火災(zāi)監(jiān)控模塊 827603.7串口控制模塊 9209313.8燈光控制模塊 10325103.9遮陽網(wǎng)控制模塊 14278283.10澆灌模塊 1539874調(diào)試分析 17159714.1終端節(jié)點與協(xié)調(diào)器之間通信測試 1764844.2協(xié)調(diào)器與開發(fā)板之間通信測試 1823835用戶使用說明 19210326課程設(shè)計總結(jié) 191需求分析說明1.1設(shè)計背景智能化控制系統(tǒng)應(yīng)用到大棚種植上,利用最先進生物模擬技術(shù),模擬出最適合棚內(nèi)植物生長環(huán)境,采取溫度、濕度、CO2、光照度傳感器等感知大棚各項環(huán)境指標(biāo),并經(jīng)過微機進行數(shù)據(jù)分析,由微機對棚內(nèi)水簾、風(fēng)機、遮陽板等設(shè)施實施監(jiān)控,從而改變大棚內(nèi)部生物生長環(huán)境。智能大棚是自動化控制程序用于在溫室大棚智能控制結(jié)果:比較人工控制來說,智能控制最大好處就是能夠相對恒定控制大棚內(nèi)部環(huán)境,對于環(huán)境要求比較高植物來說,更能防止因為人為原因而造成生產(chǎn)損失。相對生產(chǎn)來說,將智能化控制系統(tǒng)應(yīng)用到大棚生產(chǎn)以后,產(chǎn)量與質(zhì)量比人工控制大棚都有極大提升,對于不一樣種植品種而言,提升產(chǎn)量與質(zhì)量相對不一樣,對于檔次較高經(jīng)濟作物來說,生產(chǎn)效率能夠提升30%以上。相對運行成原來核實,對于有一定規(guī)模種植企業(yè)來說,極大降低了勞動力成本,設(shè)備投入與運行,能夠完全由節(jié)約下來勞動力成本中核實出來,使用時間越長,光節(jié)約勞動力成本就是一筆巨大利潤。1.2組成部分當(dāng)代化經(jīng)濟快速發(fā)展,促使了人們對機械智能化強烈認知。當(dāng)代化智能溫室也稱作自動化溫室,是指配置了由計算機控制可移動天窗、遮陽系統(tǒng)、保溫、濕窗簾/風(fēng)扇降溫系統(tǒng)、噴滴灌系統(tǒng)或滴灌系統(tǒng)、移動苗床等自動化設(shè)施,基于農(nóng)業(yè)溫室環(huán)境高科技“智能”溫室。智能溫室控制通常由信號采集系統(tǒng)、中心計算機、控制系統(tǒng)三大部分組成。1.3功效需求對大棚內(nèi)溫度、濕度、光照情況等基本信息采集并顯示。實現(xiàn)澆灌遠程化、自動化,大大節(jié)約人力成本。對大棚整體結(jié)構(gòu)情況監(jiān)測、火災(zāi)等突發(fā)事件檢測并發(fā)出警報。實現(xiàn)大棚內(nèi)燈等基本電器遠程化、自動化控制,使系統(tǒng)愈加智能,用戶體驗感愈加好。實現(xiàn)遮陽網(wǎng)等蔬菜保護機制遠程化、自動化控制。(6)對于監(jiān)測到大棚內(nèi)各種信息輸出到客戶端顯示器上。2概要設(shè)計說明2.1各模塊功效描述主函數(shù)模塊:初始化系統(tǒng)界面,調(diào)用各個模塊實現(xiàn)各種功效。協(xié)調(diào)器模塊:接收各個節(jié)點發(fā)送數(shù)據(jù)并經(jīng)過串口進行轉(zhuǎn)發(fā)到客戶端,經(jīng)過串口接收客戶端發(fā)送指令并轉(zhuǎn)發(fā)給各個節(jié)點。溫、濕、亮度監(jiān)測模塊:使用溫濕度光電傳感模塊對智慧農(nóng)業(yè)大棚內(nèi)溫度、濕度、亮度進行監(jiān)測并實時顯示到控制系統(tǒng)界面上。棚頂異物監(jiān)測模塊:使用震動傳感器模塊對智慧農(nóng)業(yè)大棚棚頂進行實時監(jiān)測并實時顯示到控制系統(tǒng)界面上。危險區(qū)域保護模塊:使用觸摸傳感器模塊對存放藥品等危險區(qū)域、倉庫進行監(jiān)測,一旦監(jiān)測到有些人觸摸門把手,立刻在控制系統(tǒng)界面上給出警報。防盜監(jiān)控模塊:使用紅外熱釋電傳感器模塊對智慧農(nóng)業(yè)大棚內(nèi)進行實時監(jiān)測,有些人進入,控制系統(tǒng)界面立刻顯示警報。蓄水罐液面高度監(jiān)測模塊:使用超聲波測距模塊對智慧農(nóng)業(yè)大棚蓄水罐中水剩下量進行監(jiān)測,實時顯示在控制系統(tǒng)界面上?;馂?zāi)監(jiān)控模塊:使用煙霧傳感器模塊對智慧農(nóng)業(yè)大棚內(nèi)進行實時監(jiān)測,一旦檢測到煙霧,控制系統(tǒng)界面上立刻給出警報。串口控制模塊:控制COM1串口開啟和關(guān)閉。遮陽網(wǎng)控制模塊:使用電機控制模塊實現(xiàn)智慧農(nóng)業(yè)大棚遮陽網(wǎng)收起、放下、緊急停頓功效。澆灌模塊:使用繼電器控制模塊實現(xiàn)開始智慧農(nóng)業(yè)大棚開始澆灌和停頓澆灌功效。燈光控制模塊:使用電機控制模塊燈光部分實現(xiàn)對智慧農(nóng)業(yè)大棚A、B、C、D四個區(qū)燈光控制。2.2模塊調(diào)用圖圖1.1模塊調(diào)用圖2.3系統(tǒng)執(zhí)行流程圖圖1.2系統(tǒng)執(zhí)行流程圖3詳細設(shè)計說明3.1溫濕亮度檢測模塊/*mainwindow.c*/voidMainWindow::updateTempHumiLig()//溫濕亮度{ui->lcd_temp->display(temp_humi_light->getTemperature());ui->lcd_humi->display(temp_humi_light->getHumidity());ui->lcd_lig->display(QString::number(temp_humi_light->getLight(),'f',1));}voidMainWindow::processMsgFromSerial(QByteArraymsg)//協(xié)調(diào)器消息解析{if(msg.length()<6)return;//溫濕亮度模塊if(msg[3]==0x02&&msg[4]==0x01){temp_humi_light->setValue(msg);updateTempHumiLig();}}/*temp_humi_light*/voidTemp_Humi_Light::setValue(QByteArray&byte){unsignedcharadc_value[2];temperature=(byte[5]<<8)+byte[6];humidity=(byte[7]<<8)+byte[8];adc_value[0]=byte[10];adc_value[1]=byte[9];adc_value[0]=adc_value[0]>>2;light=(adc_value[1]*256+adc_value[0])*3.3/8192;light=light/4;light=light*913;}使用溫濕度光電傳感模塊對智慧農(nóng)業(yè)大棚內(nèi)溫度、濕度、亮度進行實時監(jiān)測,溫濕度光電傳感模塊把監(jiān)測信息發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器把信息經(jīng)過串口發(fā)送到運行著智慧農(nóng)業(yè)大棚監(jiān)控系統(tǒng)開發(fā)板,監(jiān)控系統(tǒng)voidMainWindow::processMsgFromSerial(QByteArraymsg)對接收到信息進行解析并實時顯示在監(jiān)控系統(tǒng)界面上。3.2棚頂異物檢測模塊/*mainwindow.c*///振動事件elseif(msg[3]==0x03&&msg[4]==0x01){if(msg[5]==0x01){shake->setState(1);ui->label_shake->setPalette(pe_red);ui->label_shake->setText("棚頂有異物");}elseif(msg[5]==0x00){shake->setState(0);ui->label_shake->setPalette(pe_black);ui->label_shake->setText("棚頂安全");}}使用震動傳感??鞂χ腔坜r(nóng)業(yè)大棚棚頂進行異物檢測,震動傳感模塊不停向協(xié)調(diào)器發(fā)送消息,協(xié)調(diào)器經(jīng)過串口向運行著智慧農(nóng)業(yè)大棚監(jiān)控系統(tǒng)開發(fā)板發(fā)送消息,監(jiān)控系統(tǒng)對消息進行解析。未檢測到震動,在監(jiān)控系統(tǒng)界面上顯示棚頂安全;檢測到震動,在監(jiān)控系統(tǒng)界面上顯示棚頂有異物。3.3危險區(qū)域保護模塊/*mainwindow.c*///觸摸模塊elseif(msg[3]==0x07&&msg[4]==0x01){if(msg[5]==0x01){touch->setState(1);ui->label_touch->setPalette(pe_red);ui->label_touch->setText("有些人進入危險區(qū)域");}elseif(msg[5]==0x00){touch->setState(0);ui->label_touch->setPalette(pe_black);ui->label_touch->setText("無人進入危險區(qū)域");}}使用觸摸傳感模塊對存放藥品等危險房間進行保護,觸摸模塊可安裝在房間門把手上。一旦有些人觸碰該模塊,監(jiān)控系統(tǒng)會立刻從協(xié)調(diào)器發(fā)送消息中解析出,并顯示“有些人進入危險區(qū)域”在監(jiān)控系統(tǒng)界面上;沒有些人觸碰該模塊,監(jiān)控系統(tǒng)界面上顯示“無人進入危險區(qū)域”。3.4防盜監(jiān)控模塊/*mainwindow.c*///熱釋紅外傳感模塊elseif(msg[3]==0x05&&msg[4]==0x01){if(msg[5]==0x01){infray->setState(1);ui->label_inf_ray->setPalette(pe_red);ui->label_inf_ray->setText("違法者進入");}elseif(msg[5]==0x00){infray->setState(0);ui->label_inf_ray->setPalette(pe_black);ui->label_inf_ray->setText("安全");}}使用熱釋紅外傳感模塊對智慧農(nóng)業(yè)大棚進行防盜監(jiān)控,熱釋紅外傳感模塊經(jīng)過協(xié)調(diào)器不停向智慧農(nóng)業(yè)大棚監(jiān)控系統(tǒng)發(fā)送消息,當(dāng)監(jiān)測到有些人進入大棚時,監(jiān)控系統(tǒng)界面上顯示“違法者進入”;沒有檢測到周圍有些人時,監(jiān)控系統(tǒng)界面上顯示“安全”。3.5蓄水罐液面高度監(jiān)測模塊/*mainwindow.c*///超聲波測距模塊elseif(msg[3]==0x08&&msg[4]==0x01){intlen=1000-msg[5]*256+msg[6];//應(yīng)用于液面檢測ui->label_ultra->setText(QString::number(len));ultra->setState(len);}emitaddLog(msg.toHex());使用超聲波測距模塊對智慧農(nóng)業(yè)大棚蓄水罐液面高度進行監(jiān)測,假定蓄水罐高度1000mm(10m),液面高度即為1000mm減去安裝在蓄水罐頂部超聲波測距模塊測出距離,并實時顯示在監(jiān)控系統(tǒng)界面上。3.6火災(zāi)監(jiān)控模塊/*mainwindow.c*///煙霧模塊elseif(msg[3]==0x04&&msg[4]==0x01){if(msg[5]==0x01){smoke->setState(1);ui->label_fire->setPalette(pe_red);ui->label_fire->setText("發(fā)生火災(zāi)");}elseif(msg[5]==0x00){smoke->setState(0);ui->label_fire->setPalette(pe_black);ui->label_fire->setText("沒有火災(zāi)");}}使用煙霧模塊對智慧農(nóng)業(yè)大棚火災(zāi)情況進行監(jiān)測,并經(jīng)過協(xié)調(diào)器向智慧農(nóng)業(yè)大棚監(jiān)控系統(tǒng)發(fā)送消息。沒有檢測到煙霧時,監(jiān)控系統(tǒng)界面上顯示“沒有火災(zāi)”;當(dāng)檢測到煙霧時,監(jiān)控系統(tǒng)界面上顯示“發(fā)生火災(zāi)”。3.7串口控制模塊/*mainwindow.c*/voidMainWindow::changeSerial(intstate)//串口打開關(guān)閉操作{//對傳入?yún)?shù)取反操作if(1==state){if(serial_server->closeCom()){ui->btn_serial->setText("打開");ui->btn_serial->setStyleSheet(BACKGROUND_COLOR_WHITE);emitaddLog("closesuccess");}elseemitaddLog("warning!!closefailed");}elseif(0==state){if(serial_server->openCom()){ui->btn_serial->setText("關(guān)閉");ui->btn_serial->setStyleSheet(BACKGROUND_COLOR_GREEN);emitaddLog("opensuccess");}elseemitaddLog("warning!!openfailed");}}控制協(xié)調(diào)器與運行智慧農(nóng)業(yè)大棚監(jiān)控系統(tǒng)間通信,只有在打開串口狀態(tài)下,用戶才能夠經(jīng)過監(jiān)控系統(tǒng)控制各個模塊。3.8燈光控制模塊/*mainwindow.c*/voidMainWindow::on_btn_light_1_clicked()//A區(qū)燈光打開{if(-1==serial_server->writeToSerial(Motor::MSG_LIGHT_AON)){emitaddLog("warning!!lightAonfailed");return;}ui->btn_light_1->setStyleSheet(BACKGROUND_COLOR_GREEN);emitaddLog("lightAonsuccess");lighta=1;}voidMainWindow::on_btn_light_5_clicked()//A區(qū)燈光關(guān)閉{if(lighta=0){emitaddLog("warning!!lightAoffalready");return;}if(-1==serial_server->writeToSerial(Motor::MSG_LIGHT_AOFF)){emitaddLog("warning!!lightAofffailed");return;}ui->btn_light_1->setStyleSheet(BACKGROUND_COLOR_GREEN);emitaddLog("lightAoffsuccess");lighta=0;}voidMainWindow::on_btn_light_2_clicked()//B區(qū)燈打開{if(-1==serial_server->writeToSerial(Motor::MSG_LIGHT_BON)){emitaddLog("warning!!lightBonfailed");return;}ui->btn_light_2->setStyleSheet(BACKGROUND_COLOR_GREEN);emitaddLog("lightBonsuccess");lightb=1;}voidMainWindow::on_btn_light_6_clicked()//B區(qū)燈關(guān)閉{if(lightb=0){emitaddLog("warning!!lightBoffalready");return;}if(-1==serial_server->writeToSerial(Motor::MSG_LIGHT_BOFF)){emitaddLog("warning!!lightBofffailed");return;}ui->btn_light_6->setStyleSheet(BACKGROUND_COLOR_GREEN);emitaddLog("lightBoffsuccess");lightb=0;}voidMainWindow::on_btn_light_3_clicked()//c區(qū)燈打開{if(-1==serial_server->writeToSerial(Motor::MSG_LIGHT_CON)){emitaddLog("warning!!lightConfailed");return;}ui->btn_light_3->setStyleSheet(BACKGROUND_COLOR_GREEN);emitaddLog("lightConsuccess");lightc=1;}voidMainWindow::on_btn_light_7_clicked()//c區(qū)燈關(guān)閉{if(lightc=0){emitaddLog("warning!!lightCoffalready");return;}if(-1==serial_server->writeToSerial(Motor::MSG_LIGHT_COFF)){emitaddLog("warning!!lightCofffailed");return;}ui->btn_light_7->setStyleSheet(BACKGROUND_COLOR_GREEN);emitaddLog("lightCoffsuccess");lightc=0;}voidMainWindow::on_btn_light_4_clicked()//D區(qū)燈打開{if(-1==serial_server->writeToSerial(Motor::MSG_LIGHT_DON)){emitaddLog("warning!!lightDonfailed");return;}ui->btn_light_4->setStyleSheet(BACKGROUND_COLOR_GREEN);emitaddLog("lightDonsuccess");lightc=1;}voidMainWindow::on_btn_light_8_clicked()//D區(qū)燈關(guān)閉{if(lightd=0){emitaddLog("warning!!lightDoffalready");return;}if(-1==serial_server->writeToSerial(Motor::MSG_LIGHT_DOFF)){emitaddLog("warning!!lightDofffailed");return;}ui->btn_light_8->setStyleSheet(BACKGROUND_COLOR_GREEN);emitaddLog("lightDoffsuccess");lightd=0;}voidMainWindow::on_btn_light_9_clicked()//一鍵打開{on_btn_light_1_clicked();on_btn_light_2_clicked();on_btn_light_3_clicked();on_btn_light_4_clicked();}voidMainWindow::on_btn_light_10_clicked()//一鍵關(guān)閉{on_btn_light_5_clicked();on_btn_light_6_clicked();on_btn_light_7_clicked();on_btn_light_8_clicked();}3.9遮陽網(wǎng)控制模塊/*mainwindow.c*/voidMainWindow::changeMotor(intstate){if(0==state)//電機停頓{if(-1==serial_server->writeToSerial(Motor::MSG_MOTOR_STOP)){emitaddLog("warning!!emergencystopfailed");return;}motor->setState(0);ui->btn_motor_stop->setStyleSheet(BACKGROUND_COLOR_GREEN);ui->btn_motor_b->setStyleSheet(BACKGROUND_COLOR_WHITE);ui->btn_motor_f->setStyleSheet(BACKGROUND_COLOR_WHITE);emitaddLog("emergencystopsuccess");}elseif(1==state)//電機正轉(zhuǎn){if(-1==serial_server->writeToSerial(Motor::MSG_MOTOR_FORE)){emitaddLog("warning!!lightcoverpackupfailed");return;}motor->setState(1);ui->btn_motor_f->setStyleSheet(BACKGROUND_COLOR_GREEN);ui->btn_motor_b->setStyleSheet(BACKGROUND_COLOR_WHITE);ui->btn_motor_stop->setStyleSheet(BACKGROUND_COLOR_WHITE);emitaddLog("lightcoverpackupsuccess");}elseif(2==state)//電機反轉(zhuǎn){if(-1==serial_server->writeToSerial(Motor::MSG_MOTOR_BACK)){emitaddLog("warning!!lightcoverputdownfailed");return;}motor->setState(2);ui->btn_motor_b->setStyleSheet(BACKGROUND_COLOR_GREEN);ui->btn_motor_f->setStyleSheet(BACKGROUND_COLOR_WHITE);ui->btn_motor_stop->setStyleSheet(BACKGROUND_COLOR_WHITE);emitaddLog("lightcoverputdownsuccess");}}使用電機控制模塊燈光部分對智慧農(nóng)業(yè)大棚A、B、C、D四個區(qū)進行燈光控制,用戶在智慧農(nóng)業(yè)大棚監(jiān)控系統(tǒng)界面上燈光控制區(qū)經(jīng)過點擊“開啟”、“關(guān)閉”等按鈕發(fā)送控制指令,指令經(jīng)過串口發(fā)送到協(xié)調(diào)器并由協(xié)調(diào)器進行廣播。添加“一鍵開燈”、“一件關(guān)燈”按鈕。3.10澆灌模塊/*mainwindow.c*/voidMainWindow::changeRelay(intstate)//繼電器模塊操作{//對傳入?yún)?shù)取反操作if(1==state){if(-1==serial_server->writeToSerial(Relays::MSG_RELAY_CLOSE)){emitaddLog("warning!!stopirrigatefailed");return;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論