Anda di halaman 1dari 11

Use Case Pemberian Pakan Ikan

Sensor Jarak
(Ultrasonic)

Motor Vibrator Tempat Pakan Ikan

Buzzer

Katub
Servo Motor

Kolam Ikan

Keterangan:
- Tempat Pakan ikan merupakan wadah tempat penampungan pakan ikan
- Sensor Jarak, berfungsi sebagai pendeteksi kondisi pakan yang ada di
tempat pakan ikan, dimana sensor ini akan mendeteksi ketinggian
pakan
- Katub berfungsi untuk mengatur banyaknya pakan yang akan
dikeluarkan
- Motor servo berfungsi sebagai pengatur bukaan dari katub
- Motor Vibrator berfungsi untuk menggetarkan tempat pakan guna
mengeluarkan pakan
- Buzzer berfungsi sebagai alarm saat tempat pakan dalam kondisi
kosong

Case:
Buatlah suatu sistem untuk pemberian pakan ikan yang ada di kolam, dimana
proses pemberian pakan dapat dilakukan secara otomatis.
Adapun tahapan dalam menghasilkan sistem pemberian pakan sebagai
berikut:
1. Perancangan sistem

RTC

Arduino Uno

Sensor Ultrasoic Servo Motor

Motor Vibrator
Switch

Buzzer Driver Relay

Power Supply DC

Prinsip kerja sistem:


Untuk melakukan proses pemberian pakan ikan, berdasarkan waktu yang
telah diseting oleh user:
- Proses pemberian makan ke ikan berdasarkan waktu yang diatur melalui
bagian RTC (Real Time Clock), dimana pada bagian ini diatur waktu
untuk pemberian makan (Jam/Menit/detik) dan waktu untuk
menghentikan proses pemberian makan ke ikan.
- Jika waktu pemberian makan ikan telah sesuai dengan waktu yang
diatur, maka sistem secara otomatis akan membuka katub pada posisi
90o untuk mengeluarkan pakan dari tempat penampungan, dan proses
selanjutnya adalah Pemantauan kondisi pakan pada tempat pakan ikan,
apakah masih ada atau sudah habis, dimana informasi ini diperoleh dari
sensor ultrasonic yang datanya diolah melalui kontroler Arduino Uno.
Adapun prosedur pembacaan sensor dalam mendeteksi kondisi tempat
pakan ikan adalah sebagai berikut:
- Jika jarak yang terdeteksi berada pada kisaran 20 cm sd 100 cm
maka informasi yang ditampilkan ke Serial Monitor adalah ”Kondisi
Pakan Masih Ada”.
- Jika jarak yang terdeteksi berada pada kisaran 101 cm sd 130 cm,
maka informasi yang ditampilkan ke Serial Monitor adalah ”Kondisi
Pakan Mau Habis”, dan kontroler akan menginstruksikan motor servo
bergerak untuk menutup katub di posisi 30o untuk
membatasi/mengurangi jumlah pakan yang keluar.
- Jika jarak yang terdeteksi berada diatas 130 cm, maka informasi
yang ditampilkan ke Serial Monitor adalah ”Kondisi Pakan Habis”, jika
kondisi ini terjadi, maka secara otomatis kontroler akan menutup
katub (motor servo diarahkan pe posisi 0o), menonaktifkan kerja
motor vibrator dan mengaktifkan Buzzer sebagai alarm.
- Untuk menonaktifkan alaram, maka user dapat mengoperasikan
saklar Reset, dimana saat saklar Reset diaktifkan, maka secara
otomatis sistem akan masuk ke kondisi stanby dan menunggu user
untuk mengisi pakan ke tempat penampungan dan mengarahkan
kembali saklar reset ke posisi Set.
- Jika waktu pemberian makan ikan telah selesai (sesuai dengan waktu
yang di set untuk mengakhiri proses pemberian pakan ikan dari bagian
RTC), maka secara otomatis kontroler akan menutup katub (motor
servo diarahkan pe posisi 0o) dan menonaktifkan kerja motor vibrator.
2. Membuat perangkat keras
Pembuatan perangkat keras dilakukan melalui program simulasi Wokwi
seperti pada Gambar berikut.
Menambah Komponen :
1. Komponen sensor Ultrasonic
Klik bagian + pada jendela simulation, maka tampilannya sebagai
berikut
Selanjutnya pada bagian pencarian, ketikan ultrasonic dan pilih sensor
ultrasonic yang ditampilkan

Jika sensor ultrasonik yang dipilih telah berada pada layar Simulation,
selanjutnya posisikan sensor tersebut melalui prosedur Drag and Drop
sesuai dengan posisi yang dikehendaki
Koneksikan pin-pin dari sensor ultrasonic ke pin kontroler, dengan cara
mengarahkan cursor ke salah satu pin dari sensor ultrasonic (seperti
contoh pin VCC), selanjutnya klik kiri pada mouse/tutch pad pada laptop
untuk mengaktifkan proses pengkabelannya. Selanjutnya arahkan
cursor ke pin VCC (pin 5 Volt) pada kontroler sampai tampilan nama
dari pin tersebut muncul, selanjutnya klik kiri pada mouse/tutch pad
pada laptop. Prosedur untuk pin-pin yang lainnya sama dengan diatas

- Konfigurasi/menghubungkan pin dari kontroler Arduino Uno ke Pin


sensor Ultrasonik

Pin Sensor Ultrasonic Pin Kontroler


Arduino
Pin VCC Pin VCC 5 Volt
Pin GND Pin GND
Pin TRIGER Pin 4
Pin ECHO Pin 3

