Screenshot 2025-02-25 152628.png

植物澆水是許多人初學Arduino時會選擇的第一個實用的專題。這個專題的有幾個重點,先從土壤濕度感測器去偵測土壤的濕度,如果太乾,就透過繼電器,啟動抽手馬達澆水。

我們提供的套件裡,還配有一個電源板和9V的外接電源,這樣可以讓接線變得簡單,還能利用外部電源供電給UNO板和抽手馬達。

購買Arduino植物澆水套件:
https://www.jmaker.com.tw/products/watering

相對於繼電器來說,土壤濕度感測器的操作很簡單,它可以選擇數位輸出或是類比輸出。如果選擇數位輸出那UNO板就要接DO腳,乾濕的分界值就是透過轉接板上的十字旋鈕去控制。

若是用類比輸出,接的是AO腳,會比較靈活,你會得到0~1023之間的值,可以從程式中去判斷濕或乾。這個例子我們是用類比輸出的方式。

Screenshot 2025-02-25 170641.png

土壤濕度感測器的接線:

AO >> A0
VCC >> 3.3V
GND >> GND

再來就是繼電器了,這次用的是高電平版本,至於詳細用法,如果還不熟悉的朋友,可以參考我們專文的介紹。

GND >> GND
VCC >> 5V
S >> PIN7

繼電器(Relay)的使用:
https://blog.jmaker.com.tw/arduino-relay/

另外還有一個主角:馬達。它就只有兩條線:

正極 >> 繼電器上的NO
負極 >> 電源板上的GND

我們也介紹一下電源板的接法:

馬達和UNO板的GND >> 都接到電源板上的GND
繼電器COM >> 3.3V
UNO板的VIN >> 3.3V
DC座 >> 9V電源 (一定要接!)

Screenshot 2025-02-25 152656.png

以下是詳細的接線圖:

watering.png

再來就是寫程式了,程式很簡單,就是偵測土壤的濕度,濕度的數值可以在監控視窗看到,可自行調整臨界值的百分比。然後再判斷是不是要啟動馬達供水;如果需要供水,就啟動一定的時間,然後停止。


/*
 * 本程式為Arduino植物澆水的範例程式,由傑森創工提供
 * 購買套件:https://www.jmaker.com.tw/products/watering
 * 
 * 粉絲團:https://www.facebook.com/jasonshow
 * 傑森創工購物網:https://www.jmaker.com.tw/
 * 傑森創工部落格:https://blog.jmaker.com.tw/
 */

void setup() {
  pinMode(7,OUTPUT);
  Serial.println(moisture);
}

void loop() {
  int moisturePin = analogRead(A0); //從A0讀取土壤濕度的數值
  int moisture = ( 100 - ( (moisturePin / 1023.00) * 100 ) ); //把讀到的數值換算成百分比
  Serial.println(moisture);
  if (moisture < 40) { // 如果低於某個百分比,就讓馬達運作。但這個數值是依你的植裁來決定的,請自行修改。
    digitalWrite(7, HIGH); //啟動馬達
    delay(2000);      // 抽水的時間,這個也自行決定。
  }
  else {
    digitalWrite(7, LOW);  // 關閉馬達
    delay(60000);      // 要進行下次偵測濕度前,停留多久,這個也可以自行決定。
  }
}

植物自動澆水系統套件

NT$ 595

立刻購買