在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

聚豐項(xiàng)目 > 基于FreeRTOS嵌入式系統(tǒng)的智能盆栽系統(tǒng)設(shè)計(jì)

基于FreeRTOS嵌入式系統(tǒng)的智能盆栽系統(tǒng)設(shè)計(jì)

本設(shè)計(jì)以基于FreeRTOS嵌入式操作系統(tǒng)的智能盆栽系統(tǒng)為對(duì)象,擬設(shè)計(jì)以stm32單片機(jī)為控制核心,采用IDT FS2012流量傳感器,通過使用FreeRTOS系統(tǒng)的創(chuàng)建任務(wù)、消息隊(duì)列、二值信號(hào)量、軟件定時(shí)器、低功耗模式等API函數(shù)實(shí)現(xiàn)智能盆栽系統(tǒng)的功能設(shè)定。主要實(shí)現(xiàn)的功能有:定時(shí)檢測(cè)土壤濕度值和供電電池電量值,并具有低壓報(bào)警功能,智能進(jìn)入低功耗模式,可實(shí)現(xiàn)較為精確的定時(shí)或定量澆灌,并在OLED 屏幕上顯示系統(tǒng)的各狀態(tài)信息。

墨麟x 墨麟x

分享
1 喜歡這個(gè)項(xiàng)目
團(tuán)隊(duì)介紹

墨麟x 墨麟x

團(tuán)隊(duì)成員

王曉 學(xué)生

分享
項(xiàng)目簡(jiǎn)介
本設(shè)計(jì)以基于FreeRTOS嵌入式操作系統(tǒng)的智能盆栽系統(tǒng)為對(duì)象,擬設(shè)計(jì)以stm32單片機(jī)為控制核心,采用IDT FS2012流量傳感器,通過使用FreeRTOS系統(tǒng)的創(chuàng)建任務(wù)、消息隊(duì)列、二值信號(hào)量、軟件定時(shí)器、低功耗模式等API函數(shù)實(shí)現(xiàn)智能盆栽系統(tǒng)的功能設(shè)定。主要實(shí)現(xiàn)的功能有:定時(shí)檢測(cè)土壤濕度值和供電電池電量值,并具有低壓報(bào)警功能,智能進(jìn)入低功耗模式,可實(shí)現(xiàn)較為精確的定時(shí)或定量澆灌,并在OLED 屏幕上顯示系統(tǒng)的各狀態(tài)信息。
硬件說明

本設(shè)計(jì)共分為五個(gè)模塊,分別為電源供電模塊,土壤濕度和電池電量采集模塊,澆灌模塊,數(shù)據(jù)處理與顯示模塊,低壓報(bào)警模塊。

1、電源供電模塊:將3.7v鋰電池的供電電壓采用先升壓后降壓的策略為整個(gè)系統(tǒng)供電,因?yàn)殇囯姵氐妮敵鲭妷弘娏骺偸遣环€(wěn)定的,所以使用DM13升壓模塊將電壓升到5v,然后使用DM07降壓模塊將5v降壓到3.3v。其中5v是給FS2012流量傳感器供電,3.3v給其余的模塊供電。


2、土壤濕度和電池電量采集模塊:使用電容式或電阻式的土壤濕度傳感器,輸出電壓模擬信號(hào)供單片機(jī)獲得土壤濕度信息,使用兩個(gè)100k的電阻串聯(lián)將鋰電池電壓分壓到stm32單片機(jī)ADC能采集的范圍內(nèi),然后使用算法計(jì)算鋰電池的電量值。給系統(tǒng)提供智能澆灌和低壓報(bào)警的前提條件。


3、智能澆灌模塊:此部分分別由電機(jī)驅(qū)動(dòng)、供水水泵、FS2012流量傳感器組成,單片機(jī)通過輸出PWM使電機(jī)驅(qū)動(dòng)模塊控制水泵的轉(zhuǎn)速進(jìn)而控制水流速度,使用FS2012獲得水流的流速信息,處理傳感器的流速信息即可實(shí)現(xiàn)定量澆灌的作用,也就解決了市面上常見自動(dòng)澆花器澆灌不可定量的問題。在低功耗模式時(shí),使用stm32單片機(jī)控制MOS管斷開電機(jī)驅(qū)動(dòng)和FS2012傳感器的供電,進(jìn)而達(dá)到節(jié)能的目的。


4、數(shù)據(jù)處理與顯示模塊由stm32單片機(jī)最小系統(tǒng)和OLED屏幕組成,使用stm32單片機(jī)處理數(shù)據(jù)控制整個(gè)系統(tǒng)的運(yùn)行并在OLED 屏幕上顯示系統(tǒng)狀態(tài)信息。


5、低壓報(bào)警模塊是采用有源蜂鳴器和發(fā)光led組成,當(dāng)電池電壓過低時(shí),系統(tǒng)發(fā)出聲光警報(bào)。