- Konfigurasi/menghubungkan pin dari kontroler Arduino Uno ke Pin


Driver Relay (Motor Vibrator)

Pin Driver Relay Pin Kontroler


Arduino
Pin VCC Pin VCC 5 Volt
Pin GND Pin GND
Pin IN Pin 2

- Konfigurasi/menghubungkan pin dari kontroler Arduino Uno ke Pin


Buzzer

Pin Buzzer Pin Kontroler


Arduino
Kabel Merah Pin 5
Kabel Hitam Pin GND

- Konfigurasi/menghubungkan pin dari kontroler Arduino Uno ke Pin


Motor Servo

Pin Motor Servo Pin Kontroler


Arduino
Pin VCC (V+) Pin VCC 5 Volt
Pin GND Pin GND
Pin PWM Pin 11

- Konfigurasi/menghubungkan pin dari kontroler Arduino Uno ke Pin RTC

Pin Motor Servo Pin Kontroler


Arduino
Pin RTC1:5V Pin VCC 5 Volt
Pin GND Pin GND
Pin SDA Pin A4
Pin SCL Pin A5

Jika semua komponen telah terkoneksi, maka tampilannya sebagai berikut


Setelah perangkat keras untuk sistem pemberi pakan ikan selesai dibuat,
maka selanjutnya adalah membuat program untuk menjalankan kerja sistem,
dimana programnya sebagai berikut:
#include <Servo.h>
Servo myservo;
#include <RTClib.h>
RTC_DS1307 rtc;

#define ECHO_PIN 3
#define TRIG_PIN 4
#define vibrator 2
#define buzzer 5
int a = 0;
int tombol = A2;
int reset ;

byte detik = 0, menit = 0, jam = 0, flag = 0;

void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(vibrator, OUTPUT);
pinMode(tombol, INPUT_PULLUP);
myservo.attach(11);
myservo.write(0);
rtc.begin();
// Atur waktu RTC jika belum diset
if (!rtc.begin()) {
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
}

void loop() {
delay(800);
bacaSensor();
baca_tombol();
}

void bacaSensor(){
// Baca waktu saat ini dari RTC
DateTime now = rtc.now();
Serial.print("Waktu : ");
Serial.print(now.hour(), DEC);
Serial.print(":");
Serial.print(now.minute(), DEC);
Serial.print(":");
Serial.println(now.second(), DEC);
// Kondisi Pakan Penuh
if (a == LOW){
// Cek kondisi waktu dan atur pengendalian LED
if (now.hour() == 14 && now.minute() == 12 && now.second() == 0){
// Aktif Memberi Makan Ikan
flag = 1;
}

if (flag == 1){
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration * 0.034 / 2;
Serial.print("Kondisi Pakan : ");
Serial.print(distance);
Serial.println(" Cm");

if (distance >= 0 && distance <= 100){


myservo.write(90);
delay(15);
digitalWrite (vibrator, HIGH);
Serial.println("Pakan Masih Ada");
}
if (distance > 100 && distance <= 130){
myservo.write(30);
delay(15);
digitalWrite (vibrator, HIGH);
Serial.println("Pakan Mau Habis");
}
if (distance >130){
digitalWrite(vibrator, LOW);
myservo.write(0);
delay(15);
tone (buzzer, 120);
delay(500);
noTone(buzzer);
Serial.println("Pakan Habis, Segera Isi Pakan");
Serial.println("Aktifkan Tombol Riset");
}
}

if (now.hour() == 14 && now.minute() == 15 && now.second() == 0){


flag = 0;
digitalWrite(vibrator, LOW);
myservo.write(0);
delay(15);
tone (buzzer, 120);
delay(500);
noTone(buzzer);
Serial.println("Pemberian Makan Selesai");
delay(100);
}
Serial.println("Sistem Standby");

if (a == HIGH){
noTone(buzzer);
Serial.println("Sistem Standby");
}
}
}

void baca_tombol(){
reset = digitalRead(tombol);
if (reset == LOW) {
a = 0;
}
if (reset == HIGH){
digitalWrite(vibrator, LOW);
myservo.write(0);
delay(15);
a = 1;
}
}

Jika perangkat keras dan perangkat lunak untuk sistem pemberi pakan ikan
otomatis selesai dibuat, maka selanjutnya jalankan sistem seperti pada
gambar dibawak ini.

Tugas:
Jalankan sistem yang telah dibuat, selanjutnya jelaskan jalannya program
berdasarkan skenario berikut:
- Atur waktu pada bagian program di baris ke 50 (jam, menit dan detik)
sesuai denga waktu yang akan digunakan untuk mengaktifkan proses
pemberi pakan ikan) dan pada baris program ke 91 diatur waktunya
untuk menonaktifkan proses pemberian pakan ikan. Jalankan program
dan lihat hasilnya, selanjutnya amati jalannya sistem Saat kondisi waktu
pemberian pakan belum sesuai dengan waktu yang diatur, saat kondisi
waktu pemberian pakan telah sesuai dengan waktu pemberian pakan
serta saat kondisi waktu pemberian pakan telah selesai sesuai dengan
waktu yang telah diatur (Printscren dan jelaskan).
- Jalankan simulasi untuk sensor ultrasonik untuk mendeteksi ketinggian
pakan dalam wadah penampungan, dimana Saat waktu pemberian
pakan telah terpenuhi dan pakan dalam kondisi masih ada, pakan dalam
kondisi sudah mau habis serta pakan dalam kondisi habis. Jelaskan
disertai dengan (Printscren).
- Buatlah kesimpulannya

Anda mungkin juga menyukai