SISTEM KONTROL TAMBAK LOBSTER AIR TAWAR OTOMATIS



1. Pendahuluan

    Akuakultur, atau budidaya ikan, telah menjadi bagian integral dari industri perikanan modern. Dalam upaya meningkatkan efisiensi dan kesejahteraan Lobster yang dibudidayakan, penggunaan teknologi dalam bentuk sistem kontrol tambak lobster menjadi semakin penting. Sistem kontrol tambak lobster bertujuan untuk kemudahan bagi petani dalam proses pertumbuhan, kesehatan, dan produksi lobster secara keseluruhan.

2. Tujuan

  • Memenuhi Syarat Tugas Besar Kelas Mikroprosesor dan Mikrokontroler
  • Perancangan Kontrol Pakan Ikan Otomatis Untuk Kemudahan Bagi Lobster dalam Pengontrolan tambak lobster

3. Alat dan Bahan

3.1 Alat

a. Jumper



b. Papan Rangkaian



c. Battery



3.2 Bahan

a. Resistor



b. Potensiometer



3.3 Komponen Input

a. Sensor PH Meter





b. UV Sensor







c. Rain Sensor


d. Sensor Jarak GP2D12

e. Water Level Sensor



3.3 Komponen Output

a. Motor DC



b. LCD



c. LED



3.4 Komponen Lainnya

a. Arduino



4. Dasar Teori

1. PH Meter Sensor
   Sensor pH meter adalah perangkat yang dirancang untuk mengukur tingkat keasaman atau kebasaan suatu larutan, yang diukur dalam skala pH. pH merupakan indikator tingkat keasaman atau kebasaan dalam larutan, dan nilainya berkisar dari 0 hingga 14, di mana 7 dianggap netral, kurang dari 7 bersifat asam, dan lebih dari 7 bersifat basa.

