智能花盆設計和實現的概述
摘 要:如今白領一族為了緩解壓力會在辦公室,家庭中放置多肉盆栽,但是工作繁忙不能經常打理,盆栽會長勢不良甚至枯萎死亡。為了避免盆栽的死亡,本文章提出一種智能多肉植物養護系統設計和實現,以MSP430單片機為核心,檢測和植物生長的溫濕度、光照和土壤濕度等環境參數。根據檢測數據和預設值對比,判斷缺少或者飽和來傳遞給430單片機以此控制自動實現澆水、補光和通風等功能。
關鍵詞 : MSP430,單片機,植物養護,光感模塊,DHT11
現如今多肉植物以其多樣的的顏色和小巧的外觀,越來越受到消費者的歡迎。然而往往人們不能準確地根據土壤實際濕度來進行澆灌和補光。而且隨著現代人生節奏加快,忙于工作應酬,打理盆栽的時間會相應的減少。很有可能造成植物長勢不良,甚至死亡。
因此設計一種智能型的花盆,是十分必要的的。該花盆能夠通過各類傳感器對植物生長環境中的溫度、濕度、土壤干濕度等參數進行檢測。并將檢測到的溫度、濕度、干濕度等值在OLED上進行顯示。實現在光照較弱的時候能自動開啟補光燈,土壤含水量過低自動補水等功能。
一.系統結構
該裝置由花盆,水槽,補水模塊,控制器,土壤濕度傳感器和光照傳感器等組成。基本框架圖如1—1所示。
![]()


![]()
![]()
![]()
![]()
![]()
![]()


