0 前言
??
這兩年開始畢業(yè)設(shè)計(jì)和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點(diǎn),往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長(zhǎng)自己做的項(xiàng)目系統(tǒng)達(dá)不到老師的要求。
為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長(zhǎng)分享優(yōu)質(zhì)畢業(yè)設(shè)計(jì)項(xiàng)目,今天要分享的是
?? 畢業(yè)設(shè)計(jì) stm32智能灌溉系統(tǒng)(源碼+硬件+論文)
??學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分)
- 難度系數(shù):3分
- 工作量:3分
- 創(chuàng)新點(diǎn):4分
?? 項(xiàng)目分享:文章來源:http://www.zghlxwxcb.cn/news/detail-480592.html
https://gitee.com/sinonfin/sharing文章來源地址http://www.zghlxwxcb.cn/news/detail-480592.html
1 主要功能
stm32c8t6智能灌溉系統(tǒng)
1.可以通過OLED顯示檢測(cè)空氣的溫度
2.可以通過OLED顯示土壤的濕度
3.當(dāng)土壤濕度過低時(shí)可以通過水泵能夠抽水進(jìn)行灌溉
4.連接WIFI上云
5.可通過云端顯示實(shí)時(shí)數(shù)據(jù)
6.可通過APP控制水泵開關(guān)和LED燈
使用溫濕度傳感器來檢測(cè)土壤的濕度情況,顯示在OLED顯示屏中。然后根據(jù)土壤濕度情況控制水泵抽水進(jìn)行灌溉,可通過app上的開關(guān)控制水泵的狀態(tài)??赏ㄟ^光敏模塊檢測(cè)光照的強(qiáng)度,當(dāng)光照強(qiáng)度較低時(shí),水泵將自動(dòng)打開。接下來我們進(jìn)行項(xiàng)目演示。首先,我們的設(shè)備已經(jīng)通過WiFi與手機(jī)配對(duì),當(dāng)光線較暗的時(shí)候,可以通過app打開燈光,其次我們還可以通過app來控制水泵的開關(guān)我們還有另外一種打開水泵的方式,當(dāng)光線較暗時(shí),水泵自動(dòng)打開,當(dāng)光線較強(qiáng)時(shí),水泵自動(dòng)關(guān)閉。可通過云端實(shí)時(shí)傳輸現(xiàn)在的空氣濕度和空氣溫度和土壤濕度的值反饋到手機(jī)上進(jìn)行觀測(cè)。
灌溉系統(tǒng)工作時(shí),由濕度傳感器采集土壤里的干濕度信號(hào),檢測(cè)到的濕度信號(hào)通過A/D模塊轉(zhuǎn)換,將標(biāo)準(zhǔn)的電流模擬信號(hào)轉(zhuǎn)換為濕度數(shù)字信號(hào),輸入到可編程控制器。可編程控制器內(nèi)預(yù)先設(shè)定50%-60%RH為標(biāo)準(zhǔn)濕度值,實(shí)際測(cè)得的濕度信號(hào)與50%-60%RH比較,可以分為:在這個(gè)范圍內(nèi),超出這個(gè)范圍,小于這個(gè)范圍三種情況。可編程控制器將控制信號(hào)傳給變頻器,變頻器根據(jù)濕度值,相應(yīng)的調(diào)節(jié)繼電器,繼電器帶動(dòng)水泵從水源抽水,需要灌溉時(shí),水泵就自動(dòng)開啟,通過水泵為噴頭輸水整個(gè)系統(tǒng)協(xié)調(diào)工作,實(shí)現(xiàn)對(duì)灌溉的智能控制。
2 硬件設(shè)計(jì)(原理圖)
3 核心軟件設(shè)計(jì)
程序主流程
關(guān)鍵代碼
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
static uint32_t eventTimeCount; //定時(shí)事件計(jì)數(shù)器
static uint32_t motorTimeCount;//監(jiān)控事件計(jì)數(shù)器
static char ledState; //LED燈狀態(tài)翻轉(zhuǎn)
//tim1負(fù)責(zé)定時(shí)上傳事件
if(htim->Instance == htim1.Instance)
{
eventTimeCount++;
if(eventTimeCount >3000)
{
eventTimeCount = 0;
eventIsRun = 1; //開始執(zhí)行相應(yīng)任務(wù)
}
}
//tim2負(fù)責(zé)澆水時(shí)間管理和液晶屏?xí)r間顯示
if(htim->Instance == htim2.Instance)
{
motorTimeCount++;
if(motorTimeCount >1000)
{
motorTimeCount =0;
//翻轉(zhuǎn)LED燈狀態(tài)
ledState = ~ledState;
if(ledState)
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_SET);
else
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_RESET);
if(flowerFlag)//是否有澆水命令,若有命令,啟動(dòng)澆水
{
start_flower();
flowerCnt++;
}
if(flowerCnt > 4)//澆水時(shí)間到
{
stop_flower();
flowerCnt = 0;
flowerFlag = 0;
}
updateTimeCnt++;
if(updateTimeCnt>10)//超時(shí),則更新液晶屏?xí)r間
{
updateLcdIsRun = 1;
updateTimeCnt=0;
}
}
}
}
4 實(shí)現(xiàn)效果
5 最后
包含內(nèi)容
?? 項(xiàng)目分享:
https://gitee.com/sinonfin/sharing
到了這里,關(guān)于畢業(yè)設(shè)計(jì) stm32智能灌溉系統(tǒng)(源碼+硬件+論文)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!