Spesifikasi

  • Tegangan Catu Daya: 5VDC
  • Rentang Pengukuran: 0 - 14PH
  • Suhu pengukuran: 0 - 60 ℃
  • Akurasi: ± 0.1pH (25 ℃)
  • Waktu Respon: ≤ 1 menit
  • Sensor pH dengan Konektor BNC
  • Antarmuka : pH2.0 (tambalan 3 kaki)
  • Adjustable Potensiometer
  • Indikator Daya LED
  • Ukuran modul: 43 x 32mm (1.69x1.26 ")




2. Sensor UV 
    Sensor UV ini mengukur kekuatan atau intensitas radiasi insiden ultraviolet (UV).


Sensor UV digunakan untuk menentukan paparan radiasi ultraviolet di laboratorium atau pengaturan lingkungan. Itu dapat menggunakan elemen fotosensitif untuk mengubah sinyal ultraviolet menjadi sinyal listrik terukur melalui mode fotovoltaik dan mode panduan cahaya.

    Sensor UV (Ultraviolet) adalah perangkat elektronik yang dirancang khusus untuk mendeteksi radiasi ultraviolet dalam spektrum elektromagnetik. Radiasi ultraviolet terletak di luar spektrum cahaya yang terlihat oleh mata manusia, dan terdiri dari sinar UV-A, UV-B, dan UV-C. Berikut adalah beberapa penjelasan mengenai UV sensor:




Fungsi Utama:

  • Deteksi Radiasi UV: Sensor UV digunakan untuk mendeteksi intensitas radiasi ultraviolet dalam lingkungan tertentu.

Penggunaan Umum:

  • Keamanan UV: Sensor UV dapat digunakan dalam perangkat keamanan untuk mendeteksi paparan radiasi UV yang tinggi, seperti dalam penggunaan pada goggle atau pakaian pelindung untuk pekerja yang terpapar radiasi UV.



3. Rain Sensor 
    Rain sensor, atau sering disebut sebagai sensor hujan, adalah perangkat elektronik yang dirancang untuk mendeteksi keberadaan air hujan dan memberikan sinyal atau informasi sebagai respons. Sensor ini umumnya digunakan dalam aplikasi otomotif, sistem irigasi otomatis, dan perangkat lainnya yang memerlukan deteksi hujan.

cara kerja sensor hujan :

a. Pendeteksian Kondisi Basah
    Rain sensor umumnya menggunakan elemen sensitif terhadap kelembaban, seperti film konduktif atau padatan yang dapat menyerap air. Ketika air hujan mengenai permukaan sensor, kelembaban sensor meningkat.

b. Perubahan Hambatan atau Kapasitansi
    Sebagian besar sensor hujan beroperasi berdasarkan perubahan hambatan atau kapasitansi saat kelembaban berubah. Pada sensor resistif, kawat konduktif atau film yang terhubung akan mengalami perubahan hambatan saat terpapar air. Pada sensor kapasitif, kapasitas antara dua elektroda akan berubah seiring dengan kenaikan kelembaban.

c. Konversi Sinyal
    Perubahan hambatan atau kapasitansi diukur oleh sirkuit sensor.
Sinyal tersebut kemudian diubah menjadi sinyal listrik yang dapat diinterpretasikan oleh perangkat yang menggunakannya.



Spesifikasi Rain Sensor :
  • Vin : DC 5V - 9V
  • Radius : 180 derajat
  • Jarak Terdeteksi : 5.7 m
  • Output : Digital TTL
  • Memiliki setting sensitivitas
  • Memiliki setting time delay
  • Dimensi : 3.2 cm x 2.4 cm x 2.3 cm
  • Berat : 10 gr
4. Water Level Sensor
    Water level sensors adalah perangkat yang digunakan untuk mendeteksi dan mengukur tingkat air di suatu tempat.


SPESIFIKASI :

  • Tegangan kerja: 3-5 VDC nArus kerja: < 20mA.
  • Tipe sensor: analog.
  • Max output: 2.5v (saat sensor terendam semua)
  • Luas area deteksi: 16x40m Suhu kerja: 10-30 C.
  • Ukuran: 20x62x8 mm.


5. Sensor Jarak GP2D12
    Sensor jarak GP2D12 adalah sensor infra merah (IR) yang dirancang untuk mengukur jarak antara sensor dan objek di depannya. Sensor ini dikembangkan oleh Sharp dan sering digunakan dalam aplikasi robotika dan automasi di mana perlu untuk mengukur jarak secara presisi.


Spesifikasi:

  • Range:10 to 80cm
  • Update frequency / period:25Hz / 40ms
  • Direction of the measured distance:Very directional, due to the IR LED
  • Max admissible angle on flat surface:> 40°
  • Power supply voltage:4.5 to 5.5V
  • Noise on the analog output:< 200mV
  • Mean consumption:35mA
  • Peak consumption:about 200Ma




6. Resistor


   Resistor adalah komponen Elektronika Pasif yang memiliki nilai resistansi atau hambatan tertentu yang berfungsi untuk membatasi dan mengatur arus listrik dalam suatu rangkaian Elektronika (V=I R). Jenis Resistor yang digunakan disini adalah Fixed Resistor, dimana merupakan resistor dengan nilai tetap terdiri dari film tipis karbon yang diendapkan subtrat isolator kemudian dipotong berbentuk spiral. Keuntungan jenis fixed resistor ini dapat menghasilkan resistor dengan toleransi yang lebih rendah.

Cara menghitung nilai resistor:

Tabel warna



Contoh :

Gelang ke 1 : Coklat = 1

Gelang ke 2 : Hitam = 0

Gelang ke 3 : Hijau   = 5 nol dibelakang angka gelang ke-2; atau kalikan 105

Gelang ke 4 : Perak  = Toleransi 10%

Maka nilai resistor tersebut adalah 10 * 105 = 1.000.000 Ohm atau 1 MOhm dengan toleransi 10%.

 

Spesifikasi :


7. Jumper
    Jumper adalah suatu istilah yang ber-diameter kecil yang didalam dunia elektronika digunakan untuk menghubungkan dua titik atau lebih dan dapat juga untuk menghubungkan dua komponen elektronika.

Jenis-jenis Jumper :
  • Male - Male


  • Male - Female


  • Female - Female


8. Potensiometer
    

    Potensiometer adalah salah satu jenis Resistor yang Nilai Resistansinya dapat diatur sesuai dengan kebutuhan Rangkaian Elektronika ataupun kebutuhan pemakainya. Potensiometer merupakan Keluarga Resistor yang tergolong dalam Kategori Variable Resistor. Secara struktur, Potensiometer terdiri dari 3 kaki Terminal dengan sebuah shaft atau tuas yang berfungsi sebagai pengaturnya.
    Pada dasarnya bagian-bagian penting dalam Komponen Potensiometer adalah:
  • Penyapu atau disebut juga dengan Wiper
  • Element Resistif
  • Terminal
    Berdasarkan bentuknya, Potensiometer dapat dibagi menjadi 3 macam, yaitu:
  • Potensiometer Slider, yaitu Potensiometer yang nilai resistansinya dapat diatur dengan cara menggeserkan Wiper-nya dari kiri ke kanan atau dari bawah ke atas sesuai dengan pemasangannya. Biasanya menggunakan Ibu Jari untuk menggeser wiper-nya.
  • Potensiometer Rotary, yaitu Potensiometer yang nilai resistansinya dapat diatur dengan cara memutarkan Wiper-nya sepanjang lintasan yang melingkar. Biasanya menggunakan Ibu Jari untuk memutar wiper tersebut. Oleh karena itu, Potensiometer Rotary sering disebut juga dengan Thumbwheel Potentiometer.
  • Potensiometer Trimmer, yaitu Potensiometer yang bentuknya kecil dan harus menggunakan alat khusus seperti Obeng (screwdriver) untuk memutarnya. Potensiometer Trimmer ini biasanya dipasangkan di PCB dan jarang dilakukan pengaturannya.
    

    Sebuah Potensiometer (POT) terdiri dari sebuah elemen resistif yang membentuk jalur (track) dengan terminal di kedua ujungnya. Sedangkan terminal lainnya (biasanya berada di tengah) adalah Penyapu (Wiper) yang dipergunakan untuk menentukan pergerakan pada jalur elemen resistif (Resistive). Pergerakan Penyapu (Wiper) pada Jalur Elemen Resistif inilah yang mengatur naik-turunnya Nilai Resistansi sebuah Potensiometer.
    Elemen Resistif pada Potensiometer umumnya terbuat dari bahan campuran Metal (logam) dan Keramik ataupun Bahan Karbon (Carbon). Berdasarkan Track (jalur) elemen resistif-nya, Potensiometer dapat digolongkan menjadi 2 jenis yaitu Potensiometer Linear (Linear Potentiometer) dan Potensiometer Logaritmik (Logarithmic Potentiometer). Dengan kemampuan yang dapat mengubah resistansi atau hambatan, Potensiometer sering digunakan dalam rangkaian atau peralatan Elektronika dengan fungsi-fungsi sebagai berikut:
  • Sebagai pengatur Volume pada berbagai peralatan Audio/Video seperti Amplifier, Tape Mobil, DVD Player.
  • Sebagai Pengatur Tegangan pada Rangkaian Power Supply
  • Sebagai Pembagi Tegangan
  • Aplikasi Switch TRIAC
  • Digunakan sebagai Joystick pada Tranduser
  • Sebagai Pengendali Level Sinyal

9. LCD
Gambar . LCD


    LCD atau Liquid Crystal Display adalah suatu jenis media display (tampilan) yang menggunakan kristal cair (liquid crystal) untuk menghasilkan gambar yang terlihat. Teknologi Liquid Crystal Display (LCD) atau Penampil Kristal Cair sudah banyak digunakan pada produk-produk seperti layar Laptop, layar Ponsel, layar Kalkulator, layar Jam Digital, layar Multimeter, Monitor Komputer, Televisi, layar Game portabel, layar Thermometer Digital dan produk-produk elektronik lainnya.
    Teknologi Display LCD ini memungkinkan produk-produk elektronik dibuat menjadi jauh lebih tipis jika dibanding dengan teknologi Tabung Sinar Katoda (Cathode Ray Tube atau CRT). Jika dibandingkan dengan teknologi CRT, LCD juga jauh lebih hemat dalam mengkonsumsi daya karena LCD bekerja berdasarkan prinsip pemblokiran cahaya sedangkan CRT berdasarkan prinsip pemancaran cahaya. Namun LCD membutuhkan lampu backlight (cahaya latar belakang) sebagai cahaya pendukung karena LCD sendiri tidak memancarkan cahaya. Beberapa jenis backlight yang umum digunakan untuk LCD diantaranya adalah backlight CCFL (Cold cathode fluorescent lamps) dan backlight LED (Light-emitting diodes).
    LCD atau Liquid Crystal Display pada dasarnya terdiri dari dua bagian utama yaitu bagian Backlight (Lampu Latar Belakang) dan bagian Liquid Crystal (Kristal Cair). Seperti yang disebutkan sebelumnya, LCD tidak memancarkan pencahayaan apapun, LCD hanya merefleksikan dan mentransmisikan cahaya yang melewatinya. Oleh karena itu, LCD memerlukan Backlight atau Cahaya latar belakang untuk sumber cahayanya. Cahaya Backlight tersebut pada umumnya adalah berwarna putih. Sedangkan Kristal Cair (Liquid Crystal) sendiri adalah cairan organik yang berada diantara dua lembar kaca yang memiliki permukaan transparan yang konduktif. Bagian-bagian LCD atau Liquid Crystal Display diantaranya adalah:
  • Lapisan Terpolarisasi 1 (Polarizing Film 1)
  • Elektroda Positif (Positive Electrode)
  • Lapisan Kristal Cair (Liquid Cristal Layer)
  • Elektroda Negatif (Negative Electrode)
  • Lapisan Terpolarisasi 2 (Polarizing film 2)
  • Backlight atau Cermin (Backlight or Mirror)
Dibawah ini adalah gambar struktur dasar sebuah LCD:

Gambar . Struktur LCD


    LCD yang digunakan pada Kalkulator dan Jam Tangan digital pada umumnya menggunakan Cermin untuk memantulkan cahaya alami agar dapat menghasilkan digit yang terlihat di layar. Sedangkan LCD yang lebih modern dan berkekuatan tinggi seperti TV, Laptop dan Ponsel Pintar menggunakan lampu Backlight (Lampu Latar Belakang) untuk menerangi piksel kristal cair. Lampu Backlight tersebut pada umumnya berbentuk persegi panjang atau strip lampu Flourescent atau Light Emitting Diode (LED). Cahaya putih adalah cahaya terdiri dari ratusan cahaya warna yang berbeda. Ratusan warna cahaya tersebut akan terlihat apabila cahaya putih mengalami refleksi atau perubahan arah sinar. Artinya, jika beda sudut refleksi maka berbeda pula warna cahaya yang dihasilkan.
    Backlight LCD yang berwarna putih akan memberikan pencahayaan pada Kristal Cair atau Liquid Crystal. Kristal cair tersebut akan menyaring backlight yang diterimanya dan merefleksikannya sesuai dengan sudut yang diinginkan sehingga menghasilkan warna yang dibutuhkan. Sudut Kristal Cair akan berubah apabila diberikan tegangan dengan nilai tertentu. Karena dengan perubahan sudut dan penyaringan cahaya backlight pada kristal cair tersebut, cahaya backlight yang sebelumnya adalah berwarna putih dapat berubah menjadi berbagai warna.
    Jika ingin menghasilkan warna putih, maka kristal cair akan dibuka selebar-lebarnya sehingga cahaya backlight yang berwarna putih dapat ditampilkan sepenuhnya. Sebaliknya, apabila ingin menampilkan warna hitam, maka kristal cair harus ditutup serapat-rapatnya sehingga tidak adalah cahaya backlight yang dapat menembus. Dan apabila menginginkan warna lainnya, maka diperlukan pengaturan sudut refleksi kristal cair yang bersangkutan.

10. LED


    Light Emitting Diode atau yang sering disingkat LED merupakan sebuah komponen elektromagnetik yang dapat memancarkan cahaya monokromatik melalui tegangan maju. LED terbuat dari bahan semi konduktor yang merupakan keluarga dioda. LED dapat memancarkan berbagai warna, tergantung dari bahan semikonduktor yang digunakan. LED juga dapat memancarkan cahaya inframerah yang tak tampat, seperti pada remote TV. Cara kerja dari LED hampir sama dengan keluarga dioda yang memiliki dua kutub, yaitu Kutub Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri tegangan maju (bias foward) dari Anoda ke Katoda. LED sendiri terdiri atas sebuah chip semikonduktor yang didopping, sehingga menciptakan junction antara kutub P dan kutub N. Proses dopping dalam semikonduktor adalah proses untuk menambahkan impurity / ketidakmampuan pada semikonduktr yang murni, sehingga dapat emnghasilkan karakteristik kelistrikan yang diinginkan.

11. BreadBoard


    Project Board atau yang sering disebut sebagai BreadBoard adalah dasar konstruksi sebuah sirkuit elektronik dan merupakan prototipe dari suatu rangkaian elektronik. Di zaman modern istilah ini sering digunakan untuk merujuk pada jenis tertentu dari papan tempat merangkai komponen, dimana papan ini tidak memerlukan proses menyolder (langsung tancap). Karena papan ini solderless atau tidak memerlukan solder sehingga dapat digunakan kembali, dan dengan demikian dapat digunakan untuk prototipe sementara serta membantu dalam bereksperimen desain sirkuit elektronika. Berbagai sistem elektronik dapat di prototipekan dengan menggunakan breadboard, mulai dari sirkuit analog dan digital kecil sampai membuat unit pengolahan terpusat (CPU).

12. Arduino

    Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya. Uno berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-serial yaitu menggunakan fitur Atmega8U2 yang diprogram sebagai konverter USB-to-serial berbeda dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-serial.
    Nama “Uno” berarti satu dalam bahasa Italia, untuk menandai peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi dari Arduino. Uno adalah yang terbaru dalam serangkaian board USB Arduino, dan sebagai model referensi untuk platform Arduino, untuk perbandingan dengan versi sebelumnya, lihat indeks board Arduino.

SPESIFIKASI Arduino Uno :
  • Microcontroller : ATmega328P
  • Operating Voltage : 5V
  • Input Voltage (recommended) : 7-12V
  • Input Voltage (limit) : 6-20V
  • Digital I/O Pin : 14 (of which 6 provide PWM output)
  • PWM Digital I/O Pin : 6
  • Analog Input Pin : 6
  • DC Current per I/O Pin : 20 mA
  • DC Current for 3.3V Pin : 50 mA
  • Flash Memory 32 KB : (ATmega328P)
  • SRAM : 2 KB (ATmega328P)
  • EEPROM : 1 KB (ATmega328P)
  • Clock Speed : 16 MHz
  • LED_BUILTIN : 13
  • Length : 68.6 mm
  • Width : 53.4 mm

    Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal (otomatis). Daya Eksternal (non-USB) dapat berasal baik dari AC-ke adaptor-DC atau baterai. Adaptor ini dapat dihubungkan dengan menancapkan plug jack pusat-positif ukuran 2.1mm konektor POWER. Ujung kepala dari baterai dapat dimasukkan kedalam Gnd dan Vin pin header dari konektor POWER. Kisaran kebutuhan daya yang disarankan untuk board Uno adalah7 sampai dengan 12 V, jika diberi daya kurang dari 7 V kemungkinan pin 5 V Uno dapat beroperasi tetapi tidak stabil kemudian jika diberi daya lebih dari 12V, regulator tegangan bisa panas dan dapat merusak board Uno.
Pin listrik adalah sebagai berikut:
  • VIN. Tegangan masukan kepada board Arduino ketika itu menggunakan sumber daya eksternal (sebagai pengganti dari 5volt koneksi USB atau sumber daya lainnya).
  • 5V. Catu daya digunakan untuk daya mikrokontroler dan komponen lainnya.
  • 3v3. Sebuah pasokan 3,3volt dihasilkan oleh regulator on-board.
  • GND. Ground pin Input dan Output
    Masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input atau output, dengan menggunakan fungsi pinMode (), digitalWrite (), dan digitalRead (), beroperasi dengan daya 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki internal pull-up resistor (secara default terputus) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi khusus:
  • Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini dihubungkan ke pin yang berkaitan dengan chip Serial ATmega8U2 USB-to-TTL.
  • Eksternal menyela: 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah, dengan batasan tepi naik atau turun, atau perubahan nilai. Lihat (attachInterrupt) fungsi untuk rincian lebih lanjut.
  • PWM: 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi analogWrite ().
  • SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI menggunakan SPI library.
  • LED: 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin bernilai nilai HIGH, LED on, ketika pin bernilai LOW, LED off. Arduino Uno memiliki 6 masukan analog, berlabel A0 sampai dengan A5, yang masing-masing menyediakan 10 bit dengan resolusi (yaitu 1024 nilai yang berbeda). Selain itu, beberapa pin memiliki fungsi khusus:
  • I2C: A4 (SDA) dan A5 (SCL). Dukungan I2C (TWI) komunikasi menggunakan perpustakaan Wire.
  • Aref. Tegangan referensi (0 sampai 5V saja) untuk input analog. Digunakan dengan fungsi analogReference ().
  • Reset. Bawa baris ini LOW untuk me-reset mikrokontroler.
    Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lainnya. Atmega328 menyediakan UART TTL (5V) untuk komunikasi serial, yang tersedia di pin digital 0 (RX) dan 1 (TX). Sebuah Atmega8U2 sebagai saluran komunikasi serial melalui USB dan sebagai port virtual com untuk perangkat lunak pada komputer. Firmware ’8 U2 menggunakan driver USB standar COM, dan tidak ada driver eksternal yang diperlukan. Namun, pada Windows diperlukan, sebuah file inf.
    Perangkat lunak Arduino terdapat monitor serial yang memungkinkan digunakan memonitor data tekstual sederhana yang akan dikirim komputer dari board Arduino. LED RX dan TX di papan tulis akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dengan koneksi USB ke komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1). Sebuah Software Serial library memungkinkan untuk berkomunikasi secara serial pada salah satu pin digital pada board Uno. Atmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat lunak Arduino termasuk perpustakaan Kawat untuk menyederhanakan penggunaan bus I2C, lihat dokumentasi untuk rincian. Untuk komunikasi SPI, menggunakan perpustakaan SPI.


