Anda di halaman 1dari 7

DAFTAR ISI

A. Cara Kerja Alat........................................................................................................2


B. Komponen.................................................................................................................3
C. Blok Diagram............................................................................................................3
D. Skematik...................................................................................................................4
E. Code...........................................................................................................................4
A. Cara Kerja Alat
Perlu diketahui bahwa setiap tanaman memerlukan kondisi kelembaban tanah,
suhu, dan kelembaban udara yang berbeda. Pada kasus ini, kita menggunakan tanaman
yang membutuhkan kelembaban tanah sekitar 50% – 55%. Jadi, ketika sensor membaca
kelembaban tanah kurang dari 50%, maka pompa akan menyala secara otomatis dan
mengalirkan air. Ketika sensor membaca kelembaban tanah melebihi 55%, maka pompa
akan mati. Data sensor akan dikirim ke server Blynk dalam jangka waktu tertentu
sehingga dapat dipantau melalui smartphone dari mana saja.

Gambar 1. Blynk Display


Sumber : Penulis
B. Komponen
1. NodeMCU ESP8266

Gambar 2. NodeMCU Pinout Reference


Sumber : https://www.teachmemicro.com/

2. DHT11
3. Soil Moisture
4. Relay Module
5. Water Pump Module

C. Blok Diagram

TANAMAN NODEMCU BLYNK SERV. HP


Gambar 3. Diagram Blok
Sumber : Penulis

D. Skematik

Gambar 4. Diagram Skematik


Sumber : https://circuitdigest.com/

E. Code
#include <SimpleTimer.h>
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include "DHT.h"
#define DHTPIN D3
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
char auth() = "IQb8guDHXiFHNtgsmeiZ5QkcGb510we6";
char ssid() = "Kecoak";
char pass() = "12345678";
float moisturePercentage; //moisture reading
const int motorPin = D0;
float SensorValue; // moisteure sensor pin
SimpleTimer timer;
WidgetLED PUMP(V1);

void VirtualBlynk()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
SensorValue = analogRead(A0);
moisturePercentage = ((100 - (SensorValue / 1023.00) * 100.00));
Blynk.virtualWrite(V4,SensorValue);
Blynk.virtualWrite(V5,moisturePercentage);
Blynk.virtualWrite(V2,h);
Blynk.virtualWrite(V3,t);
if (isnan(h) || isnan(t))
{
Serial.println("Failed to read from DHT sensor!");
return;
}
if (moisturePercentage < 50)
{
digitalWrite(motorPin, HIGH); // tun on motor
PUMP.on();
}
if (moisturePercentage > 50 && moisturePercentage < 55)
{
digitalWrite(motorPin, HIGH); //turn on motor pump
PUMP.on();
}
if (moisturePercentage > 56)
{
digitalWrite(motorPin, LOW); // turn off mottor
PUMP.off();
}
}

void setup()
{
// Debug console
Serial.begin(115200);
dht.begin();
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L,VirtualBlynk);
pinMode(motorPin, OUTPUT);
digitalWrite(motorPin, LOW); // keep motor off initally
}

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

Anda mungkin juga menyukai