樊溶
摘 要:目前,許多中小學校都成立了植物種植科普興趣小組,在興趣小組開展活動時,在關鍵的節點,比如澆水、加熱、喂食喂水等環節,由于參與人員意見往往不能夠完全一致,引起爭執甚至沖突。特別是城市中的中小學生,從小生活在城市,對植物生長規律、水分條件等都缺少直觀的認知。中小學科普用植物澆水控制器通過引入單片機,通過采集所關注的物理量(如濕度、溫度、水位等),由興趣小組成員進行判斷,投票表決,由單片機根據投票結果進行判斷,自動啟動控制繼電器,來執行是否進行澆水的意見,解決了傳統植物種植興趣小組只是觀察記錄、缺少互動的弊端,以達到興趣小組成員集體參與、共同表決、提升興趣的目的。
關鍵詞:單片機;科普;投票;控制
中圖分類號:TP23 文獻標志碼:A 文章編號:1673-8454(2018)04-0080-06
一、引言
土壤濕度表示一定深度土層的土壤干濕程度的物理量,又稱土壤水分含量。土壤濕度的高低受水分平衡各個分量的影響,比如注入水量、環境溫度、環境濕度、土壤成份密度、植物葉面積等,但起決定作用的是注入水量。土壤濕度決定植物的水分供應狀況。土壤濕度過高,土壤通氣性變差,影響土壤中微生物的活動,使植物根系的呼吸、生長等生命活動受到阻礙,造成爛根、滋生病害,從而影響植物地上部分的正常生長。土壤水分含量過低,形成土壤干結,植物的水分攝入不足,造成光合作用不能正常進行,影響植物的生長,嚴重缺水導致作物凋萎和死亡。
在中小學校植物種植的科普活動中,土壤的濕度狀況決定了植物的生長狀況,對土壤濕度的控制顯得尤為重要,中小學科普用植物澆水控制器通過單片機的引入,可以實時顯示土壤濕度狀況,通過參與者的表決,自動控制對植物水分的補充。YL-69土壤濕度傳感器感應土壤濕度信息,經A/D轉換后由單片計算機控制實時顯示,參與同學根據土壤濕度狀況,結合自己的經驗判斷,通過設置的投票鍵盤,投票表決是否澆水,最后由單片計算機根據投票情況判斷澆水與否。第二天通過觀察植物的生長情況,結合實時顯示的土壤濕度,興趣小組的每位成員再進行新的一輪判斷。以此提升同學們的興趣,同時也通過單片計算機的引入、應用,使同學們學習掌握計算機知識、電器原理知識等,以豐富其知識面。
二、系統組成及工作原理
該系統組成如圖1所示,包括STC89C52單片機、復位及時鐘電路、濕度傳感器模塊、A/D轉換模塊、鍵盤輸入模塊、繼電器控制水泵模塊與LCD顯示模塊。
該系統的工作過程為:土壤濕度傳感器(YL-69)將濕度信號送至A/D轉換模塊,經模數轉換后,所得數字信號送入單片機進行數據處理,將得出的結果發送到液晶顯示器進行顯示,供興趣小組成員直觀了解目前的土壤濕度狀況。興趣小組成員結合植物長勢、光照等條件綜合做出是否同意澆水的意見,通過S2(同意澆水)、S3(不同意澆水)進行投票。LCD屏幕上實時顯示已經投票同學的意見結果,全部同學表決結束后,按S1鍵(結束),由單片機判斷控制,如同意票數大于不同意票數,單片機輸出信號控制繼電器電源進行澆水,同時點亮LED1指示澆水狀態,單片機自動延遲10秒(根據種植的容器大小進行設置)后停止,完成一個澆水過程。
三、各單元模塊功能介紹及電路設計
1.傳感器部分
測量土壤濕度的方式很多,其原理是根據某種物質從土壤中吸收水分后引起的物理或化學性質的變化,間接地獲得該物質的濕度。電容式、電阻式和濕漲式濕敏元件等是根據其介質材料吸濕后的介電常數、電阻率和體積隨之發生變化而進行濕度測量的。
YL-69是一個簡單的土壤濕度傳感器,感應部分為濕敏電容,當環境的濕度發生改變時,會使得濕敏電容存在的環境中的介質發生改變,通過該部件外圍電路將電容的變化轉換為模擬電壓值。該系統供電電壓為5V,當溫度值為0%-100%時,模擬輸出端電壓變化在4.75V-1.45V之間,與所測濕度值成反比。
2.A/D轉換模塊
ADC0832是8位分辨率、雙通道A/D轉換芯片,最高分辨可達256級,可以滿足模擬量轉換要求。芯片轉換時間僅為32μS,具有雙數據輸出可作為數據校驗或有效減少數據誤差,轉換速度快且穩定性能強。將YL-69輸出的模擬電壓信號輸入DI 數據輸入端,轉換為數字信號,輸入單片計算機進行處理。
3.STC89C52單片機模塊
(1)功能特征描述
單片機采用廣泛使用的STC89C52,為通用單片機,擁有靈巧的8 位CPU 和在系統可編程Flash,通過Keil 編程軟件可將C語言程序進行編譯、仿真、寫入。
(2)硬件端口連接
P0端口:是一個8位漏極開路的雙向I/O口,作為輸出口與LCD1602的數據輸入端D0-D7相連接。
P1端口:P1端口的0、1、2分別連接模數轉換器ADC083的CLK、DIO和CS端口,控制模數轉換器并讀取轉換結果。
P2端口:系統中使用P2的5-7端口與LCD1602的RS、RW和EN口相連接,控制LCD顯示。P2的0端口作為輸出輸出控制端口,低電平有效。控制輸出通過三極管控制繼電器,驅動水泵進行澆水,延遲10秒后置P2的0端口高電平停止。在啟動水泵澆水的同時置LED2燈控制端低電平,發光,指示澆水狀態。
P3端口:是一個有內部上拉電阻的8 位雙向I/O 口,利用P3的0、1和2端口通過S1、 S2 S3與地連接,捕捉開關有觸發輸入。
(3)時鐘與復位電路
根據STC89C52的要求,要使內部振蕩電路啟振,形成時鐘,必須外接晶振以及電容C1和C2,構成了并聯諧振電路接在放大器的反饋回路中。外接電容的大小會影響振蕩頻率的高低和振蕩器的穩定性。晶振的頻率可在1.2MHZ~12MHZ之間任選,電容C1和C2的典型值在20pf~100pf之間選擇,由于本系統用到定時器,為便于計算,采用12MHZ的晶振,電容選擇30pf。endprint
本系統在設計上對復位電路設計成上電復位加手動復位,方便使用。在程序“跑飛”時,可以手動復位,不用再重起單片機電源。單片機加電瞬間,時鐘電路產生時鐘脈沖,控制器按照指令的功能產生一系列在時間上有一定次序的信號,控制相關的邏輯電路工作,實現執行指令的功能。
4.鍵盤輸入模塊
該系統設計3個鍵盤輸入端,分別為按鍵S1、S2和S3。S2為同意澆水按鍵,每按1次,同意寄存器數據增加1;S2為不同意澆水按鍵,每按1次,不同意寄存器數據增加1。S1為結束按鍵,按下后啟動比較程序,比較兩個寄存器數據大小,執行不同的指令。
5.LCD顯示模塊
該系統設計要求能同時顯示實事監測的土壤濕度值,還要同步顯示兩組投票的數據,顯示內容較多,而且需要同屏顯示,數碼管不能滿足需要,選用能夠同時顯示較多信息的LCD1602。1602字符型液晶顯示器是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊,可同時顯示兩行,每行8個字符。第一行顯示實時土壤濕度值,第二行為狀態行,投票時顯示同意和不同意兩組數據,表決后顯示執行的動作,執行澆水動作時顯示“STARTING WATER”,不執行則顯示“STOPED OVER...”。
在LCD1602顯示濕度值、投票情況和澆水狀態的同時,設計了2個LED和1個蜂鳴器,進行輔助狀態提示,當土壤濕度值大于50%時,LED1點亮,警示土壤濕度值較高。當啟動澆水時LED2指示正在澆水,同時蜂鳴器響起,指示正在澆水中。
四、系統軟件設計
1.主程序流程圖(見圖2)
2.軟件設計原理
本系統的軟件設計采用C語言編寫,軟件設計采用結構化和模塊化設計方法,便于功能擴展。系統上電以后初始化,同意票數和不同意票數置零,濕度傳感器采集到的數據通過A/D模數轉換后傳送給單片機,單片機將采樣芯片送來的數據送到液晶顯示器(LCD1602)顯示,LCD602的第一行顯示“Humidity”和土壤濕度值,LCD1602的第二行顯示“YES: 0 NO: 0”。進入主循環程序,對按鍵是否觸發進行判斷,如有按鍵觸發則進入判斷程序,若S2按下,則為同意票數增加1票,送LCD602顯示;若S3按下,則不同意票數增加1票,送LCD602顯示;若為S1按下,則啟動判斷程序,比較同意票數和不同意票數的大小,若同意票數>不同意票數,啟動繼電器為水泵加電澆水,同時在LCD602第二行顯示“STARTING WATER”,若同意票數<=不同意票數,則顯示“STOPED OVER...”。
3.軟件設計所用工具
完成該設計的軟件編程主要是利用單片機的外部接口電路和單片機編程軟件實現的,所以程序的正確可行是實現該方案的必要條件,編寫程序時主要利用的軟件是Keil 編程軟件。 Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil則為其提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部分組合在一起。
4.程序代碼
五、結束語
本系統通過一塊STC89C52單片計算機實現了土壤溫度的采集、顯示,表決投票的輸入、顯示,同時可對輸入結果進行比較,以控制繼電器,進而驅動水泵對植物進行澆水。將投票表決和植物種植澆水有機結合起來,增強了科普的興趣性。本系統具有硬件電路簡單、外圍元器件少、成本低的特點,軟件一次性寫入固化,并且具有可升級性能,在硬件電路不變的情況下,通過控制程序簡單修改即可增加其它功能,比如可以固定設置興趣小組總人數,全部投票后自動比較判斷,還可以增加濕度超過設置值(如70%)屏蔽灌水功能等,以供參與的同學們拓展和開發。
參考文獻:
[1]張毅剛,彭喜元編.單片機原理及應用[M].北京:高等教育出版社,2010.
[2]楊素行.模擬電子技術基礎簡明教程[M].北京:高等教育出版社,2006.
[3]來清民.傳感器與單片機接口及實例[M].北京:北京航空航天大學出版社,2008.
[4]林志琦.基于Proteus的單片機可視化軟硬件仿真[M].北京:北京航空航天大學出版社,2006.
[5]孟立凡等.傳感器原理及技術[M].北京:國防工藝出版社,2005.
[6]陳有卿,張曉東.報警集成電路和報警器制作實例[M].北京:北京人民郵電出版社,2001.
[7]何立民.單片機高級教程[M].北京:北京航空航天大學出版社,2001.
[8]郭天祥.51單片機C語言教程[M].北京:電子工業出版社,2008.
[9]史軍勇,冀捐灶,楊寶強.基于AT89C2051的溫濕度控制儀[J].電子技術,2004(1).
[10]周旭.現代傳感器技術[M].北京:國防工業出版社,2007.
[11]肖洪兵.跟我學用單片機[M].北京:北京航空航天大學出版社,2002.8.(編輯:魯利瑞)endprint