5. Percobaan

A. Prosedur

  • Siapkan semua alat dan bahan yang diperlukan
  • Disarankan agar membaca datasheet setiap komponen
  • Cari komponen yang diperlukan di library proteus
  • Rangkailah rangkaian sesuai dengan gambar dibawah
  • Jika ingin mensimulasikan jangan lupa masukkan library arduino
  • Coba jalankan rangkaian apabila output LCD maka rangkaian bisa digunakan
  • Diagram Block









  • Prinsip Kerja
Sistem kontrol tambak lobster ini bekerja dimana :
  1. Jika Sensor jarak mendeteksi jarak didalam penyimpanan pakan lebih dari 50 cm artinya pakan akan habis dan outputnya yaitu LCD sebagai pengingat untuk isi pakan dengan tertulis "ISI PAKAN" dan Jika Sensor jarak mendeteksi jarak didalam penyimpanan pakan kurang dari 50 cm artinya pakan akan habis dan outputnya yaitu LCD sebagai pengingat untuk isi pakan dengan tertulis "PAKAN AMAN".
  2. Jika Water Level Sensor mendeteksi nilai level air kurang dari 50 maka artinya air level air berkurang dan outputnya motor sebagai pengisi air kembali agar level air kembali normal.
  3. Jika sensor uv mendeteksi hari pagi maka sensor memiliki tegangan 0,5-1 volt dan malam 2-3 volt maka motor sebagai outpunya aktif dan diluar tegangan pagi dan malam motor mati.
  4. jika terjadinya hujan maka sensor hujan akan mendeteksi adanya hujan dan motor pelindung hujan sebagai outputnya akan bekerja menutup pakan dengan tujuan agar air tidak berlebihan didalam pakan dan ph tetap stabil.
  5. jika PH sensor mendeteksi ph air dibawah 6 ph air maka led sebagai output sensor hidup sebagai penanda bahwa ph air asam.



  • Flowchart








  • Listing Program

