Capacitive Soil Moisture Sensor SKU:SEN0193 Capacitive Soil Moisture Sensor Contents 1 Introduction 2 Specification 3 Tutorial 3.1 Requirements 3.2 Connection Diagram 3.3 Calibration Code 3.4 Calibration 3.4.1 Calibration Range 3.4.2 Section Settings 3.5 Test Code 4 FAQ Introduction Our soil moisture sensor measures soil mositure levels by capacitive sensing rather than resistive sensing like other sensors on the market. It is made of corrosion resistant materal which gives it an excellent service life. Insert it in to the soil around your plants and impress your friends with real-time soil moisture data! This module includes an on-board voltage regulator which gives it an operating voltage range of 3.3 ~ 5.5V. It is perfect for low-voltage MCUs, both 3.3V and 5V. For compatibility with a Raspberry Pi it will need an ADC converter. This sensor is compatible with our 3-pin "Gravity" interface, which can be directly connected to the Gravity I/O expansion shield. Specification Operating Voltage: 3.3 ~ 5.5 VDC Output Voltage: 0 ~ 3.0VDC Operating Current: 5mA Interface: PH2.0-3P Dimensions: 3.86 x 0.905 inches (L x W) Weight: 15g Tutorial Requirements Hardware UNO x1 Capacitive Soil Moisture Sensor x1 Jumper Cable x3 Software Arduino IDE V1.6.5 Click to Download Arduino IDE Connection Diagram Calibration Code void setup() { Serial.begin(9600); // open serial port, set the baud rate as 9600 bps } void loop() { int val; val = analogRead(0); //connect sensor to Analog 0 Serial.print(val); //print the value to serial port delay(100); } Calibration Calibration Range 1. Open the serial port monitor and set the baud rate to 9600 2. Record the sensor value when the probe is exposed to the air as "Value 1". This is the boundary value of dry soil "Humidity: 0%RH" 3. Take a cup of water and insert the probe into it no further than the red line in the diagram 4. Record the sensor value when the probe is exposed to the water as "Value 2". This is the boundary value of moist soil "Humidity: 100%RH" The components on this board are NOT waterproof, do not expose to moisture further than the red line. (If you want to protect components from the elements, try using a length of wide heat shrink tubing around the upper-section of the board.) There is an inverse ratio between the sensor output value and soil moisture. Section Settings The final output value is affected by probe insertion depth and how tight the soil packed around it is. We regard "value_1" as dry soil and "value_2" as soaked soil. This is the sensor detection range. For example: Value_1 = 520; Value_2 = 260. The range will be divided into three sections: dry, wet, water. Their related values are: Dry: (520 430] Wet: (430 350] Water: (350 260] Test Code /*************************************************** This example reads Capacitive Soil Moisture Sensor. Created 2015-10-21 By berinie Chen GNU Lesser General Public License. See for details. All above must be included in any redistribution ****************************************************/ /***********Notice and Trouble shooting*************** 1.Connection and Diagram can be found here: https://www.dfrobot.com/wiki/ index.php?title=Capacitive_Soil_Moisture_Sensor_SKU:SEN0193 2.This code is tested on Arduino Uno. 3.Sensor is connect to Analog 0 port. ****************************************************/ const int AirValue = 520; const int WaterValue = 260; //you need to replace this value with Value_1 //you need to replace this value with Value_2 int intervals = (AirValue - WaterValue)/3; int soilMoistureValue = 0; void setup() { Serial.begin(9600); // open serial port, set the baud rate to 9600 bps } void loop() { soilMoistureValue = analogRead(A0); //put Sensor insert into soil if(soilMoistureValue > WaterValue && soilMoistureValue < (WaterValue + int ervals)) { Serial.println("Very Wet"); } else if(soilMoistureValue > (WaterValue + intervals) && soilMoistureValue < (AirValue - intervals)) { Serial.println("Wet"); } else if(soilMoistureValue < AirValue && soilMoistureValue > (AirValue - in tervals)) { Serial.println("Dry"); } delay(100); } FAQ There are no questions about this product yet. For any questions/advice/cool ideas to share with us, please visit DFRobot Forum. Powered By DFRobot (c) 2008-2017