# Capacitive Soil Moisture Sensor v2.0 電容式土壤濕度感測器 ![](https://i.imgur.com/B2QHQwu.png) ## 基礎小知識 > ### 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毫秒以避免讀取太頻繁 } ```