The SEN0189 is a capacitive soil moisture sensor manufactured by DFRobot. It is designed to measure the volumetric water content in soil, providing an analog output that corresponds to the soil's moisture level. Unlike resistive soil moisture sensors, the SEN0189 is corrosion-resistant, ensuring long-term durability and reliability in outdoor environments. This makes it an excellent choice for agricultural applications, automated irrigation systems, and environmental monitoring projects.
The SEN0189 is a robust and easy-to-use sensor with the following technical specifications:
Parameter | Value |
---|---|
Operating Voltage | 3.3V - 5.5V |
Output Signal | Analog voltage (0-3.0V) |
Current Consumption | < 20mA |
Interface Type | Analog |
Measurement Range | 0% - 100% soil moisture |
Dimensions | 98mm x 23mm |
Cable Length | 1.5 meters |
Operating Temperature | -40°C to 85°C |
The SEN0189 has a simple 3-pin interface for easy integration into circuits. The pinout is as follows:
Pin | Name | Description |
---|---|---|
1 | VCC | Power supply input (3.3V - 5.5V) |
2 | AOUT | Analog output signal proportional to soil moisture |
3 | GND | Ground connection |
VCC
pin to a 3.3V or 5V power source, depending on your system's voltage level.AOUT
pin to an analog input pin on your microcontroller (e.g., Arduino).GND
pin to the ground of your circuit.Below is an example of how to connect and read data from the SEN0189 using an Arduino UNO:
VCC
to the Arduino's 5V
pin.AOUT
to the Arduino's A0
pin.GND
to the Arduino's GND
pin.// SEN0189 Soil Moisture Sensor Example
// This code reads the analog output of the SEN0189 and prints the moisture level
// to the Serial Monitor. Ensure the sensor is properly connected to the Arduino.
const int sensorPin = A0; // Analog pin connected to AOUT of SEN0189
int sensorValue = 0; // Variable to store the sensor reading
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
}
void loop() {
sensorValue = analogRead(sensorPin); // Read the analog value from the sensor
float voltage = sensorValue * (5.0 / 1023.0); // Convert to voltage (5V system)
// Print the raw sensor value and voltage to the Serial Monitor
Serial.print("Sensor Value: ");
Serial.print(sensorValue);
Serial.print(" | Voltage: ");
Serial.print(voltage);
Serial.println("V");
delay(1000); // Wait 1 second before the next reading
}
No Output or Incorrect Readings
VCC
, AOUT
, and GND
pins are properly connected.Fluctuating Readings
VCC
and GND
to stabilize the power supply.Sensor Not Responding
Inaccurate Measurements
Q: Can the SEN0189 be used in saline soil?
A: Yes, the SEN0189 is resistant to corrosion and can be used in saline soil. However, calibration may be required for accurate readings.
Q: How do I interpret the sensor's output?
A: The sensor outputs an analog voltage that decreases as soil moisture increases. You can map this voltage to a percentage value for easier interpretation.
Q: Can I use the SEN0189 with a 3.3V microcontroller?
A: Yes, the SEN0189 operates within a voltage range of 3.3V to 5.5V, making it compatible with 3.3V systems.
Q: Is the SEN0189 waterproof?
A: The sensing area is designed to be inserted into soil and can handle moisture, but the electronics should not be submerged in water.
By following this documentation, you can effectively integrate the SEN0189 into your projects and achieve reliable soil moisture measurements.