You are on page 1of 4

LAPORAN PRAKTIKUM V2 IOT

Challenge Case Kendali Hama & Pompa Air


DANY PRADIPTA
IOT4-14

A. Studi Kasus
Pada suatu sawah terdapat beberapa masalah yang mengganggu kualitas hasil
panen diantaranya adalah sumber air irigasi yang jauh dari lahan sawah sehingga
kelompok petani memasang pompa air tetapi terkadang pompa air lupa dimatikan
sehingga air terlalu banyak memenuhi sawah dan terkadang pompa air hilang dicuri.
Masalah lainnya adalah sering munculya hama yang tidak dapat diketahui dan tidak
dapat diprediksi kemunculannya. Berikanlah solusi berbasis Internet of things untuk
mengatasi permasalahan ini menggunakan Sensor,Aktuator, Hybrid Web dan
Mobile apps

B. Solusi Permasalahan
Solusi dari permasalahan di atas adalah dibuatkan perangkat IOT yang dapat
secara otomatis menghidupkan/mematikan pompa air berdasarkan referensi
ketinggian muka air (13 cm). Ketinggian air diukur dengan menggunakan sensor
ultrasonic HC-SR04 yang membaca panjang pulsa gelombang yang dapat
ditafsirkan menjadi jarak. Ketika tinggi muka air mencapai 13 cm aktuator servo
akan memutar lengan untuk dapat menekan saklar NC pada pompa air untuk
mematikan pompa. Ketika tinggi muka air turun dibawah 13 cm posisi lengan servo
akan kembali ke posisi semula (tidak menekan saklar NC) sehingga pompa air akan
kembali beroperasi.
Solusi kedua untuk permasalahan hama dapat diselesaikan dengan
menggunakan strawman (orang-orangan sawah pengusir hama/burung) dimana
tangan dari strawman dapat bergerak. Kontrol untuk menggerakkan lengan
strawman dapat dijalankan dengan menggunakan sensor PIR untuk pembacaan
gerakan / motion ketika ada hama disekitar tanaman. Jika terdapat pergerakan
sensor akan mentrigger aktuator servo untuk menggerakkan lengan strawman.

C. Komponen Sistem
1. ESP32
2. Sensor PIR
3. Sensor Ultrasonic HC-SR04
4. Servo 1 (Penggerak lengan strawman)
5. Servo 2 (Penggerak untuk menekan saklar NC)
D. Pengkabelan Sistem

E. Script Program
#define TRIG_PIN  5
#define ECHO_PIN  4
#define SERVO_PIN 13
#define SEERVO_PIN 32
#define DISTANCE_THRESHOLD  13 // centimeters
#define PIR  19
#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPLWfokA98z"
#define BLYNK_DEVICE_NAME "Dany Pradipta "
#define BLYNK_AUTH_TOKEN "-L0pUgRICNjOh9OTmu6q7nYvTa2CPxAK"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <Servo.h>

Servo servo;
Servo seervo;

float duration_us, distance_cm;

int motionStateCurrent  = LOW;


int motionStatePrevious = LOW;

char auth[] = BLYNK_AUTH_TOKEN;


char ssid[] = "Wokwi-GUEST";
char pass[] = "";

BlynkTimer timer;

void setup()
{
  Serial.begin (9600);       // initialize serial port
  pinMode(TRIG_PIN, OUTPUT); // set ESP32 pin to output mode
  pinMode(ECHO_PIN, INPUT);  // set ESP32 pin to input mode
  servo.attach(SERVO_PIN);  
  servo.write(0);
  seervo.attach(SEERVO_PIN);
  seervo.write(90);    
  Blynk.begin(auth, ssid, pass);
}

void loop() {
  Blynk.run();
  timer.run();
  // generate 10-microsecond pulse to TRIG pin
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);

  // measure duration of pulse from ECHO pin


  duration_us = pulseIn(ECHO_PIN, HIGH);
  // calculate the distance
  distance_cm = 0.017 * duration_us;

  if (distance_cm < DISTANCE_THRESHOLD)


    servo.write(90); // rotate servo motor to 90 degree
  else
    servo.write(0);  // rotate servo motor to 0 degree

  // print the value to Serial Monitor


  Serial.print("distance: ");
  Serial.print(distance_cm);
  Serial.println(" cm");

  delay(500);
  motionStatePrevious = motionStateCurrent;             // store old state
  motionStateCurrent  = digitalRead(PIR); // read new state

  if (motionStatePrevious == LOW && motionStateCurrent == HIGH) { // pin state change: LOW -> HIGH
  Serial.println("Motion detected!");
  seervo.write(0);
  } else if (motionStatePrevious == HIGH && motionStateCurrent == LOW) { // pin state change: HIGH -> LOW
  Serial.println("Motion stopped!");
  seervo.write(90);
  }
}

F. Cara Kerja Sistem


Seluruh data sensor akan dikirim menuju server cloud Blynk untuk ditampilkan
dalam dashboard. Aktuator switch pompa akan menekan switch ketika sensor
ultrasonic membaca ketinggian air lebih dari 13 cm. Sementara itu untuk
mengamankan tanaman dari serangan hama, aktuator 2 (Servo) akan aktif ketika
sensor PIR mendeteksi adanya pergerakan hama.

F. Dashboard Blynk

You might also like