![]()
![]()
![]()
![]()
圖1-1(系統框架)
整個系統以MSP430單片機為核心,通過傳感器將測量到的數據傳送給MSP430。MSP430進行處理后分別將數據傳送到OLED上進行顯示,并通過與設定閾值比較并控制補光燈、水閥、蜂鳴器等工作,達到調節植物生長環境的目的。同時各個傳感器正常工作,還會接檢測到環境數據,又一次將接收到的電壓值發送給MSP430作處理,通過比較設定的閾值來驅動或者關斷被控器件。
二.硬件
放大芯片:
由于傳感器需要采集外間環境參數并以模擬電壓值的形式將數據傳送給單片機,這就用到了放大芯片LM358來放大采集到的電壓值(LM358是雙運算放大器。內部包括有兩個獨立的、高增益、內部頻率補償的雙運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運算放大器的場合。
傳感器:
由于檢測的對象不一樣,所以需要用到不同類型的傳感器模塊,比如土壤干濕度傳感器模塊和DHT11溫濕度傳感器等。
![]()
DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器,它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性和卓越的長期穩定性。因此該產品具有品質卓越、超快響應、抗干擾能力強、性價比極高等優點。DHT11的供電電壓為 3-5.5V。傳感器上電后,要等待 1s 以越過不穩定狀態在此期間無需發送任何指令。電源引腳(VDD,GND)之間可增加一個100nF 的電容,用以去耦濾波。(DHT11的典型運用電路 如圖1-2)
![]()
![]()
![]()
![]()
![]()
![]()
![]()

![]()



![]()
![]()
![]()
![]()
![]()
![]()
![]()
圖1-2(DHT11典型運用電路)
本系統采用了一種模擬數字一體光敏傳感器模塊,屬于電子測控與路跡識別領域。該模塊包括電源轉換電路、光敏傳感器電路、比較電路和輸入輸出電路,可采用3.3V-5.0V電源供電,分別給光敏傳感器電路、比較電路供電,光敏傳感器電路的輸出端連接雙運算放大器的輸入端,雙運算放大器輸出端與輸出電路的輸入端連接。輸出數字信號或模擬信號,準確度高,反應速度快,功耗低,使用成本低。 光照傳感器模塊原理圖。(光敏模塊原理圖 如下圖1-3)

圖1-3(光敏模塊原理圖)
電源:
本系統需要工作于于穩定可靠的直流電源。考慮到運用于普通家庭,為了便于供電所以本系統采用USB或者手機充電器供電更為方便,且供電電壓5V。采用上述方式供電的優點是共用性強,電源穩定。
單片機:
三.軟件實現
通過MSP430的ADC12寄存器采集外部數據(ADC性能指標:分辨率最小值1.2mV精確度高,量化誤差±1/2LSB,轉換精度高轉換率大于200Ksps)。
需要對系統用到的 GPIO 口的功能進行設置,P6.0-6.6設置為模擬 輸入,用于采集濕度傳感器,光敏傳感器,空氣溫濕度傳感器等的模擬電壓值。
對 ADC 模塊進行初始化,其中包括ADC時鐘使能,時鐘分頻因子設置,ADC 的工作時鐘頻率設置,并設置工作模式為序列通道多次轉換工作模式等。
void main(void)
{
WDTCTL = WDTPW+WDTHOLD; // 關閉看門狗
P6SEL = 0x0F; // 使能管腳
ADC12CTL0 = ADC12ON+ADC12MSC+ADC12SHT0_2;
ADC12CTL1 = ADC12SHP+ADC12CONSEQ_1;
ADC12MCTL0 = ADC12INCH_0; // 初始化
......
ADC12MCTL3 = ADC12INCH_3+ADC12EOS;
ADC12IE = 0x08; // 使能中斷
ADC12CTL0 |= ADC12ENC;
......
}
由于采用了OLED顯示屏,需要對相應的管腳進行初始化和時鐘設置。
......
OLED_Init(); //初始化OLD
OLED_Clear();
......
OLED SSD1306 SPI 時鐘D0
#define OLED_SSD1306_SCLK_PIN_NUM (BIT2)
OLED SSD1306 SPI 數據D1
#define OLED_SSD1306_SDIN_PIN_NUM (BIT3)
OLED SSD1306 數據/命令DC
#define OLED_SSD1306_DC_PIN_NUM (BIT5)
OLED SSD1306 片選CS
#define OLED_SSD1306_CE_PIN_NUM (BIT6)
OLED SSD1306 復位/RES
#define OLED_SSD1306_RST_PIN_NUM (BIT4)
......
在主程序中,液晶實時地顯示 ADC 的轉換數值,并將轉 換值與用戶設定值的進行對比,如果檢測值小于用戶設定的 濕度限值,430通過 P2.0啟動水泵,對花盆中的植 物進行澆灌。當到達最大閾值則停止水泵。
if(drought<100)
{
P2OUT&=~BIT0;
}
else
{
P2OUT= BIT0;
}
.......
DHT11的驅動
DHT11的數據口用于與微處理器之間的通訊和同步,采用單總線數據格式,一次通訊時間4ms左右,數據分小數部分和整數部分,操作流程如下: 一次完整的數據傳輸為40bit,高位先。 出數據格式:8bit濕度整數數據+8bit濕度小數數據
+8bit溫度整數數據+8bit溫度小數數據
+8bit校驗
用戶MCU發送一次開始信號后,DHT11從低功耗模式轉換到高速模式,等待主機開始信號結束后,DHT11發送響應信號,送出40bit的數據,并觸發一次信號采集,用戶可選擇讀取部分數據.從模式下,DHT11接收到開始信號觸發一次溫濕度采集,如果沒有接收到主機發送開始信號,DHT11不會主動進行溫濕度采集.采集數據后轉換到低速模式。
總線空閑狀態為高電平,主機把總線拉低等待DHT11響應,主機把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機的開始信號后,等待主機開始信號結束,然后發送80us低電平響應信號.主機發送開始信號結束后,延時等待20-40us后, 讀取DHT11的響應信號,主機發送開始信號后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。
所以需要用到單片機輸出時序來驅動DHT11模塊,部分代碼附下:
.......
.......
.......
.......
四.總結
本文提出的多肉植物植物智能種植系統,通過單片機的監測和控制能夠實時檢測植物種植環境的溫濕度、植物土壤濕度及光照條件,并根據環境變量來控制水泵、補光燈等終端設備,從而實現控制澆水和補光等功能。此系統可用于多肉養護,該系統運用了比較廉價的單片機和傳感器模塊,易于實現且低功耗,系統與用戶通過OLED交互,易于用戶了解盆栽生長環境,并對其加以適當干預。由于市面上還未有此功能的系統,因此具有一定的市場價值。
完整的Word格式文檔51黑下載地址:
論文.docx
(187.86 KB, 下載次數: 19)
| 歡迎光臨 (http://m.raoushi.com/bbs/) | Powered by Discuz! X3.1 |