Laporan Praktikum V2 Iot Dany Pradipta [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

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 #include #include #include 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