軟件說明

本設(shè)計(jì)使用keil5軟件為整個(gè)系統(tǒng)編寫程序代碼,共分為四個(gè)部分。分別是裸機(jī)底層驅(qū)動(dòng)部分,中斷處理函數(shù)部分及FreeRTOS任務(wù)部分和邏輯處理部分。


1、首先編寫各底層驅(qū)動(dòng)代碼,如采集土壤濕度和電池電量原始值的ADC底層驅(qū)動(dòng)代碼,存儲(chǔ)用戶首次使用設(shè)定數(shù)據(jù)時(shí)的flash驅(qū)動(dòng)代碼,記錄用戶選擇定時(shí)模式時(shí)記錄時(shí)間的定時(shí)器時(shí)基代碼,和定時(shí)喚醒系統(tǒng)進(jìn)行監(jiān)測(cè)使用的RTC鬧鐘事件驅(qū)動(dòng)代碼,控制OLED 屏幕顯示的SPI驅(qū)動(dòng)代碼和采集FS2012流量傳感器數(shù)據(jù)的軟件I2C通信代碼,控制電機(jī)驅(qū)動(dòng)的PWM底層驅(qū)動(dòng)代碼等。


2、將FreeRTOS嵌入式操作系統(tǒng)移植到本設(shè)計(jì)中,創(chuàng)建四個(gè)任務(wù),分別為土壤濕度和電池電量檢測(cè)任務(wù)、系統(tǒng)信息顯示任務(wù)、智能澆灌任務(wù)、報(bào)警任務(wù)。 土壤濕度檢測(cè)任務(wù)在獲取由WK_UP按鍵中斷、RTC定時(shí)器鬧鐘事件發(fā)送的二值信號(hào)量后,由阻塞態(tài)變成運(yùn)行態(tài)(因?yàn)闄z測(cè)任務(wù)的優(yōu)先級(jí)最高,所以在獲得信號(hào)量之后直接進(jìn)入運(yùn)行態(tài))獲取土壤濕度值和電池電量值,然后進(jìn)行解析通過消息隊(duì)列的方式發(fā)送給顯示任務(wù)。系統(tǒng)信息顯示任務(wù)在獲取由檢測(cè)任務(wù)發(fā)送的消息隊(duì)列后,將發(fā)送來的信息進(jìn)行判斷和解析,若濕度值達(dá)到設(shè)定的閾值,則釋放智能澆灌任務(wù)的二值信號(hào)量,若電池電壓值低于閾值,則發(fā)送報(bào)警任務(wù)的二值信號(hào)量。若兩者都處于較安全的狀態(tài),則OLED 屏幕顯示3秒后關(guān)閉,并進(jìn)入睡眠模式。智能澆灌任務(wù)在接收到澆灌任務(wù)的二值信號(hào)量若發(fā)生了任務(wù)切換,則從阻塞態(tài)變?yōu)檫\(yùn)行態(tài),根據(jù)用戶設(shè)定的數(shù)據(jù),進(jìn)行定時(shí)或定量的澆灌,并于OLED 屏幕上顯示水流流速,澆灌完畢30秒后再釋放一次檢測(cè)任務(wù)的信號(hào)量查看土壤濕度是否處于合適的范圍。報(bào)警任務(wù)在獲取到系統(tǒng)信息顯示任務(wù)釋放的警報(bào)二值信號(hào)量之后,通過蜂鳴器和發(fā)光LED實(shí)現(xiàn)聲光報(bào)警,提示用戶更換電池或進(jìn)行充電。


3、編寫WK_UP按鍵和用戶按鍵對(duì)應(yīng)的外部中斷處理函數(shù)的代碼。在中斷處理函數(shù)中分別設(shè)置喚醒系統(tǒng)、發(fā)送檢測(cè)任務(wù)的二值信號(hào)量、設(shè)置智能盆栽系統(tǒng)的澆灌模式(定時(shí)、定量)及確定每次定量澆灌的流量值。設(shè)置RTC定時(shí)器的鬧鐘事件,RTC鬧鐘處理函數(shù)中每5小時(shí)發(fā)送一次檢測(cè)任務(wù)的二值信號(hào)量。


4、邏輯處理部分配合上文編寫的各功能代碼,實(shí)現(xiàn)智能盆栽系統(tǒng)的功能設(shè)定,完成此系統(tǒng)的設(shè)計(jì)。


演示效果

圖片1.png

圖片2.png

啟動(dòng)后,首先會(huì)出現(xiàn)歡迎語,待系統(tǒng)初始化之后默認(rèn)進(jìn)入檢測(cè)模式,如圖:

圖片3.png

圖片4.png

首次啟動(dòng),需要進(jìn)行模式設(shè)置。


