Sensor kelembaban tanah - arduino

Cara mengakses Soil Moisture Sensor secara Online

Soil Moisture Sensor merupakan module untuk mendeteksi kelembaban tanah, yang dapat diakses menggunakan microcontroller seperti arduino, NodeMCU ESP8266.

Sensor kelembaban tanah ini dapat dimanfaatkan pada sistem pertanian, perkebunan, maupun sistem hidroponik mnggunakan hidroton.

Soil Moisture Sensor dapat digunakan untuk sistem penyiraman otomatis atau untuk memantau kelembaban tanah tanaman secara offline maupun online.

Sensor yang dijual pasaran mempunyai 2 module dalam paket penjualannya, yaitu sensor untuk deteksi kelembaban, dan module elektroniknya sebagai amplifier sinyal.

Soil Moisture sensor - paket penjualannya

 

Sensor ini mempunyai potensiometer yang digunakan untuk penyesuaian sensitivitas output digital (D0).

Selain itu terdapat output Analog atau tegangan analog jika ingin mengkonversi output tersebut menjadi data menggunakan ADC.

Bagian dari electronic module - Soil Moisture sensor

Bagaimana cara kerjanya?

Pada saat diberikan catudaya dan disensingkan pada tanah, maka nilai Output Analog akan berubah sesuai dengan kondisi kadar air dalam tanah.

Pada saat kondisi tanah :

  • Basah : tegangan output akan turun
  • Kering : tegangan output akan naik

Tegangan tersebut dapat dicek menggunakan voltmeter DC.

Dengan pembacaan pada pin ADC pada microcontroller dengan tingkat ketelitian 10 bit, maka akan terbaca nilai dari range 0 – 1023.

Sedangkan untuk Output Digital dapat diliat pada nyala led Digital output menyala atau tidak dengan mensetting nilai ambang pada potensiometer.

  • Kelembaban tanah melebihi dari nilai ambang maka led akan padam
  • Kelembaban tanah kurang dari nilai ambang maka led akan menyala

Contoh: Soil Moisture Sensor dengan Arduino dan i2c LCD

Dalam contoh ini, digunakan display i2c LCD yang akan menampilkan nilai output sensor analog dari pembacaan sensor kelembaban tanah ini.

Berikut rangkaian yang harus dirangkai :

Moisture Soil Sensor and Arduino + i2c LCD - nyebarilmu.com

Bahan –  bahan yang diperlukan :

  1. Arduino Uno
  2. Sensor kelembaban tanah Module
  3. I2C PCF8574
  4. LCD 16×2
  5. Kabel female to female secukupnya
  6. Kabel female to male secukupnya

Untuk wiring dapat diperhatikan rangkaian diatas.

[irp]

Kode program

/* www.nyebarilmu.com */

#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>

LiquidCrystal_PCF8574 lcd(0x38); //dapat dicek menggunakan i2c finder

const int digital_input =  2;

void setup(){
  pinMode(digital_input,INPUT);
  Serial.begin(9600);

  lcd.begin(16,2);
  lcd.setBacklight(255);

  lcd.setCursor(00,00);
  lcd.print(" nyebarilmu.com ");
  lcd.setCursor(00,1);
  lcd.print(" -SoilMoisture- ");
  delay(2000);
  lcd.clear();
}

void loop(){
  int adc = analogRead(A0);
  float tegangan = adc * (5.0 / 1023.0);
  Serial.print("ADC:");
  Serial.print(adc);
  Serial.print(" | ");
  Serial.print("tegangan:");
  Serial.println(tegangan, 2);

  lcd.setCursor(00,00);
  lcd.print("ADC:");
  lcd.setCursor(4,00);
  lcd.print(adc);

  lcd.setCursor(9,00);
  lcd.print("V:");
  lcd.setCursor(11,00);
  lcd.print(tegangan,2);

  int status_sensor = digitalRead(digital_input);
  lcd.setCursor(00,1);
  lcd.print("Status:");
  Serial.print("status:");

  if (status_sensor == HIGH) {
  digitalWrite(13, HIGH);  //Led builtin Arduino
  lcd.setCursor(7,1);
  lcd.print("Kering");
  Serial.println("Kering");
  }
  else {
  digitalWrite(13, LOW);
  lcd.setCursor(7,1);
  lcd.print("Basah ");
  Serial.println("Basah");
  }
  delay(2000);
   }

Digital output dapat diadjust dengan memutar potensiometer module elektroniknya sebagai nilai ambang pembacaan.

