修平科技大學 -...
TRANSCRIPT
修平科技大學
資訊管理系
物聯網智慧生活應用
組長:BF102071劉冠志 組員:BF102063黃煜翔 BF102080詹凱竣
BF102087廖友禎 BF102109王家佑
指導教師 :張兆村
中 華 民 國 一 百 零 五 年 十 二 月
II
I
摘要
現代科技的發展十分迅速,而物聯網技術也已逐漸成熟,智慧程
式、倉儲管理、身份辨識,有許多物聯網科技正在我們的日常生活應
用中,為了達到智慧生活為目的而產生的物聯網科技,後續衍生出的
物聯網商機將更為可望。因此,在本次專題的設計主題上,嘗試利用
物聯網課程中所學到的技術與工具,發展一個植物栽培的自動灌溉系
統,以幫助一般家庭園藝者,達到無需人工灌溉的目的。專題中所運
用的物聯網技術與工具包含 Arduino控制板、進水電磁閥、水流量感
知器與土壤濕度感測器、繼電器、XBee通信模組、VB.Net、Access資
料庫、自動灌溉管道及儲水器等部分,來達成自動紀錄澆水數據,無
需擔心是否有人為疏失。在本報告書內,除介紹系統的設計概念外,
亦說明各感測器的工作原理及應用程序,最後將分享本次專題發展過
程中所遇到的一些問題及經驗分享,供有興趣嘗試相同應用者做為參
考。
II
目錄
摘要
................................................ I
目錄
............................................... II
圖目錄
................................................ V
表目錄
.............................................. VII
第一章 前言 ............................................ 1
1-1 研究動機 ........................................ 2
1-2 研究目的 ........................................ 3
1-3 工作分配 ........................................ 4
1-4 工作進度 ........................................ 5
第二章 文獻探討 ........................................ 6
2-1 Arduino簡介 ..................................... 6
2-1-1 Arduino UNO模組 ............................ 6
2-1-2 Arduino的特色 .............................. 8
2-1-3 Arduino的優缺點 ............................ 9
2-1-4 Arduino與 Raspberry PI的比較 .............. 10
III
2-2 Arduino IDE 介紹................................ 12
2-2-1 Arduino IDE安裝版本 ....................... 12
2-3 VB.Net 介紹 .................................... 13
2-4 Access資料庫介紹 ............................... 14
2-5 Arduino控制植栽灌溉的相關研究 .................. 15
2-6 矮種蕃茄介紹 ................................... 17
2-7 觀賞用五彩甜椒介紹 .............................. 18
第三章 系統架構及設計說明.............................. 20
3-1 植物栽培的自動灌溉系統架構及功能 ................ 20
3-2 水流量感知器 ................................... 21
3-3 進水電磁閥 ..................................... 23
3-4 土壤濕度感測器 ................................. 25
3-5 繼電器 ......................................... 26
3-6 XBee通信模組 ................................... 28
第四章 系統架設及實驗說明.............................. 30
4-1 灌溉系統架設說明................................ 30
4-1-1 儲水器設計與組裝 .......................... 30
4-1-2 灌溉管線設計與組裝 ........................ 32
4-1-3 水流控制管線設計與組裝 .................... 34
IV
4-1-4 Arduino UNO開發板 ......................... 35
4-1-5 灌溉系統組裝與功能測試 .................... 36
4-2 Arduino程式設計說明 ............................ 38
4-3 資料庫及資料收集程式設計說明 .................... 39
4-4 植物栽培之觀察說明 .............................. 40
第五章 問題與討論 ..................................... 45
第六章 結論 ........................................... 47
6-1 研究結論 ....................................... 47
6-2 未來發展方向 ................................... 47
參考文獻 ............................................... 49
V
圖目錄
圖 1 Arduino UNO模組 ................................. 6
圖 2 Raspberry PI圖 ................................. 10
圖 3 Arduino IDE官方下載頁面 ........................ 12
圖 4 VB.NET ......................................... 13
圖 5 Access資料庫 ................................... 14
圖 6 基於 arduino的自動澆花系統 ...................... 15
圖 7 監控植物及遠程澆花控制 .......................... 16
圖 8 矮種蕃茄介紹 ................................... 17
圖 9 觀賞用五彩甜椒 ................................. 18
圖 10 系統架構圖 ..................................... 20
圖 11 水流量感知器 ................................... 21
圖 12 進水電磁閥 ..................................... 23
圖 13 土壤濕度感測器 ................................. 25
圖 14 繼電器 ......................................... 26
圖 15 XBee無線通信模組圖 ............................. 28
圖 16 儲水器製作過程 ................................. 30
圖 17 儲水器成品 ..................................... 31
圖 18 儲水器開關測試 ................................. 31
圖 19 塑膠管與水管接頭連接 ............................ 33
VI
圖 20 灌溉管線圖 ..................................... 33
圖 21 灌溉管線滴水測試................................ 33
圖 22 水流控制管線圖 ................................. 34
圖 23 線路連接圖 ..................................... 35
圖 24 水桶固定在鐵架上方 .............................. 36
圖 25 灌溉管線連接 ................................... 36
圖 26 完成圖 ......................................... 37
圖 27 程式執行流程圖 ................................. 38
圖 28 Access資料庫收集到的監控資料 ................... 39
圖 29 XBee通訊流程圖 ................................. 40
圖 30 種子發芽及移植 ................................. 41
圖 31 植物成長狀況(9-10週) ........................... 41
圖 32 植物成長狀況(12週) ............................. 41
圖 33 植物成長狀況(15週) ............................. 42
圖 34 植物成長狀況(17週) ............................. 42
圖 35 植物成長狀況(20週) ............................. 43
圖 36 植物成長狀況(22週) ............................. 43
圖 37 植物成長狀況(24週) ............................. 44
圖 38 植物成長狀況(29週) ............................. 44
VII
表目錄
表 1 工作分配表 ...................................... 4
表 2 時程規劃表 ...................................... 5
表 3 Arduino UNO模組規格表 ........................... 7
表 4 Arduino UNO與 Raspberry PI 3比較表 ............. 10
表 5 水流量感知器元件規格表 .......................... 21
表 6 進水電磁閥元件規格表 ............................ 23
表 7 土壤濕度感測器 ................................. 25
表 8 繼電器元件規格表................................ 26
表 9 XBee無線通信模組元件規格表 ..................... 28
表 10 灌溉管線材料表 ................................. 32
表 11 資料庫表格定義 ................................. 39
1
第一章 前言
隨著科技日益發達,自動化系統越來越普及化,科技已逐漸取代
部分人力,許多大規模需要人力的工作若是用機器來執行能夠更有效
率且不易產生疏失,例如:機械手臂、自動收銀機、自助點餐機…等
,但如何利用較低成本的方式來取代人力又是另外一門學問,我們認
為可以將科技與農業做結合,利用物聯網來實現植物自動灌溉功能,
判斷植物當前狀況並給予相對應之處理方式,讓人們不必花費太多的
心力照顧植物也能使其成功生長。
2
1-1 研究動機
目前全球面臨少子化現象,且因經濟狀況仍為低迷,導致許多人
不願意生育,使得少子化現象更為嚴重,而少子化帶來的危機為人力
資源的減少,勞動人口一旦不足,可能迫使企業外遷至勞動力較高之
國家,使國內工作機會減少,而都市的生活機能發達且工作機會通常
多於鄉村,又因教育普及與現代人的觀念,使得鄉下的年輕人紛紛往
大都市發展,留在鄉村內務農的人越來越少,以致於糧食生產量減少
,需要仰賴進口來解決糧食不足的問題。
現代人的生活已逐漸走向環境保護、智慧家庭和健康生活為目標
,並有許多家庭會在自家陽台或庭園種植有機蔬食讓自己吃得安心、
健康又能減少部分開銷,但現代人工作繁忙、生活節奏較為快速,以
致於沒有太多的時間能夠照顧自己種植的蔬果或香料,許多植物都是
放在家裡的陽台後使其自行成長,而因疏於照護,植物通常無法順利
生長、開花結果,導致時間、金錢與空間的浪費。
3
1-2 研究目的
農業人力短缺之情形,是在所有產業裡面最嚴重的,目前已有
許多國家採用以機械取代人力,用機械管理農場,朝向無人農場的
目標發展,以改善農業人力短缺之情形,但這種以機器進行耕作的
方式,通常因成本問題,只有大型耕地或農場有辦法執行,一般家
庭無法使用這種方式種植蔬果,因此我們將植物的自動灌溉作為我
們的目標,利用 Arduino價格與開發難易度的特色,進行植物自動
灌溉系統的開發,在專題我們使用了水流傳感器和土壤濕度感知器
來偵測澆水量、植物所需水量與土壤狀況,土壤濕度感知器能夠偵
測土壤溼度並判斷是否需要澆水,利用進水電磁閥,可以控制水源
,並在土壤濕度不足時進行放水,來達到植物自動照護的功能,即
使不需要人力長時間照護,植物也能自行順利的成長,更能減少水
資源、時間與金錢的浪費,且此專題所需成本與技術門檻並不高,
使一般家庭園藝也能使用。
4
1-3 工作分配
專題製作的個人負責工作分配表,如表 1所示。
表 1 工作分配表
負責工作 負責人員
蒐集資料 黃煜翔、劉冠志、廖友禎、王家佑
硬體設計 黃煜翔、劉冠志、詹凱竣、王家佑
儲水器組裝 黃煜翔、劉冠志、詹凱竣、王家佑
水分控制管線組裝 黃煜翔、劉冠志、詹凱竣、王家佑
灌溉管線組裝 黃煜翔、劉冠志、詹凱竣、王家佑
資料庫設計 黃煜翔、劉冠志
安裝開發環境 劉冠志、廖友禎
資料彙整 黃煜翔、王家佑
Arduino程式開發 詹凱竣、廖友禎
書面報告設計 劉冠志、詹凱竣、廖友禎
書面報告製作
黃煜翔、劉冠志、詹凱竣、廖友禎、
王家佑
簡報製作 劉冠志、廖友禎
植物狀態觀察與照護 劉冠志、王家佑
5
1-4 工作進度
下表 2為專題製作之時程規劃表。
表 2 時程規劃表
6
第二章 文獻探討
2-1 Arduino 簡介
2-1-1 Arduino UNO模組
圖 1 Arduino UNO模組
UNO 為較適合剛接觸 Arduino[1]的初學者作為開發板,內含 14
個數位 I/O 接腳、6 個類比輸入腳和其他連接埠,還可為各種埠自
訂名稱,能夠讓使用者能更快速的上手。
Arduino Uno模組所提供電源輸入供有三個通道,USB連接埠、電源
輸入插座和 Vin腳位三種,我們選擇採用電源輸入插座來供電,並且
使用 D2控制水流量感測,D7控制水流磁控開關,A0控制濕度感測。
7
表 3Arduino UNO模組規格表
Arduino和 Android相同於兩者都是開放原始碼的軟硬體平台。
不同於 Arduino的 I/O介面簡單好用,並具可使用於 Java、C語言等
開發環境的特性。
元件規格
微控制器 ATmega328
工作電壓 5V
建議輸入電壓 7-12V
限制輸入電壓 6-20V
數位 I/O腳位 14 支(其中有 6 支腳位可提供 PWM 輸出)
類比輸入腳位 6 支
I/O腳位直流電流 40mA
3.3V腳位直流電流 50mA
Flash 記憶體 32KB, 其中 0.5KB 拿去給 bootloader使用
SRAM 2KB
EEPROM 1KB
時脈 16MHz
8
Arduino是種開放授權的互動環境開發技術,冷氣的溫度控制、
汽車的倒車雷達,互動裝置存在於生活中的各處,能夠讓生活增加安
全性又便利,能夠帶給使用者既愉快又方便的生活環境。
以往需要電子設備時,需透過工程師逐漸拼湊出電路。多數的設
計工具都是為了工程師設計。但微處理器有了全新的進步,在使用上
變得更簡單易懂,價格上也減少了學習的門檻。
2-1-2 Arduino的特色
開放源碼(open-source)。且軟體的開發環境也可以在網上免費
下載,而 Arduino 的電路設計圖也能夠在官方網站自行下載,並依
照開發者需求進行修改,但修改後須要符合創用 CC授權條款(創用 CC
授權條款)。
Arduino 學習門檻較為簡單,不需要電子相關背景,也能夠簡單
學會 Arduino的互動裝置開發。由於 Arduino 是以公開共享為基礎
,多數人樂於分享自己的作品,網路上能找的創作案例非常豐富。以
此為基礎,只要參考其他分享者的作品,再依據自身需求來調整,就
可以在短時間內完成自己的創作。
Arduino 可分為三大類,分別為 Arduino 硬體、Arduino 軟體及
Arduino擴充原件。硬體可購買成品或是依網路下載的電路圖自行組
9
裝,初學者建議購買現成的,根據 Arduino官方網站所說,台灣具有
官方合法授權的代理商為藝科資訊 Aroboto Studio、PlayRobot飆
機器人/普特企業有限公司、iCshop (台灣)電子零件,電子材料有供
販售。目前官方網站提供了許多不同的開發板供開發者購買。
2-1-3 Arduino的優缺點
優點:價格低廉、電路簡單、體積小、方便攜帶、傳感器多、程式設計
簡單,學習門檻較為簡單,甚至可 DIY出自己的 Arduino開發板。
缺點:Arduino只能設計較簡單之程式,且一次只可運行一個程序。
以上可知 Arduino為一種簡單、輕便、易上手,適合初學者的開
發板,適用於下位機,負責蒐集狀態數據,如溫度、濕度等,與將數
據傳送回伺服器,若要執行多工任務時通常會交給同樣身為開發板卻
能多工處理的樹莓派來執行。
10
2-1-4 Arduino與 Raspberry PI的比較
Raspberry PI[2]又稱樹莓派,由 Linux作為基礎,以低價和自
由軟體為目的來促進電腦科學基本教育,和 Arduino、Intel Edison
、Linkit one、Intel Galileo、Ameba一樣是目前市面上較多人使用
的開發板,但若對 Linux的操作不熟悉將會讓 Raspberry PI的操作
難度一併上升。
圖 2 Raspberry PI圖
表 4 Arduino UNO與 Raspberry PI 3比較表
開發板比較 Arduino UNO Raspberry PI 3
價格 NT$619 NT$1,514
程式語言 Java、C/C++語言[3] 多種語言(15種)
傳感器應用 隨插即用 需安裝驅動程式
11
是否支援多工 無 有
開發板電路 較簡單可 DIY 較複雜
記憶體容量 32KB 1GB
啟動速度 較快速 較緩慢
電路圖設計 可免費下載並修改 無法更動
電源輸入 USB介面與 DC輸入 需穩壓
接頭 USB USB、LAN、HDMI
操作系統 無 Linux
適合開發者 初階使用者 中高階使用者
12
2-2Arduino IDE 介紹
2-2-1Arduino IDE安裝版本
Arduino IDE為 Arduino的開發環境,目前版本為 Arduino1.6.13
可於官方網站上免費下載,使用的程式語言為 C/C++,操作簡單且直
覺,若具有寫程式經驗可輕易上手。
圖 3 Arduino IDE官方下載頁面
13
2-3VB.Net(2008)介紹
圖 4 VB.NET
VB.NET[4]為 Visual Basic.NET 的縮寫,VB.NET 主要用來指
BV6.0以後的版本,VB.NET與 VB6版本的程式邏輯無法銜接讓許多元
件程式無法轉換,導致目前還是有許多 VB6的使用者,而將 VB6升級
到 VB.NET 是為了讓開發者不管使用哪種程式語言都可在不同平台上
開發與轉移,並擁有一套 Visual Studio的開發工具,Visual Studio
為以 XML 為基礎的跨語言程式開發工具,並支援多語言 VB、
C/C++SmallTalk,讓需要接觸多種平台的開發者省了許多麻煩。
14
2-4Access 資料庫介紹(.mdb)
圖 5 Access資料庫
Access[5]為 Microsoft 的資料庫管理軟體,主要是為了管理資
料庫而設計的電腦軟體系統,具有儲存、擷取、備份、資料處理功能
,用以簡易於協助企業營運的管理工具,而資料庫又可分多種類型,
網狀式、階層式、關聯式與物件導向式,而 Access 屬於的是關聯式
資料庫管理系統,而 Access 相較於其他資料庫管理系統操作難度較
低,初學者入門較容易,但若是已熟悉資料庫管理的使用者,若使用
My SQL執行速率將會高於 Access資料庫。
15
2-5Arduino 控制植栽灌溉的相關研究
圖 6 基於 arduino的自動澆花系統
圖 6 顯示一種使用 arduino 做為自動澆花系統[7],該系統是採
用每三小時偵測一次濕度的方式進行澆水控制,澆水管路是以一條水
管連接至植物頂部並由滴灌方式進行,水分由植物上方澆灌,土壤與
大氣濕度值會顯示在 LCD顯示器上,澆灌水量直接由濕度值決定是否
繼續,其中水管的開關由電磁閥控制,電力採市電變壓後 12V供給。
此系統的滴灌方式容易造成水分灌溉不均勻、水量不易適當控制、及
無法遠距離自動蒐集土壤濕度數據等問題。
16
圖 7 監控植物及遠程澆水控制
圖 7 顯示一種使用 arduino 結合 Fliwer 的一種監控植物及遠程
澆水控制應用[8]。Fliwer是一款針對植物而研發出來的設備,可以
監控土壤水分、光照、溫度、空氣濕度和肥料是否充足這些指標。結
合雲端的植物數據和天氣預報,它能夠自動決定什麼時候給植物澆水
,甚至提醒你什麼時候應該施肥、修剪、觀摩開花期和收穫果實。此
系統同樣採用滴灌方式進行灌溉,亦無水量控制設計,故仍存在水分
灌溉不均勻及水量適當控制等實用性的設計問題。
17
2-6 矮種蕃茄介紹
圖 8 矮種蕃茄介紹
蕃茄屬於茄科蕃茄屬,別名:柑仔蜜、臭柿仔、西紅柿、番柿,
原 產 於 南 美 洲 安 第 斯 山 的 山 區 和 峽 谷 地 帶 , 學 名 :
Lycopersinesculentum Mill,英名:Tomato,為 1~2 年生植物,蕃
茄原產於乾燥冷涼地區,對濕熱的忍耐度較弱,生長的溫度以日溫為
21-26℃,夜溫 15-20℃為最適合,若開花時溫度低於 10℃ 或是平
均日溫高於 35℃ 及夜溫高於 25℃ 時,結果率會降低,植株營養吸
收會不良,所以最適合栽培蕃茄的溫度約在 18-26℃ 左右。主要採
秋冬栽培(約十一月到翌年四月間),全日照,光線不足時植株易徒長
,莖部會變得細長軟,導致瘦弱死掉。土壤則須選擇排水良好的土壤
為宜,蕃茄雖較耐乾燥,但過於乾燥則容易引發底腐病,過濕則又容
18
易得青枯病,所以排水良好的土壤較容易做好水分的管理,播種後約
7~10 天以上發芽,大概在發芽後的 5~7 個禮拜,樹苗有 4-5 片葉子
之後便可以定植,由於蕃茄的側芽生長的速度既快且多,所以需要定
期的去摘側芽,避免養分被過多的側芽吸走,才能讓果實吸收足夠養
分。
2-6 觀賞用五彩甜椒介紹
圖 9 觀賞用五彩甜椒
甜椒屬於茄科番椒屬,其原產地為中美洲、南美洲熱帶地區,其
中具辛辣味者稱之為辣椒 hotpepper,而不具辛辣味者稱之為甜椒
sweet pepper 統稱為番椒 pepper,學名為:Capsicum annuum L.。
適溫範圍 18~30℃、20~26℃,最高溫為 35℃,最低溫 10℃,需要大
19
量日照,至少六小時。台灣各區播種適宜時期略有差異,中北部春播
(2-4月)或秋播(8-10月)均可,番椒不適合直接播種在室外土裡,因
為長得很慢,一下子就被雜草給把養分都吸收掉了,所以要先單一盆
育苗,再移植,番椒的根系並不深,土壤需排水良好,所以需要把種
子放入 5~10公分(大約中指的長度)深的土裡,播種後約 7~10天以上
發芽,大概在發芽後的 6~8個禮拜,樹苗有 5-6片葉子之後才適合定
值在室外泥土裡或是大型盆栽與其他蔬果生存。定植後到開第一朵花
之前都不用特別處理,但是隨著時間成長,植株會分開成兩個或三個
分枝,每個分支之後又會再分成兩枝,一直往上長。在第一個分叉處
,會開出第一個小白花,需要把它摘掉,這樣讓植株才會大棵,因為
它有更多時間先變強壯,再進入繁殖期,這樣才不會浪費營養在長葉
子,而搶走果實所需的養分,甜椒開花後多數為自花授粉受精,果實
發育是自受精後種子形成。
20
第三章 元件介紹
3-1 植物栽培的自動灌溉系統架構及功能
圖 10 系統架構圖
將電源開啟後 Arduino控制板將讀取土壤濕度感測器數值,若感
測器回傳的土壤濕度不足,則 Arduino控制板將通知繼電器供電於進
水電磁閥將閥芯吸開,讓水流經過水流量感測器,用於感測水流量計
算並將澆水量回傳給 Arduino 控制板,並使用 XBee 將收到的澆水量
與澆水時間回傳於與個人電腦相連接的 Arduino 控制板,來傳輸到
mdb資料庫的,方便我們統整運作資料。
21
3-2 水流量感知器
圖 11 水流量感知器
表 5水流量感知器元件規格表
元件規格
外管螺紋 4分管外螺紋 ( G1/2 )
最低額定工作電壓 DC 5V
工作電壓範圍 DC 5 ~ 18 V
流量範圍 1 ~ 30 L /min
最大工作電流 15 mA(DC 5V)
負載能力 ≤10 mA(DC 5V)
使用溫度範圍 0°C ~ 120°C
使用濕度範圍 35% ~ 90%RH(無結霜狀態)
22
允許耐壓 水壓 1.75Mpa以下
保存溫度 -25 ~ 80℃
保存濕度 25% ~ 95%RH
水流量感知器主要由塑料閥體、水流轉子組件和霍爾傳感器組成
。當水流通過水流轉子組件時,磁性轉子將會轉動並隨著流量變化轉
速也跟著變化,霍爾傳感器將會輸出相應脈衝信號,將反饋送達控制
器,並由控制器判斷水流量大小,進行調控。
在此專題中我們主要用來測量水流量,用來管理出水量是否有到
達所需水量,若以達到程式所設定的數值時,將會發送信號命令
Arduino板停止供水,以確保固定時間內不會供給過多的水量,導致
植物死亡。
23
3-3 進水電磁閥
圖 12 進水電磁閥
表 6 進水電磁閥元件規格表
元件規格
電壓 DC12V、DC24V、AC220V
水壓控制
微壓閥(有壓)和無壓閥(無壓)
有壓閥適用於 0.02~0.8水壓
無壓閥適用於 0~0.15水壓
額定功率 5W
使用流體 0~100°C水
進水電磁閥由閥芯、線圈、金屬過濾網、閥底、彈簧等組成,當
電磁閥通電後,線圈產生磁力,將閥芯吸開,水即可通過,反之,斷
24
電後,磁力消失,閥芯依靠彈簧閉合。我們使用的電磁閥主要為常閉
式進水電磁閥。
在此專題,我們使用的進水電磁閥為當 Arduino接收到土壤濕度
不足需供水的訊息時,會給繼電器開啟信號,使其供電給進水電磁閥
,讓進水電磁閥的線圈產生磁力以吸開閥芯,水流方能通過,並依據
水流量感知器與土壤濕度的回傳數值判斷是否關閉電磁閥。
25
3-4 土壤濕度感測器
圖 13 土壤濕度感測器
表 7 土壤濕度感測器
元件規格
電壓 3.3V 或 5V
工作電流 小於 20mA
輸出電壓
0-2.3V[依照濕度來影響電壓、2.3V 為浸泡於水
中]
感測器類型 類比輸出
輸出電壓 3/4.5/6/7/9/12V
介面定義 S腳:開關信號輸出、+腳:正極、-腳:負極
26
用於感測菜園、花園與家庭花盆土壤的濕度,並且通過信號將土
壤濕度值回傳伺服器。
在此專題中,主要用來查看土壤溼度,若濕度到達程式所指定濕
度,將會回傳信號至 Arduino板後控制繼電器來關閉進水電池閥停止
放水,反之開始放水。
3-5 繼電器
圖 14 繼電器
表 8繼電器元件規格表
元件規格
型號 SRD-05VDC-SL-C
27
交流電源 10A/250V與 125V
直流電源 10A/30V與 28V
繼電器(Relay),為一種電子控制元件,具有輸入和輸出迴路系
統,通常應用於自動控制電路中,作用為使用較小的電流去控制較大
電流的一種「自動開關」。常於電路中用於安全保護、自動調節、電
路轉換等作用。
在此專題我們利用此元件進行電源控制,若是土壤濕度感測器感
測到的濕度不足時,會由 Arduino板給予繼電器信號後繼電器將給予
進水電磁閥所需之電力,反之,若是 Arduino接收到的訊息是土壤濕
水流即無法通過。
28
3-6 XBee無線通信模組
圖 15 XBee無線通信模組
表 9 XBee無線通信模組元件規格表
元件規格
工作電壓 2.8 ~ 3.4V
針腳數量
共 20個針腳,9個數位 I/O 及 5個類比/數位
輸入腳
室內傳輸距離 30公尺
室外傳輸距離
(無遮蔽物)
100公尺
無限工作頻率 2.4GHz
無線傳輸資料速率 250Kbps
29
XBee[6]是 Digi International公司製造的低耗能、低成本、具
備資料採集功能的無線通信模組,XBee也依照天線的種類,分為線型
天線、晶片型天線、RCB 印刷型天線等等,並且它也支援 802.15.4(
點對點網路通訊協定)或者 ZigBee Mesh Network(網狀網路)協定。
此專題中,我們將 XBee 用於將進水電磁閥的狀態與土壤濕度感
測器所感測到的資料傳輸到電腦中的 Access 資料庫中,讓使用者知
道系統灌溉之時間。
30
第四章 系統架設及實驗說明
4-1 灌溉系統架設說明
本章節將詳細介紹灌溉系統之架構與植物生長狀況。
4-1-1 儲水器設計與組裝
儲水器的設計是以一空桶與水龍頭、水管做連接,將空桶下方切
一開口,將水龍頭的一側放入空桶中,再以矽利康將其連接處黏著、
固定,接著將水龍頭出水口與水管接頭、水管做連接,再以鐵絲、木
棍固定,使水龍頭與水管呈直角,最後用矽利康將其加以固定,結果
如圖 16。
圖 16儲水器製作過程
31
放置一段時間使矽力康凝固後,將水桶放置於高處並將開關開啟
以實驗水龍頭與矽力康的是否完全密合,查驗是否有漏洞導致漏水問
題,若有漏水問題則確認漏水點,將其擦乾並用矽力康填補。
圖 17 儲水器成品 圖 18 儲水器開關測試
32
4-1-2 灌溉管線設計與組裝
灌溉管線的設計是以一「目」字管線設計方式,用塑膠管連接
成一個目字形,接著在管線的上、下方開孔,讓灌溉用水能夠均勻
地灑在植物周圍的土壤中,使其能夠吸收水分,此管線所需材料如
下表 10所示。
表 10 灌溉管線材料表
材料名稱 材料用途
塑膠管 作為主要流通管線。
水管接頭 連接其他管線。
止瀉帶 防止管線漏水。
矽利康(silicone) 黏著、固定管線。
灌溉管線的組裝方式為先裁切長度適中之塑膠管,接著在水管接
頭的雙邊出口纏繞止瀉帶用以防止漏水,且可使水管接頭與塑膠管的
連接更加穩固,將塑膠管與水管接頭連接後,再用矽利康將連接點加
以固定,最後在塑膠管上、下方開孔,下方開孔使其能夠流通、灌溉
,而在塑膠管上方開孔是用於使空氣流通,若是管線內無空氣,則水
無法順利流出。
33
圖 19 塑膠管與水管接頭連接
圖 20 灌溉管線圖
圖 21 灌溉管線滴水測試
34
4-1-3 水流控制管線設計與組裝
水流控制管線的設計是以一水管作為主要流通管道,連結上方儲
水器與下方灌溉管線,且在此水管的中間分別加上 Arduino UNO開發
板、進水電磁閥、水流量傳感器與土壤溫濕度感測器,用以控制水源
開關、偵測通過管線之水流量及接收土壤資訊。
圖 22 水流控制管線圖
35
4-1-4Arduino UNO 開發板
Arduino UNO開發板的電力來源是以一般供電插座,連接六段
整流電源轉接器調整其輸入電壓至 12伏特,Arduino UNO開發板上
的 5V與 GND腳位分別連接到正負極面包板上,提供其他感測器所需
之工作電壓,類比輸入腳位 A0連接土壤溫濕度感測器,蒐集土壤資
訊,數位輸入腳位 D2則是連接水流量傳感器,偵測水是否流通,並
收集水流資訊,確認已流過水流量,而數位輸入腳位 D7則是連接繼
電器與進水電磁閥,若是土壤溫濕度感測器偵測到土壤濕度不足時
,會透過繼電器控制進水電磁閥的開關,進而達到放水與停止供水
的效果,開發板之詳細配置如下圖 23。
圖 23 線路連接圖
36
4-1-5 灌溉系統組裝與功能測試
將儲水器固定在鐵架上方,與水流控制管線連接在一起,並讓水
流控制管線後端垂直向下,使水流量感知器能夠精準計算圈數。
將盆栽放置鐵架下方,灌溉管線放置於盆栽內,再與水流控制管
線連接,當水流到達灌溉管線後,水會透過洞口漏出以達到澆水的功
能。
圖 24 水桶固定在鐵架上方 圖 25 灌溉管線連接
37
圖 26 完成圖
38
4-2Arduino 程式設計說明
圖 27 程式執行流程圖
39
4-3 資料庫及資料收集程式設計說明
圖 28 Access資料庫收集到的監控資料
表 11 資料庫表格定義
意義 名稱 資料型態 說明
識別碼 ID integer 資料的編號
水閘狀態 status integer
水閘開關狀態
0=關閉、1=開啟
日期 date datetime 資料傳回日期
時間 time datetime 資料傳回時間
土壤濕度值 humi integer 土壤濕度資料
40
我們將 Access資料庫用於收集、彙整本專題之資料,透過 Xbee
通訊模組,將自動灌溉系統的資料傳送到個人電腦中,並使用 VB.Net
所撰寫之資料傳輸介面,設定連接 COM Port、Baud Rate,將資料寫
入 Access資料庫中。
4-4 植物栽培之觀察說明
本節描述專題過程中,植物栽培的完整紀錄過程。本次實驗是從
種子播種培養開始,種子約二個星期後發芽,等發芽後並移植至大盆
栽,如圖 30所示。植物經過 9-10週的培養,彩椒及番茄分別成長為
10及 15公分,如圖 31所示。
圖 29 XBee通訊流程圖
41
圖 30種子發芽及移植
圖 31植物成長狀況(9-10週)
植物成長到 12 週時,將植物移至光線充足的場所,以增加日照
的時間,因為它們皆屬於常日照植物,如圖 32 所示。植物有了充足
的日照,成長明顯加快,彩椒在 15週時已開始開花,如圖 33所示。
圖 32植物成長狀況(12週)
42
圖 33植物成長狀況(15週)
植物種植歷經 17 週時,因專題所發展的自動灌溉系統已完成,
為了連接固定電源,再次移動植物位置到四樓陽台,並安裝鐵立式架
及灌溉管線、控制板、感測器、水桶及電磁閥等控制組件,如圖 34所
示。甜椒於第 20 週第二次開花,如圖 35 所示,我們並於 20 週幫甜
椒進行人工授粉作業。
圖 34植物成長狀況(17週)
43
圖 35植物成長狀況(20週)
蕃茄在第 20週以後開始快速生長,到 22週時甜椒已開始有花苞
,如圖 36 所示。又隔 2 週後,蕃茄開始開花,我們亦進行人工授粉
作業,如圖 37所示。植物成長到第 29週,蕃茄已結實累累且甜椒結
出三顆果實,如圖 38所示。
圖 36植物成長狀況(22週)
44
圖 37植物成長狀況(24週)
圖 38植物成長狀況(29週)
45
第五章 問題與討論
此問題討論為在製作自動灌溉系統的過程中,遇到的問題及解決
的方法。
問題一:灌溉水經由水流控制管線到達灌溉管線,但水流量感知器無
法正確計算通過之灌溉水流量,導致灌溉水量過多,如何解決?
解決方法:此現象是因水流量感知器之葉輪無法正常轉動,導致程式
無法得知實際通過管線之水流量,只要將水流量感知器的進出水口呈
垂直狀,讓水流由上往下,葉輪即可正確的計算葉輪轉動之圈數。
問題二:天氣不佳下雨可能導致元件受潮造成設備損毀,如何解決?
解決方法:運用紙箱在元件上方蓋住,防止設備進水造成損壞。
問題三:在製作水流量感知器與進水電磁閥時,我們選擇使用 Arduino
程式來製作,由於之前在課堂上沒有學過利用 Arduino IDE進行程式
開發,所以在製作上遇到了些瓶頸,如何解決?
解決方法:指導老師在空閒時間教導我們 Arduino的相關設計方法,
並上網自行學習,再與組員和指導老師互相討論後將程式完成。
問題四:考量到耗電量問題,Arduino程式執行後,如每秒每分偵測
46
濕度,電量損耗太高,如何解決?
解決方法:濕度並不會在極短的時間快速改變,因此我們在程式開頭
新增了一段數秒計時,每當達到 600秒時,就會偵測一次土壤濕度,
利用此方式,耗電量的問題就可以改善。
問題五:Arduino 控制板與部分電子元件是怕水的元件,在室外使用
可能會因雨水而導致元件受損,如何解決?
解決方法:將 Arduino控制板外加裝 Arduino UNO ABS 工控專用機
殼,在進其他電子元件上方用外殼或塑膠布蓋住,以防止元件因雨水
而損毀。
47
第六章 結論
6-1 研究結論
本專題已實現簡單且低成本之物聯網技術應用植物自動灌溉系
統,一般家庭種植皆可應用,不需要花費過多的時間與金錢即可自動
灌溉。在專題實作中,難免會遇到問題,如何解決問題正是小組在製
作專題實之重點,我們小組在每週的小組會議中,都會提出現今面臨
到的問題,透過與指導老師、組員討論,進而得出解決問題之方法,
這些都使我們向實現專題目標更邁進一步。
在物聯網智慧生活的應用討論中,我們探討出如今務農業者越來
越少,導致農業人力不足,且青年人口務農意願低落,需以科技來彌
補這個缺口,讓農業能夠更加順利發展,以提升務農業者的生活品質
及農產品質。
6-2 未來發展方向
本專題目前已可實現濕度偵測與自動灌溉功能,在未來可以增加
幾項功能,使植物自動照護系統更加完善。
(1)營養劑管線:
本專題設計目前僅有水分灌溉管線,若是以相同之管線設計方式,
增加一條專門灌溉植物用營養液之管線,並定時施放適宜用量,能夠
使植物生長更加成功。
48
(2)提醒使用者蓄水槽之水量:
未來夏季的溫度恐會越來越高,水氣蒸發的速度會增加,可能導致
灌溉次數增加,若是疏忽儲水器內灌溉水剩餘量,恐導致灌溉水量不
足,無法達成自動灌溉功能,因此可以增加水位感測器元件,偵測當
前儲水器內剩餘水量,透過 XBee 將資訊傳回資料庫,則使用者能夠
得知當前儲水器狀況,判斷是否加水。
49
參考文獻
[1]Arduino官方網站, https://www.arduino.cc
[2]Raspberry Pi官方網站, https://www.raspberrypi.org
[3]維基百科:C++, https://zh.wikipedia.org/wiki/C%2B%2B
[4]維基百科:Visual Basic .NET, https://zh.wikipedia.
org/wiki/Visual_Basic_.NET
[5]Microsoft Access - Microsoft Office, https://products
.office.com/zh-tw/access
[6]XBee模組通訊實驗:認識 XBee, http://swf.com.tw/?p=770
[7] 基於 arduino的自動澆花系統, https://read01.com/KoD07
.html
[8] 監控植物及遠程澆水控制, http://www.hksilicon.com/
\articles/273962
資
訊
管
理
系
修
平
科
技
大
學
專
題
實
務
報
告
黃煜翔
廖友禎
劉冠志
詹凱竣
王家佑
指導老師
張兆村
105