# Capacitive Soil Moisture Sensor v2.0 電容式土壤濕度感測器

## 基礎小知識
> ### HC-SR04 超聲波感測器
>
> 技術規格:
> * 工作電壓: 3.3 ~ 5.5 VDC.
> * 工作電流:5mA
> * 接口:PH2.54-3P
> * 尺寸 長x寬x高): 98 x 23 x 4 mm
> * 輸出:模擬輸出。
> * 重量:15g
> * 附註:支援3針重力感測器
>
## 簡單實作
### 接線表:
> GND -- GND
> VCC -- 5V
> AUOT -- A0
### 程式碼:
``` c
void setup(){
Serial.begin(9600); // 設定序列埠通訊頻率
}
void loop(){
int val;
val = analogRead(0); // 設定變數值為 A0 接口讀取值
Serial.println(val); // 在序列埠中顯示變數值(輸出完換行)
delay(100);
}
```
### 實作程式碼:
``` c =
const int AirValue = 520; // 宣告AirValue替換530
const int WaterValue = 260; // 宣告WaterValue替換260
// 感測器檢測範圍為 530 - 260
int intervals = (AirValue - WaterValue) / 3; // 計算濕度等級的級距 約90
int soilMoistureValue = 0;
// 乾燥數值範圍: 520 - 430
// 潮濕數值範圍: 430 - 350
// 非常潮濕數值範圍: 350 - 260
void setup()
{
Serial.begin(9600); // 開啟串行通訊並將鮑率設為9600
}
void loop()
{
soilMoistureValue = analogRead(A0); // 將感測器插入土壤並讀取濕度值
if (soilMoistureValue > WaterValue && soilMoistureValue < (WaterValue + intervals))
{
Serial.println("非常潮濕");
}
else if (soilMoistureValue < WaterValue )
{ Serial.println("幾乎在水中");
}
else if (soilMoistureValue > (WaterValue + intervals) && soilMoistureValue < (AirValue - intervals))
{
Serial.println("潮濕");
}
else if (soilMoistureValue < AirValue && soilMoistureValue > (AirValue - intervals))
{
Serial.println("乾燥");
}
else if (soilMoistureValue > AirValue )
{ Serial.println("在空氣中");
}
// 判斷濕度等級並在串行監視器上顯示
delay(100); // 延遲100毫秒以避免讀取太頻繁
}
```