1、長(zhǎng)按 WK_UP 按鍵設(shè)置為定量澆灌模式,K1 按鍵增加設(shè)定量,K2 按鍵減少設(shè)定量,精度為 10ml,設(shè)定完畢之后,再單擊 WK_UP 按鍵保存數(shù)據(jù)到 flash 中。即設(shè)置固定的水量使用水泵和 FS2012 流量傳感器計(jì)算澆灌的時(shí)間,然后使用 FreeRTOS 的軟件定時(shí)器進(jìn)行監(jiān)控澆灌,如圖:


圖片5.png

圖片6.png

2、雙擊 WK_UP 按鍵設(shè)置為定時(shí)澆灌模式,K1 按鍵開始計(jì)時(shí),K2 按鍵停止計(jì)時(shí),精度為 500ms,注意此模式會(huì)自動(dòng)打開水泵進(jìn)行澆水,即首次使用會(huì)進(jìn)行記錄澆灌的時(shí)間,以適應(yīng)對(duì)容量并不熟悉的用戶,澆灌完畢之后即可按 K2 止計(jì)時(shí)和澆灌。記錄完畢之后,再單擊 WK_UP 按鍵會(huì)將計(jì)時(shí)時(shí)間保存到flash 中,再次充上電時(shí)不需要再次計(jì)時(shí)。如圖:


圖片7.png

圖片8.png

圖片9.png

非首次啟動(dòng)時(shí),不需要重復(fù)設(shè)置模式,因?yàn)闀?huì)自動(dòng)的進(jìn)入日常使用模式,自動(dòng)檢測(cè)并顯示土壤濕度值和電池電量值,若不需要澆灌,屏幕顯示三秒之后會(huì)自動(dòng)進(jìn) FreeRTOS 的低功耗模式,OLED 顯示屏?xí)M(jìn)入熄滅狀態(tài),流量傳感器 FS2012會(huì)關(guān)閉,水泵與電機(jī)驅(qū)動(dòng)也將關(guān)閉,整個(gè)系統(tǒng)進(jìn)入低功耗模式,等待定時(shí)時(shí)間到或等待 WK_UP 按鍵被按下喚醒系統(tǒng)進(jìn)行檢測(cè)。

圖片10.png

當(dāng)系統(tǒng)被喚醒之后,會(huì)自動(dòng)檢測(cè)土壤濕度值和電池電量值,然后判斷是否需要進(jìn)行澆灌和電池低壓報(bào)警,若需要進(jìn)行澆灌則讀取 flash 中的數(shù)據(jù)。打開水泵和流量傳感器按照用戶的設(shè)定值進(jìn)行澆灌,并在顯示屏上顯示流速。若電池電量較低,則開啟電池低壓的聲光報(bào)警,提示用戶進(jìn)行充電或更換電池。進(jìn)入低功耗模式之后,只有用戶按下 WK_UP 按鍵或 RTC 定時(shí)器鬧鐘事件響應(yīng)時(shí),才會(huì)再次檢測(cè)土壤濕度及電池電量值,并在 oled 屏幕上顯示系統(tǒng)狀態(tài)。

11.png


因視頻文件過大,所以上傳到其他網(wǎng)站,并將鏈接放置于此:https://www.bilibili.com/video/av39282581

請(qǐng)配合“智能盆栽澆灌系統(tǒng)說明書”文檔一起觀看,效果會(huì)更好。

智能盆栽澆灌系統(tǒng)說明書.pdf


附件

(1.33 MB)下載

評(píng)論區(qū)(0 )
主站蜘蛛池模板: 久青草视频免费视频播放线路1 | 天天噜噜色 | 真实子伦视频不卡 | 永久免费观看黄网站 | 4hc44www四虎永久 | 69女poren18中国| 在线视频 一区二区 | 一级美女片 | 人人干人| 久久久久久久影院 | 色综合天| 天堂网www在线 | 91视频毛片 | 久久成人福利视频 | 欧美亚洲综合一区 | 亚洲综合色婷婷 | 久久精品国产福利 | 中文字幕一区二区三区精彩视频 | 国产美女被艹 | 中国特级毛片 | 黄色大片在线免费观看 | 又长又大又粗又硬3p免费视 | 日本香蕉视频 | 乱子伦xxxx厨房 | sihu影院永久在线影院 | 日本三级黄在线观看 | 色多多在线视频 | 欧美骚| 污污的网站免费阅读 | 天天视频天天爽 | 97人人射| 美女视频黄.免费网址 | 痴女在线播放免费视频 | 亚洲国产综合人成综合网站00 | 成年午夜一级毛片视频 | 欧美一二三区在线 | 欧美性色综合网 | 天堂资源在线www中文 | 抽搐一进一出gif免费男男 | 色综合色综合色综合色综合 | 狼色视频在线观免费观看 |