#include <LiquidCrystal_I2C.h>

#include <LiquidCrystal.h>

 

// Definisikan pin untuk Rain Sensor dan Motor 1

const int rainSensorPin = 10;  // Pin digital untuk Rain Sensor

const int motorPin1 = 11;      // Pin digital untuk Motor 1

 

// Definisikan pin untuk sensor GP2D12 dan LCD LM016L

const int sensorPin = A2;     // Pin analog untuk sensor GP2D12

const int rs = 7;              // Pin RS LCD LM016L

const int en = 6;              // Pin EN LCD LM016L

const int d4 = 5;              // Pin D4 LCD LM016L

const int d5 = 4;              // Pin D5 LCD LM016L

const int d6 = 3;              // Pin D6 LCD LM016L

const int d7 = 2;              // Pin D7 LCD LM016L

 

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

 

// Definisikan pin untuk water level sensor dan Motor 3

const int waterLevelSensorPin = A0;  // Pin analog untuk water level sensor

const int motorPin3 = 9;             // Pin digital untuk Motor 3

 

// Definisikan pin untuk pH meter sensor dan LED (yellow)

const int pHMeterSensorPin = A1;  // Pin analog untuk pH meter sensor

const int ledPin = 8;             // Pin digital untuk LED (yellow)

 