Hasil percobaan dari kode program diatas :

  1. Serial Monitor – Baut komunikasi

Serial monitor - trial sensor kelembaban tanah arduino

2. LCD 16×2

trial lcd display - ssensor kelembaban tanah arduino


Contoh 2: Soil Moisture Sensor dengan NodeMCU dan BLYNK

Untuk contoh kedua ini pembacaan sensor kelembaban tanah akan dibuat online melalui smartphone dengan aplikasi BLYNK.

Dimana aplikasi tersebut mudah digunakan dan gratis, serta stabil dalam pengiriman data dan pembacaan datanya.

Rangakaian Nodemcu dan soil moisture Sensor

Moisture Soil Sensor and Nodemcu

Bahan –  bahan yang diperlukan :

  1. NodeMCU ESP8266
  2. Sensor kelembaban tanah Module
  3. Smartphone android + install “BLYNK”
  4. Kabel female to female secukupnya

Kode program

[sociallocker id=”1344″]

/* www.nyebarilmu.com */

#include <ESP8266WiFi.h> //library esp8266
#include <BlynkSimpleEsp8266.h> //library BLYNK

#define BLYNK_PRINT Serial

BlynkTimer timer;

char auth[] = "d8ff16e65ff044d18f9b6c3ad1eaa87b"; //cek email masing2 setelah setting di aplikasi BLYNK

char ssid[] = "Blok21no12"; //nama wifi
char pass[] = "Komponen08"; //password wifi

void myTimerEvent()
{
int adc = analogRead(A0); //PIN ADC di NODEMCU
float tegangan = adc * (5.0 / 1023.0);
Blynk.virtualWrite(V0,  adc); //Virtual wire "0" untuk data pembacaan ADC
Blynk.virtualWrite(V1,  tegangan); //Virtual wire "1" untuk data pembacaan ADC
}

void setup()
{
  Serial.begin(115200); //baud serial monitor
  Blynk.begin(auth, ssid, pass);
  timer.setInterval(1000L, myTimerEvent); //1000L = 1 detik
}

void loop()
{
 Blynk.run();
 timer.run();
}

[/sociallocker]

Hasil dari percobaan diatas

Trial BLYNK - Soil moisture Sensor

Terimakasih sudah berkunjung, salam nyebarilmu.com!

Sensor kelembaban tanah - arduino

Cara mengakses Soil Moisture Sensor secara Online

Soil Moisture Sensor merupakan module untuk mendeteksi kelembaban tanah, yang dapat diakses menggunakan microcontroller seperti arduino, NodeMCU ESP8266.

Sensor kelembaban tanah ini dapat dimanfaatkan pada sistem pertanian, perkebunan, maupun sistem hidroponik mnggunakan hidroton.

Soil Moisture Sensor dapat digunakan untuk sistem penyiraman otomatis atau untuk memantau kelembaban tanah tanaman secara offline maupun online.

Sensor yang dijual pasaran mempunyai 2 module dalam paket penjualannya, yaitu sensor untuk deteksi kelembaban, dan module elektroniknya sebagai amplifier sinyal.

Soil Moisture sensor - paket penjualannya

 

Sensor ini mempunyai potensiometer yang digunakan untuk penyesuaian sensitivitas output digital (D0).

Selain itu terdapat output Analog atau tegangan analog jika ingin mengkonversi output tersebut menjadi data menggunakan ADC.

Bagian dari electronic module - Soil Moisture sensor

Bagaimana cara kerjanya?

Pada saat diberikan catudaya dan disensingkan pada tanah, maka nilai Output Analog akan berubah sesuai dengan kondisi kadar air dalam tanah.

Pada saat kondisi tanah :

  • Basah : tegangan output akan turun
  • Kering : tegangan output akan naik

Tegangan tersebut dapat dicek menggunakan voltmeter DC.

Dengan pembacaan pada pin ADC pada microcontroller dengan tingkat ketelitian 10 bit, maka akan terbaca nilai dari range 0 – 1023.

Sedangkan untuk Output Digital dapat diliat pada nyala led Digital output menyala atau tidak dengan mensetting nilai ambang pada potensiometer.

  • Kelembaban tanah melebihi dari nilai ambang maka led akan padam
  • Kelembaban tanah kurang dari nilai ambang maka led akan menyala

Contoh: Soil Moisture Sensor dengan Arduino dan i2c LCD

Dalam contoh ini, digunakan display i2c LCD yang akan menampilkan nilai output sensor analog dari pembacaan sensor kelembaban tanah ini.

