Soil moisture sensor
SoilWatch 10 is a soil moisture sensor that allows you to measure relative water content in the soil. It’s far more superior to cheap resistive soil moisture sensors which you can buy anywhere. In our sensor design, there are no exposed electrodes that corrode within a few weeks. What’s more, the reads will almost not drift over time or with temperature changes. Our sensor will give the same readings regardless of the supply voltage. Sensor design makes it waterproof and weatherproof. It can be buried in soil for an extended period of time without adverse effects on accuracy.
Features:
- Accurate
- Easy to use
- 75Mhz capacitive sensor
- Waterproof and weatherproof proof
- Will last a lot longer than resistive soil moisture sensors
Applications:
- Irrigation management
- Soil moisture monitoring
Specification:
Voltage: 2.8 – 5.0V (absolute maximum 5.5V) for 1.1V version
Voltage: 3.1 – 5.0V (absolute maximum 5.5V) for 3V version
Output: 0 – 1.1V (approximately) – 1.1V version
Output: 0 – 3.0V (approximately) – 3V version
Max Current: ~14mA
Temperature drift: Usually less than 5mV
Operating temperature: –20 to 80 °C
Dimensions: 170x25x15mm
Weight: 52g; 120g; 210g; 400g
Cable: 1.5m; 5m; 10m; 20m
Connections:
- Brown – VCC (+)
- Green – VDD (-)
- White – Output
Download:
Datasheet: SoilWatch10
Arduino Example:
/* SoilWatch 10 soil moisture sensor example Reads analog value of soil moisture sensor and displays it on the serial port. The circuit: * Sensor output (white wire) connect to Analog A0 on Arduino. Connect VCC (brown wire) to 3.3V or 5V on Arduino (3.3V gives more stable readings) Connect GND (green wire) to GND on Arduino. created 30 Aug. 2017 last updated 9 Feb 2018 by Piotr Trembecki https://pino-tech.eu/sw10 This example code is in the public domain. */ /* ******** SETUP ******** For 1.1V version set is1V1Output to true. The usual maxADC value will be around 1000. For 3V version set is1V1Output to false. The usual maxADC value will be around 600. *********************** */ const int analogInPin = A0; // Analog input pin that the sensor output is attached to (white wire) int minADC = 0; // replace with min ADC value read in air int maxADC = 600; // replace with max ADC value read fully submerged in water bool is1V1Output = false; // set true if 1.1V output sensor is used for 3V set to false int moistureValue, mappedValue; void setup() { // initialize serial communications at 9600 bps: Serial.begin(9600); if(is1V1Output == true) analogReference(INTERNAL); //set ADC reference to internal 1.1V } void loop() { // read the moisture value: moistureValue = analogRead(analogInPin); // print ADC results to the serial monitor: Serial.print("ADC = " ); Serial.print(moistureValue); Serial.print(", " ); mappedValue = map(moistureValue,minADC,maxADC, 0, 100); // print mapped results to the serial monitor: Serial.print("Moisture value = " ); Serial.println(mappedValue); // wait 500 milliseconds before the next loop delay(500); }