// Definisikan pin untuk UV sensor dan Motor

const int uvSensorPin = A3;  // Pin analog untuk sensor UV

const int motorPin = 13;     // Pin untuk mengontrol motor

 

void setup() {

  // Set pin mode untuk Rain Sensor dan Motor 1

  pinMode(rainSensorPin, INPUT);

  pinMode(motorPin1, OUTPUT);

 

  // Set pin mode untuk sensor GP2D12 dan LCD LM016L

  pinMode(sensorPin, INPUT);

  lcd.begin(16, 2);

 

  // Set pin mode untuk water level sensor dan Motor 3

  pinMode(waterLevelSensorPin, INPUT);

  pinMode(motorPin3, OUTPUT);

 

  // Set pin mode untuk pH meter sensor dan LED (yellow)

  pinMode(pHMeterSensorPin, INPUT);

  pinMode(ledPin, OUTPUT);

 

  // Set pin mode untuk UV sensor dan Motor

  pinMode(uvSensorPin, INPUT);

  pinMode(motorPin, OUTPUT);

  digitalWrite(motorPin, LOW);  // Matikan motor saat awal

 

  // Mulai Serial Monitor untuk memantau nilai sensor

  Serial.begin(9600);

}

 

void loop() {

  // Baca nilai dari Rain Sensor

  int rainSensorValue = digitalRead(rainSensorPin);

  Serial.print("Rain Sensor Value: ");

  Serial.println(rainSensorValue);

 

  // Cek apakah Rain Sensor mendeteksi hujan (nilai 1)

  if (rainSensorValue == HIGH) {

    digitalWrite(motorPin1, HIGH);

    Serial.println("Motor 1 Aktif - Hujan Terdeteksi");

  } else {

    digitalWrite(motorPin1, LOW);

    Serial.println("Motor 1 Mati - Tidak Ada Hujan Terdeteksi");

  }

 

  // Baca nilai jarak dari sensor GP2D12

  int distance = analogRead(sensorPin);

  int cm = map(distance, 0, 1023, 0, 100);

 

  // Tampilkan nilai jarak di Serial Monitor

  Serial.print("Jarak: ");

  Serial.print(cm);

  Serial.println(" cm");

 

  // Tampilkan pesan di LCD berdasarkan kondisi jarak

  lcd.clear();

  if (cm > 50) {

    lcd.setCursor(0, 0);

    lcd.print("Isi Pakan");

    lcd.setCursor(0, 1);

    lcd.print("Jarak > 50 cm");

  } else {

    lcd.setCursor(0, 0);

    lcd.print("Pakan Aman");

    lcd.setCursor(0, 1);

    lcd.print("Jarak <= 50 cm");

  }

 

  // Baca nilai dari water level sensor

  int waterLevel = analogRead(waterLevelSensorPin);

  int waterPercentage = map(waterLevel, 0, 1023, 0, 100);

 

  // Tampilkan nilai level air di Serial Monitor

  Serial.print("Level Air: ");

  Serial.print(waterPercentage);

  Serial.println("%");

 

  // Cek apakah level air kurang dari 50%

  if (waterPercentage < 50) {

    digitalWrite(motorPin3, HIGH);

    Serial.println("Motor 3 Aktif - Level Air Rendah");

  } else {

    digitalWrite(motorPin3, LOW);

    Serial.println("Motor 3 Mati - Level Air Cukup");

  }

 

  // Baca nilai dari pH meter sensor

  int pHValue = analogRead(pHMeterSensorPin);

  int pHPercentage = map(pHValue, 0, 1023, 0, 100);

 

  // Tampilkan nilai pH di Serial Monitor

  Serial.print("pH Air: ");

  Serial.print(pHPercentage);

  Serial.println("%");

 

  // Cek apakah pH air kurang dari 60% atau lebih dari 80%

  if (pHPercentage < 60 || pHPercentage > 80) {

    digitalWrite(ledPin, HIGH);

    Serial.println("LED Aktif - pH Air di Luar Batas Normal");

  } else {

    digitalWrite(ledPin, LOW);

    Serial.println("LED Mati - pH Air Normal");

  }

 

  // Baca tegangan dari sensor UV

  int sensorValue = analogRead(uvSensorPin);

 

  // Konversi nilai analog menjadi tegangan

  float voltage = sensorValue * (5.0 / 1023.0);

 

  // Tampilkan nilai tegangan pada Serial Monitor

  Serial.print("Voltage: ");

  Serial.println(voltage);

 

  // Cek kondisi tegangan dan kontrol motor

  if ((voltage >= 0.5 && voltage <= 1.0) || (voltage >= 2.0 && voltage <= 3.0)) {

    // Hidupkan motor selama 2 menit (120000 milidetik)

    digitalWrite(motorPin, HIGH);

    delay(120000);

    // Matikan motor setelah 2 menit

    digitalWrite(motorPin, LOW);

  } else {

    // Matikan motor jika tegangan tidak sesuai

    digitalWrite(motorPin, LOW);

  }

 

  // Tunda selama 1 detik sebelum membaca nilai sensor lagi

  delay(1000);

}

E. Video Simulasi







Download HTML klik disini

Download Rangkaian Simulasi Proteus klik disini

Download Rangkaian Simulasi Flowchart Proteus Klik Disini

Download Program Arduino klik disini

Download Library Arduino klik disini

Download Library Water Level Sensor klik disini

Download Library Sensor PH Meter klik disini

Download Library Rain Sensor klik disini

Download Datasheet Arduino UNO klik disini

Download Datasheet UV Sensor klik disini

Download Datasheet Water Level Sensor klik disini

Download Datasheet Sensor PH Meter klik disini

Download Datasheet Sensor Jarak klik disini

Download Datasheet Rain Sensor klik disini

Tidak ada komentar:

Posting Komentar