Berikut rangkaian yang harus dirangkai :

Moisture Soil Sensor and Arduino + i2c LCD - nyebarilmu.com

Bahan –  bahan yang diperlukan :

  1. Arduino Uno
  2. Sensor kelembaban tanah Module
  3. I2C PCF8574
  4. LCD 16×2
  5. Kabel female to female secukupnya
  6. Kabel female to male secukupnya

Untuk wiring dapat diperhatikan rangkaian diatas.

[irp]

Kode program

/* www.nyebarilmu.com */

#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>

LiquidCrystal_PCF8574 lcd(0x38); //dapat dicek menggunakan i2c finder

const int digital_input =  2;

void setup(){
  pinMode(digital_input,INPUT);
  Serial.begin(9600);

  lcd.begin(16,2);
  lcd.setBacklight(255);

  lcd.setCursor(00,00);
  lcd.print(" nyebarilmu.com ");
  lcd.setCursor(00,1);
  lcd.print(" -SoilMoisture- ");
  delay(2000);
  lcd.clear();
}

void loop(){
  int adc = analogRead(A0);
  float tegangan = adc * (5.0 / 1023.0);
  Serial.print("ADC:");
  Serial.print(adc);
  Serial.print(" | ");
  Serial.print("tegangan:");
  Serial.println(tegangan, 2);

  lcd.setCursor(00,00);
  lcd.print("ADC:");
  lcd.setCursor(4,00);
  lcd.print(adc);

  lcd.setCursor(9,00);
  lcd.print("V:");
  lcd.setCursor(11,00);
  lcd.print(tegangan,2);

  int status_sensor = digitalRead(digital_input);
  lcd.setCursor(00,1);
  lcd.print("Status:");
  Serial.print("status:");

  if (status_sensor == HIGH) {
  digitalWrite(13, HIGH);  //Led builtin Arduino
  lcd.setCursor(7,1);
  lcd.print("Kering");
  Serial.println("Kering");
  }
  else {
  digitalWrite(13, LOW);
  lcd.setCursor(7,1);
  lcd.print("Basah ");
  Serial.println("Basah");
  }
  delay(2000);
   }

Digital output dapat diadjust dengan memutar potensiometer module elektroniknya sebagai nilai ambang pembacaan.

Hasil percobaan dari kode program diatas :

  1. Serial Monitor – Baut komunikasi

Serial monitor - trial sensor kelembaban tanah arduino

2. LCD 16×2

trial lcd display - ssensor kelembaban tanah arduino


Contoh 2: Soil Moisture Sensor dengan NodeMCU dan BLYNK

Untuk contoh kedua ini pembacaan sensor kelembaban tanah akan dibuat online melalui smartphone dengan aplikasi BLYNK.

Dimana aplikasi tersebut mudah digunakan dan gratis, serta stabil dalam pengiriman data dan pembacaan datanya.

Rangakaian Nodemcu dan soil moisture Sensor

Moisture Soil Sensor and Nodemcu

Bahan –  bahan yang diperlukan :

  1. NodeMCU ESP8266
  2. Sensor kelembaban tanah Module
  3. Smartphone android + install “BLYNK”
  4. Kabel female to female secukupnya

Kode program

[sociallocker id=”1344″]

/* www.nyebarilmu.com */

#include <ESP8266WiFi.h> //library esp8266
#include <BlynkSimpleEsp8266.h> //library BLYNK

#define BLYNK_PRINT Serial

BlynkTimer timer;

char auth[] = "d8ff16e65ff044d18f9b6c3ad1eaa87b"; //cek email masing2 setelah setting di aplikasi BLYNK

char ssid[] = "Blok21no12"; //nama wifi
char pass[] = "Komponen08"; //password wifi

void myTimerEvent()
{
int adc = analogRead(A0); //PIN ADC di NODEMCU
float tegangan = adc * (5.0 / 1023.0);
Blynk.virtualWrite(V0,  adc); //Virtual wire "0" untuk data pembacaan ADC
Blynk.virtualWrite(V1,  tegangan); //Virtual wire "1" untuk data pembacaan ADC
}

void setup()
{
  Serial.begin(115200); //baud serial monitor
  Blynk.begin(auth, ssid, pass);
  timer.setInterval(1000L, myTimerEvent); //1000L = 1 detik
}

void loop()
{
 Blynk.run();
 timer.run();
}

[/sociallocker]

Hasil dari percobaan diatas

Trial BLYNK - Soil moisture Sensor

Terimakasih sudah berkunjung, salam nyebarilmu.com!

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *