ESP32 專題(二) 智慧植栽 – 自動澆灌裝置(上)

一、前言

想成為綠手指卻不知道該如何幫你的寶貝植栽澆水嗎?想要讓家中植栽長得健康又漂亮,植物「飽水度」正是關鍵之一喔!

剛入門培養植栽常常因為澆水過多或澆水的時間和方式錯誤,導致植栽因澆水太多而淹死இдஇ,或因澆水未澆透,澆不透就會變成俗稱的「攔腰水」,土只濕了一半,水分未能滲入植株根部,不均勻的澆水方式也會導致植物「長歪」。

那麼到底應該隔多久澆一次水?每天又要澆水多少呢?其實這並沒有標準答案,原則上是微乾才澆水,但不能只看土壤表面,很多時候土壤表面乾並不代表缺水,需要進一步檢查土壤深層的濕度才會知道喔!

聰明的各位是不是跟我想的一樣呢?如果可以擁有一台專屬的「自動澆灌裝置」那該有多好?讓它能夠檢測當前土壤水分含量,不必再用「手指」判斷澆水時機,透過網頁方式呈現,並且可設定自動澆水的方式,提供智慧澆水(根據當前土壤水分自動澆水)、定時澆水手動澆水等功能,這樣不管你是新手或是平時不在家甚至要出遠門,都不必再擔心你的寶貝植栽喝太多水或是忘記喝水了!(❁´ω`❁)

二、成品 Demo

開始分享操作步驟之前,先來看看完成後的成品是什麼樣子吧!

自動澆灌裝置示意圖如下所示 :

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

接著示範「自動澆水」模式,如果將自動澆水下限設為 50%,裝置就會開始自動澆水,直到高於下限 10%(60%)為止,控制頁面的顯示如下:

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

自動澆灌裝置的示範影片如下:

三、製作目標

我們這次的目標就是要從零開始打造一個「自動澆灌裝置」,它能夠檢測當前土壤水分含量,透過網頁方式呈現,並且可設定自動澆水方式,提供智慧澆水(根據當前土壤水分自動澆水)、定時澆水手動澆水等功能。

四、所需材料與工具

這次 ESP32 自動澆灌裝置所需要的材料與工具如下:

1. 材料

2. 工具

五、架構說明

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

上圖為本次 ESP32 自動澆灌裝置的詳細架構圖,其中因為 M5Stamp Pico 並沒有 USB Bridging,在初次燒錄程式時我們必須透過「CP2102模組USB轉TTL」燒錄程式,只要在程式裡加上 OTA 上傳的程式碼,往後即可透過 Wi-Fi OTA燒錄;M5Stamp Pico 開發板會讀取土壤水分感測器類比輸出訊號(AO,Analog Output),以及透過數位輸出訊號(DO,Digital Output)控制抽水馬達轉動,最終 M5 Stamp Pico 與瀏覽器之間的通訊協定會使用 HTTP 方式,瀏覽器就能顯示感測器當前狀態並將使用者設定內容傳回 M5Stamp Pico

六、硬體介紹

1. M5 Stamp Pico

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

M5Stamp Pico,它最大的優勢為超小體積,僅 18 x 24 x 4.6mm(小到不可思議 Σ(°Д°;),內部晶片使用集成後的 ESP32-PICO-D4,ESP32-PICO-D4 集成了 ESP32、晶振、Flash、濾波電容、RF 匹配電路等所有外圍所需元件,所以只需要一顆 ESP32-PICO-D4 即可工作,也因為不再需要外圍周邊元件,所以體積能夠縮得特別小,但也因為主打體積小,所以比起一般 ESP32 開發板,M5 Stamp Pico 少了 USB Bridging,需要外接轉接器才可燒錄;M5Stamp Pico 在 IO 方面則提供基本的 SPI、I2C、ADC、DAC、UART,另外還板載一顆 SK6812 RGB LED。

2. M5Stack 土壤溫溼度感測調節模組

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

M5Stack 土壤溫溼度感測調節模組,從名稱來看可能無法馬上清楚了解它的功能及優勢,簡單來說它具有可以量測土壤水分的感測器,並且還搭配了一顆 5W 水泵,量測與澆水一次完成,最後共用一個 Grove 接頭作為輸入輸出,它的優勢在於感測部分「使用電容式量測」,比起市面上一般土壤濕度感測器的電阻量測原理,可以有效避使用後電極板腐蝕的問題,並且已經在內部簡化了控制水泵的電路,我們只需要提供一般數位小訊號即可輕鬆控制水泵開關。

3. CP2102 USB 轉 TTL模組

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

CP2102 USB 轉 TTL 模組,能夠轉接 USB 訊號到 TTL 訊號,一般開發板上都會有,但我們這次因為挑選了體積小的 M5Stamp Pico 開發板,所以在首次燒錄程式碼需要透過這顆轉接器,其中我們也順便將它作為平常用的供電來源。

七、組裝說明

1. 準備材料如下:

  • M5Stamp Pico x 1(內附Grove接頭)
  • M5Stack 土壤溫溼度感測器 x 1(內附軟水管)
  • CP2102 USB 轉 TTL 模組 x 1
  • Grove To Grove 5cm x 1
  • 母端杜邦雙頭線+4p 母座-1p 母座 x4 /30cm
  • M4 x 16mm 內六角螺絲 x 2
  • M4 螺帽 x 2
  • 十字圓頭螺絲 M2x8mm
  • 排針 2.54mm 2p x 1,5p x 1
  • 客製化壓克力 x 1
  • 短路跳帽 x 1
ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

2. 將 M5Stamp Pico 焊上 Grove 連接器與排針,排針接於右側 5V、G,以及左側 G1 ~ G

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

3. 將壓克力依照下圖的方式鎖上並固定

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

4. 在壓克力上安裝 M5Stamp Pico

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

5. 使用 Grove 線連接土壤感測器與 M5Stamp Pico

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

6. 使用杜邦線連接 CP2102 模組

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

7. 使用杜邦線依照下表連接 M5Stamp Pico

M5Stamp-PICOCP2102模組
+5V5V
GNDG
RXDG1
TXDG3
ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

8. 將兩條水管如下圖所示安裝至 M5Stack 土壤溫溼度感測調節模組

ESP32 專題(二) 智慧植栽 - 自動澆灌裝置

八、量測原理

土壤濕度感測器有以下幾種不同的量測技術,它們主要區別在於精度和製造成本不同,以及探頭的整體耐用性;我們這次用到的量測技術為電容(電荷),相關說明如下所示:

量測技術 量測原理 物理方法 主要量測基礎
時域反射 量測電磁波發送出去到末端反射回來的時間。記錄一定時間間隔內的電壓脈衝反射次數,並輸出反射週期,經過校正後這個週期與體積土壤水分直接相關。 發送電磁波在金屬棒到反射回來的時間 相對介電常數
時域透射 量測探頭上同一方向的電磁波發送總時間 電磁波穿過環形或閉合電路棒的時間  相對介電常數
電容(頻率) 量測向外傳播並反射回感測器的電磁波頻率變化 輸入與輸出頻率的差 相對介電常數
電容(電荷) 使用探頭周圍的介質作為介電材料,量測電容器的充電時間 電容充電時間 電容
差分幅度 量測入射信號與反射信號之間的差異,計算出阻抗 反射幅度的差異 相對介電常數
同軸阻抗介電反射 量測反射電壓與 50Mhz 入射信號的電壓比,這取決於探棒之間的介質阻抗 阻抗與反射幅度比 絕對介電常數
中子探測 透過探頭發射快中子並與土壤中現有水氫粒子碰撞進而減慢中子速度,量測慢中子的計數率(代表土壤的含水量) 發射中子與氫原子碰撞 相對介電常數
土壤重量 根據濕潤與乾燥土壤重量來量測土壤含水量 去除所有水分前後土壤的重量差異

下圖為全球土壤水分量測技術的普及率,可以發現最常被使用的技術是「同軸阻抗介電反射」技術,它的優點在於精度高,並且在大多數土壤不需要校正,但也因為需要在感測器內部進行複雜的數學計算以及量測反射信號,比起電容式量測成本高出許多。

下一篇文章我們會更進一步從程式到網頁的使用介面設計分享,一起將專屬的自動澆灌裝置完成吧!