Sensor Jarak
(Ultrasonic)
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
Motor Vibrator
Switch
Power Supply DC
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
#define ECHO_PIN 3
#define TRIG_PIN 4
#define vibrator 2
#define buzzer 5
int a = 0;
int tombol = A2;
int reset ;
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 (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