Arduino in combination with soil moisture sensor
Quick guide shows how to use the soil moisture sensor with Arduino microcontroller.
In this example we used the following elements:
Connection
The module works directly with the Arduino, so no need for an external source of energy. Contacts connect your null-modem according to the following table:
| Pin Arduino | Pin Sensor |
|---|---|
| 5 V | VCC |
| GND | GND |
| pin A0 | A0 |
| pin 2 | D0 |
The remaining two pins from the sensor module connected to the measurement probe using the supplied cable as shown in the following figure:
Scheme of the system.
Service
The output D0 is in digital form. By default, in high condition, and upon detection of the moisture goes into a low state. The sensitivity can be regulated with the built-in potentiometer. The A0 analog output is working, and decreases the voltage with increasing moisture content (to it is inversely proportional). In the example we will use a simple program code that on a regular basis will show on the serial monitor the values read from A0 and D0.
int sensor_A0 = A0; // A0 for connection from the sensor to A0 on Arduino
sensor_D0 int = 2; // connect D0 on the sensor to pin 2 of Arduino
wartosc_A0 int; // variable for the value of A0
wartosc_D0 int; // variable for the value of A0
void setup() {
Serial.begin(9600); // start the monitor serial port
pinMode(2, INPUT); // set pin 2 as input
}
void loop() {
wartosc_A0 = analogRead(sensor_A0); // load the values for A0
wartosc_D0 = digitalRead(sensor_D0); // load values D0
Serial.print("D0: "); // display on serial monitor
Serial.print(wartosc_D0);
Serial.print(" -- A0: ");
Serial.println(wartosc_A0);
delay(200); // delay between consecutive readings
}
The results of the program you can see in the following screenshot.

A screenshot of the serial monitor.
