a. Alat
- Power Supply
b. Bahan
- Arduino UNO
- Transistor
- PH meter
- Sensor Ultrasonikm. Sensor ultrasonik ini memiliki 4 pin yaitu: ▪ Pin VCC sebagai pin masukan tegangan. ▪ Pin GND sebagai grounding. ▪ Pin Trigger untuk trigger keluarnya sinyal. ▪ Pin Echo untuk menangkap sinyal pantul dari benda
- Heater
- Modul PCF8574
- Antarmuka I2C, modul ekspansi I / O, dua skalabilitas I / O 8 I / O (hingga 8 penggunaan simultan
- PCF8574 diperluas menjadi 64 I / O)
Fitur paling penting:
1. Mendukung dua jenis antarmuka papan target akses: Pin atau kursi baris,
2. Mendukung kaskade bus I2C (dengan metode docking pin header row seat dapat digunakan secara bersamaan beberapa modul I2C)
3. Aplikasi umum: I / O kekurangan sumber daya Ekspansi I / O MCU
4. Sumber daya utama: antarmuka PCF8574 I2C, paralel 8-bit
- Ground
Ground Berfungsi sebagai untuk meniadakan beda potensial dengan mengalirkan arus sisa dari kebocoran tegangan atau arus pada rangkaian
- Ground
- Arduino UNO
- Mikrokontroler: Ini adalah otak utama dari Arduino yang melakukan semua operasi pengolahan data dan kontrol. Arduino menggunakan mikrokontroler sebagai pusat kendali, yang berfungsi untuk membaca input, menjalankan kode program, dan mengontrol output. Beberapa varian Arduino menggunakan mikrokontroler dari berbagai produsen, seperti ATmega yang diproduksi oleh Microchip Technology.
- Pin I/O: Arduino memiliki sejumlah pin input/output (I/O) yang digunakan untuk menghubungkan sensor, aktuator, dan komponen lainnya. Pin ini bisa berfungsi sebagai input untuk membaca data dari sensor atau output untuk mengontrol aktuator. Ada pin digital dan pin analog. Pin digital dapat berupa input atau output dengan nilai logika 0 (LOW) atau 1 (HIGH), sementara pin analog digunakan untuk membaca nilai analog seperti sensor suhu atau cahaya.
- Papan Sirkuit: Papan Arduino adalah substrat fisik tempat semua komponen terhubung. Papan ini biasanya terbuat dari bahan tahan lama dan dilengkapi dengan jalur tembaga yang menghubungkan komponen-komponen elektronik.
- Konektor USB: Banyak varian Arduino dilengkapi dengan konektor USB. Ini memungkinkan Anda untuk menghubungkan papan Arduino ke komputer, sehingga Anda dapat mengunggah kode program ke mikrokontroler dan berkomunikasi dengan papan melalui koneksi serial.
- Catu Daya: Arduino memerlukan catu daya untuk beroperasi. Ini bisa berasal dari komputer melalui kabel USB atau dari sumber daya eksternal seperti baterai atau adaptor listrik. Beberapa papan Arduino memiliki regulator tegangan yang memungkinkan papan menerima berbagai tingkat tegangan masukan.
- Konektor Listrik: Arduino umumnya memiliki pin header atau konektor yang memungkinkan Anda untuk menghubungkan kabel atau kawat ke pin I/O. Ini memudahkan Anda dalam menghubungkan sensor, aktuator, dan komponen lainnya ke papan Arduino.
- Kristal Osilator: Kristal osilator digunakan untuk menghasilkan sinyal osilasi yang diperlukan oleh mikrokontroler untuk menjalankan perhitungan waktu dan operasi lainnya.
- Tombol Reset: Tombol reset memungkinkan Anda untuk mengulang proses booting papan Arduino atau menghentikan eksekusi program yang sedang berjalan.
- Indikator LED: Beberapa varian Arduino memiliki indikator LED yang terhubung ke pin tertentu. LED ini dapat diatur dalam kode program untuk memberi tahu status atau kondisi papan, seperti aktif atau dalam mode tidur.
- Sensor Suhu LM35
- LM35, LM35A -> range pengukuran temperature -55ºC hingga +150ºC.
- LM35C, LM35CA -> range pengukuran temperature -40ºC hingga +110ºC.
- LM35D -> range pengukuran temperature 0ºC hingga +100ºC.
- Rentang suhu yang jauh, antara -55 sampai +150ºC
- Low self-heating, sebesar 0.08 ºC
- Beroperasi pada tegangan 4 sampai 30 V
- Tidak memerlukan pengkondisian sinyal
- Membutuhkan tegangan untuk beroperasi.
- Resistor
- Transistor
- Sensor PH
Arduino adalah platform perangkat keras (hardware) yang dirancang untuk memudahkan pengembangan dan prototyping proyek-proyek elektronik. Ini terdiri dari papan sirkuit cetak berukuran kecil yang dilengkapi dengan mikrokontroler dan sejumlah pin input/output yang dapat digunakan untuk menghubungkan sensor, aktuator, dan komponen elektronik lainnya.
Mikrokontroler pada papan Arduino adalah otak utama yang mengontrol berbagai komponen yang terhubung dengannya. Papan Arduino biasanya dilengkapi dengan berbagai macam varian mikrokontroler dari berbagai produsen, seperti ATmega yang diproduksi oleh Microchip Technology. Meskipun demikian, Arduino lebih sering dikaitkan dengan platform open-source yang dikelola oleh Arduino.cc.
Arduino memiliki beberapa komponen utama yang membentuk papan sirkuit mikrokontroler. Berikut adalah penjelasan tentang komponen-komponen utama Arduino:
Semua komponen ini bekerja bersama-sama untuk menciptakan platform Arduino yang kuat dan serbaguna untuk mengembangkan berbagai proyek elektronik dan pemrograman.
Pin (5V, 3.3V, GND, Analog, Digital, PWM, AREF)
Pin pada Arduino adalah tempat dimana untuk menyambungkan kabel anatara pin Arduino dengan perangkat-perangkat input/output (biasanya menghubungkan dengan rangkaian project pada breadboard). Pin Arduino biasanya berupa female header sehingga untuk mendapatkan koneksi dari pin Arduino hanya cukup colokan kabel ke dalam lubang pin header tersebut. Terdapat beberapa pin pada Arduino dengan fungsi yang berbeda-beda, masing-masing pin diberi label sesuai nama dan fungsinya pada PCB.
GND : Kependekan dari ‘Ground’. Terdapat beberapa pin ground dan semuanya dapat digunakan.
5V & 3.3V: 5V pin memberikan supply tegangan 5 volt, dan 3.3V pin memberikan supply tegangan 3.3 volt. Kebanyakan yang digunakan dengan Arduino bekerja pada tegangan 5 atau 3.3 volt.
Analog: Pin yang berada di bawah tulisan ‘Analog In’ (A0 sampai A5 pada Arduino UNO) adalah pin Analog Input. Pin ini dapat membaca sinyal dari sensor analog (seperti sensor suhu) dan mengkonversinya kedalam nilai digital yang dapat kita baca.
Digital: Terletak disisi lain dari analog pin terdapat pin digital (0 sampai 13 pada UNO). Pin ini dapat difungsikan sebagai digital input (seperti memberitahukan apabila button dipencet) dan digital output (seperti menyalakan sebuah LED).
PWM: Kamu bisa melihat simbol (~) pada beberapa pin digital (3, 5, 6, 7, 9, 10, dan 11 pada UNO). Pin ini berfungsi sebagai pin digital biasanya, tapi bisa digunakan untuk Pulse-Width Modulation (PWM), sederhananya pin ini dapat mengeluarkan keluaran tegangan Analog.
AREF: Singkatan dari Analog Reference. Pin ini digunakan untuk mengatur tegangan referensi external (antara 0 dan 5 volt) sebagai batas untuk pin analog input.
Tombol Reset
Seperti komputer pada umumnya, Arduino mempunyai tombol reset (10). Menekan tombol ini akan menghubungkan pin reset dengan ground dan merestart semua kode program yang ada di dalam Arduino. Reset ini akan sangat membantu jika kode tidak berjalan berulang-ulang, tapi kamu ingin menjalankannya beberapa kali.
Power LED Indicator
Tepat di bawah dan di sebelah kanan kata “UNO” di board Arduino, ada LED kecil di samping kata ‘ON’ (11). LED ini harus menyala setiap kali Anda memasukkan Arduino Anda ke sumber tegangan. Jika lampu ini tidak menyala, ada kemungkinan ada sesuatu yang salah.
TX RX LED
TX adalah singkatan dari transmit, RX adalah singkatan dari receive. Kata ini cukup familiar dalam istilah elektronik untuk menunjukkan pin sebagai komunikasi serial. Dalam board Arduino terdapat dua tempat tulisan TX dan RX – pertama pada pin digital 0 dan 1, dan yang kedua di samping indikator LED TX dan RX (12). LED ini akan memberi kita beberapa indikasi visual setiap kali Arduino menerima atau mentransmisikan data (seperti saat kita memasukan program baru ke board Arduino).
IC Utama
Berwarna hitam terdapat banyak kaki logam disampingnya adalah IC, atau Integrated Circuit (13). Anggap saja itu sebagai otaknya Arduino. IC utama pada Arduino UNO berbeda dengan jenis board Arduino lainnya tapi biasanya merupakan IC keluarga ATmega yang diproduksi oleh perusahaan ATMEL. Untuk mengetahui jenis IC yang dipakai bisa ditemukan secara tertulis disisi atas IC. Jika Anda ingin tahu lebih banyak tentang perbedaan antara IC tersebut, dapat dilihat pada datasheet.
Voltage Regulator
Regulator tegangan berfungsi untuk membatasi jumlah tegangan yang masuk ke board Arduino. Anggap saja itu sebagai semacam gatekeeper; ini akan menghilangkan tegangan lebih yang mungkin membahayakan sirkuit. Tentu saja, ini memiliki batas, jadijangan menghubungkan Arduino Anda dengan yang lebih besar dari 20 volt.
Pin (5V, 3.3V, GND, Analog, Digital, PWM, AREF)
Pin pada Arduino adalah tempat dimana untuk menyambungkan kabel anatara pin Arduino dengan perangkat-perangkat input/output (biasanya menghubungkan dengan rangkaian project pada breadboard). Pin Arduino biasanya berupa female header sehingga untuk mendapatkan koneksi dari pin Arduino hanya cukup colokan kabel ke dalam lubang pin header tersebut. Terdapat beberapa pin pada Arduino dengan fungsi yang berbeda-beda, masing-masing pin diberi label sesuai nama dan fungsinya pada PCB.
GND : Kependekan dari ‘Ground’. Terdapat beberapa pin ground dan semuanya dapat digunakan.
5V & 3.3V: 5V pin memberikan supply tegangan 5 volt, dan 3.3V pin memberikan supply tegangan 3.3 volt. Kebanyakan yang digunakan dengan Arduino bekerja pada tegangan 5 atau 3.3 volt.
Analog: Pin yang berada di bawah tulisan ‘Analog In’ (A0 sampai A5 pada Arduino UNO) adalah pin Analog Input. Pin ini dapat membaca sinyal dari sensor analog (seperti sensor suhu) dan mengkonversinya kedalam nilai digital yang dapat kita baca.
Digital: Terletak disisi lain dari analog pin terdapat pin digital (0 sampai 13 pada UNO). Pin ini dapat difungsikan sebagai digital input (seperti memberitahukan apabila button dipencet) dan digital output (seperti menyalakan sebuah LED).
PWM: Kamu bisa melihat simbol (~) pada beberapa pin digital (3, 5, 6, 7, 9, 10, dan 11 pada UNO). Pin ini berfungsi sebagai pin digital biasanya, tapi bisa digunakan untuk Pulse-Width Modulation (PWM), sederhananya pin ini dapat mengeluarkan keluaran tegangan Analog.
AREF: Singkatan dari Analog Reference. Pin ini digunakan untuk mengatur tegangan referensi external (antara 0 dan 5 volt) sebagai batas untuk pin analog input.
Tombol Reset
Seperti komputer pada umumnya, Arduino mempunyai tombol reset (10). Menekan tombol ini akan menghubungkan pin reset dengan ground dan merestart semua kode program yang ada di dalam Arduino. Reset ini akan sangat membantu jika kode tidak berjalan berulang-ulang, tapi kamu ingin menjalankannya beberapa kali.
Power LED Indicator
Tepat di bawah dan di sebelah kanan kata “UNO” di board Arduino, ada LED kecil di samping kata ‘ON’ (11). LED ini harus menyala setiap kali Anda memasukkan Arduino Anda ke sumber tegangan. Jika lampu ini tidak menyala, ada kemungkinan ada sesuatu yang salah.
TX RX LED
TX adalah singkatan dari transmit, RX adalah singkatan dari receive. Kata ini cukup familiar dalam istilah elektronik untuk menunjukkan pin sebagai komunikasi serial. Dalam board Arduino terdapat dua tempat tulisan TX dan RX – pertama pada pin digital 0 dan 1, dan yang kedua di samping indikator LED TX dan RX (12). LED ini akan memberi kita beberapa indikasi visual setiap kali Arduino menerima atau mentransmisikan data (seperti saat kita memasukan program baru ke board Arduino).
IC Utama
Berwarna hitam terdapat banyak kaki logam disampingnya adalah IC, atau Integrated Circuit (13). Anggap saja itu sebagai otaknya Arduino. IC utama pada Arduino UNO berbeda dengan jenis board Arduino lainnya tapi biasanya merupakan IC keluarga ATmega yang diproduksi oleh perusahaan ATMEL. Untuk mengetahui jenis IC yang dipakai bisa ditemukan secara tertulis disisi atas IC. Jika Anda ingin tahu lebih banyak tentang perbedaan antara IC tersebut, dapat dilihat pada datasheet.
Voltage Regulator
Regulator tegangan berfungsi untuk membatasi jumlah tegangan yang masuk ke board Arduino. Anggap saja itu sebagai semacam gatekeeper; ini akan menghilangkan tegangan lebih yang mungkin membahayakan sirkuit. Tentu saja, ini memiliki batas, jadijangan menghubungkan Arduino Anda dengan yang lebih besar dari 20 volt.
IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka sensor mulai dari – 55°C sampai dengan 150°C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 μ A dari supplay sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 ° C di dalam suhu ruangan. Untuk mendeteksi suhu digunakan sebuah sensor suhu LM35 yang dapat dikalibrasikan langsung dalam C (celcius), LM35 ini difungsikan sebagai basic temperature sensor.
hFE = iC/iB
dimana, iC = perubahan arus kolektor
iB = perubahan arus basis
hFE = arus yang dicapai
pH atau derajat keasaman digunakan untuk menyatakan tingkat keasaaman atau basa yang dimiliki oleh suatu zat, larutan atau benda. pH normal memiliki nilai 7 sementara bila nilai pH > 7 menunjukkan zat tersebut memiliki sifat basa sedangkan nilai pH< 7 menunjukkan keasaman. pH 0 menunjukkan derajat keasaman yang tinggi, dan pH 14 menunjukkan derajat kebasaan tertinggi.
Pada prinsipnya pengukuran suatu pH adalah didasarkan pada potensial elektro kimia yang terjadi antara larutan yang terdapat didalam elektroda gelas (membran gelas) yang telah diketahui dengan larutan yang terdapat diluar elektroda gelas yang tidak diketahui. Hal ini dikarenakan lapisan tipis dari gelembung kaca akan berinteraksi dengan ion hidrogen yang ukurannya relatif kecil dan aktif, elektroda gelas tersebut akan mengukur potensial elektro kimia dari ion hidrogen. Untuk melengkapi sirkuit elektrik dibutuhkan elektroda pembanding. Sebagai catatan alat tersebut tidak mengukur arus tetapi hanya mengukur tegangan.
- Sensor Ultrasonik
- HeaterHeater, dalam konteks umum, merujuk pada perangkat yang dirancang untuk menghasilkan panas dan meningkatkan suhu dalam suatu ruangan atau sistem tertentu. Biasanya menggunakan elemen pemanas, seperti kawat pemanas atau elemen pemanas keramik, heater mengubah energi listrik menjadi panas yang dipancarkan ke sekitarnya. Penggunaan heater dapat bervariasi dari pemanas ruangan untuk kenyamanan termal di rumah atau kantor hingga aplikasi industri yang memerlukan kontrol suhu yang ketat. Selain itu, heater juga dapat menjadi bagian dari berbagai perangkat, termasuk peralatan laboratorium, mesin, atau alat elektronik yang memerlukan suhu tertentu untuk beroperasi secara optimal.Prinsip KerjaPrinsip kerja heater didasarkan pada konsep transformasi energi listrik menjadi panas. Biasanya, heater dilengkapi dengan elemen pemanas, seperti kawat pemanas atau elemen pemanas keramik, yang memiliki resistansi listrik tinggi. Ketika arus listrik mengalir melalui elemen pemanas ini, resistansi menyebabkan pemanasan, dan energi listrik diubah menjadi panas. Panas yang dihasilkan kemudian dipancarkan ke lingkungan sekitarnya, meningkatkan suhu di sekitar heater. Prinsip ini digunakan baik dalam pemanas ruangan konvensional maupun dalam berbagai aplikasi industri di mana kontrol suhu adalah faktor kritis. Beberapa heater juga dilengkapi dengan sensor suhu atau termostat untuk memantau dan mengatur suhu, memastikan kenyamanan atau kestabilan suhu yang diinginkan sesuai dengan kebutuhan pengguna atau spesifikasi aplikasi.
- Baterai
- LCD 20x4
- Modul PCF8574Merupakan modul expansion board untuk mengatur hingga 8 pin I/O. menggunakan komunikasi secara I2C, artinya dengan 2 pin (SDA/SCL) maka kita dapat mengatur hingga 8 pin yg dapat dijadikan input output. modul ini juga dapat di cascade, hingga 8 modul atau hingga 64 pin input output.
- Ground
1) Download library yang diperlukan (dapat dilihat pada bagian download dalam blog) 2) Buka proteus yang sudah diinstal untuk membuat rangkaian.3) Tambahkan komponen seperti Arduino, sensor, dan perangkat lainnya lalu susun menjadi rangkaian.4) Buka Arduino IDE yang sudah diinstal.5) Di Arduino IDE, pergi ke menu "File" > "Preferences".6) Pastikan opsi "Show verbose during compile" dicentang untuk mendapatkan informasi detail saat kompilasi.7) Salin kode program Arduino pada blog kemudian tempelkan program tadi ke Arduino IDE.8) Kompilasikan kode dengan menekan tombol "Verify" di Arduino IDE.9) Cari dan salin path file HEX yang dihasilkan selama proses kompilasi.10) Kembali ke Proteus dan pilih Arduino yang telah Anda tambahkan di rangkaian.11) Buka opsi "Program File" dan tempelkan path HEX yang telah Anda salin dari Arduino IDE.l2) Jalankan simulasi di Proteus
Program ini merupakan solusi otomatis yang canggih untuk mengelola kondisi kolam ikan dengan lebih kompleks. Menggunakan sensor pH, suhu, dan ultrasonik, program tidak hanya memonitor parameter dasar, tetapi juga mengintegrasikan kontrol dinamis terhadap perangkat eksternal. Sensor suhu tidak hanya memberikan peringatan saat suhu di luar batas, tetapi juga menyesuaikan operasi pemanas dan water chiller secara adaptif untuk menjaga suhu dalam kisaran optimal.
Selain itu, program ini menggunakan algoritma pintar untuk menginterpretasi data sensor dan mengambil tindakan berdasarkan kondisi lingkungan yang kompleks. Misalnya, ketika nilai pH terdeteksi di luar rentang normal, program dapat menentukan jenis bahan kimia yang perlu ditambahkan untuk menormalisasi pH. Begitu juga dengan ketinggian air, di mana program dapat mengelola pompa dengan kecerdasan artifisial untuk mempertahankan tingkat air yang tepat dengan memperhitungkan faktor-faktor seperti cuaca dan evapotranspirasi.
PENJELASAN PROGRAM
1). Baris-baris ini mendefinisikan pustaka Wire dan LiquidCrystal_I2C, yang diperlukan untuk berkomunikasi dengan perangkat I2C dan mengakses LCD berbasis I2C
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
2). Inisialisasi LCD:Membuat objek LCD dengan alamat I2C 0x27, dan ukuran 20 kolom dan 4 baris.
LiquidCrystal_I2C lcd(0x27, 20, 4);
3). Deklarasi Pin:
Baris ini mendefinisikan pin analog untuk sensor pH, suhu, serta pin untuk sensor ultrasonik HC-SR04 (Trigger dan Echo).const int pinPh = A0;
const int pinSuhu = A1;
const int pinTrigger = A2;
const int pinEcho = A3;
4). Batas Nilai:
Baris ini menentukan nilai batas untuk pH, suhu, dan ketinggian air, yang digunakan untuk memberikan peringatan jika nilai sensor di luar rentang ini.const float batasBawahPh = 7.0;
const float batasAtasPh = 7.99;
const float batasBawahSuhu = 26.0;
const float batasAtasSuhu = 31.0;
const float batasBawahKetinggianAir = 100.0;
const float batasAtasKetinggianAir = 120.0;
5). Deklarasi Pin Output:
Baris ini mendefinisikan pin output untuk mengendalikan perangkat eksternal seperti pemanas, water chiller, LED, dan pompa.const int pinPemanas = 2;
const int pinWaterChiller = 3;
const int pinLed1 = 4;
const int pinLed2 = 5;
const int pinPompa = 6;
const int pinLed3 = 7;
6). Setup:
Baris-baris ini berada dalam fungsi "setup()" yang dieksekusi sekali saat program dimulai. Pada bagian ini, konfigurasi awal dilakukan, termasuk inisialisasi komunikasi serial, LCD, dan konfigurasi pin sebagai input atau output.
void setup() {
Serial.begin(9600);
lcd.begin(20, 4);
lcd.print("Monitoring Kolam");
delay(1000);
lcd.clear();
lcd.print("Nilai suhu :");
lcd.setCursor(0, 1);
lcd.print("Nilai pH :");
lcd.setCursor(0, 2);
lcd.print("Tinggi air :");
pinMode(pinPemanas, OUTPUT);
pinMode(pinWaterChiller, OUTPUT);
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinPompa, OUTPUT);
pinMode(pinLed3, OUTPUT);
pinMode(pinTrigger, OUTPUT);
pinMode(pinEcho, INPUT);
}
8). Membaca nilai dari sensor ultrasonik HC-SR04 dan mengembalikan nilai jarak dalam sentimeter.
float bacaSensorUltrasonik() {
digitalWrite(pinTrigger, LOW);
delayMicroseconds(2);
digitalWrite(pinTrigger, HIGH);
delayMicroseconds(10);
digitalWrite(pinTrigger, LOW);
float duration = pulseIn(pinEcho, HIGH);
float distance = (duration * 0.0343) / 2;
return distance;
}
9). Bagian ini berada dalam fungsi loop(), yang akan diulang terus-menerus. Pada bagian ini, nilai dari sensor pH, suhu, dan ultrasonik dibaca, dan nilai-nilai tersebut ditampilkan di LCD.
void loop() {
float pHValue = analogRead(pinPh) * 14.0 / 1024.0;
int rawSuhu = analogRead(pinSuhu);
float suhu = (rawSuhu / 1024.0) * 5000;
suhu = suhu / 10;
float ketinggianAir = bacaSensorUltrasonik();
lcd.setCursor(12, 0);
lcd.print(suhu, 1);
lcd.setCursor(12, 1);
lcd.print(pHValue, 2);
lcd.setCursor(12, 2);
lcd.print(ketinggianAir, 1);
10). Baris ini mendeklarasikan variabel boolean yang akan digunakan untuk menyimpan status peringatan terkait suhu, pH, dan ketinggian air.
bool suhuRendah = false; bool suhuTinggi = false; bool phRendah = false; bool phTinggi = false; bool airKurang = false; bool airBerlebih = false;
11). Bagian ini memeriksa nilai suhu dan memberikan peringatan serta mengontrol pemanas atau water chiller sesuai dengan kondisi.
if (suhu < batasBawahSuhu) { lcd.setCursor(0, 3); lcd.print("suhu rendah"); suhuRendah = true; digitalWrite(pinPemanas, HIGH); delay(500); } else if (suhu > batasAtasSuhu) { lcd.setCursor(0, 3); lcd.print("suhu tinggi"); suhuTinggi = true; digitalWrite(pinWaterChiller, HIGH); delay(500); } else { lcd.setCursor(0, 3); lcd.print(" "); digitalWrite(pinPemanas, LOW); digitalWrite(pinWaterChiller, LOW); }
12). Bagian ini memeriksa nilai pH dan memberikan peringatan serta mengontrol LED sesuai dengan kondisi.
if (pHValue < batasBawahPh) { lcd.setCursor(0, 3); lcd.print("ph rendah"); phRendah = true; digitalWrite(pinLed1, HIGH); delay(500); } else if (pHValue > batasAtasPh) { lcd.setCursor(0, 3); lcd.print("ph tinggi"); phTinggi = true; digitalWrite(pinLed2, HIGH); delay(500); } else { lcd.setCursor(0, 3); lcd.print(" "); digitalWrite(pinLed1, LOW); digitalWrite(pinLed2, LOW); }
13). Bagian ini memeriksa nilai ketinggian air dan memberikan peringatan serta mengontrol pompa sesuai dengan kondisi.
if (ketinggianAir <= batasBawahKetinggianAir) { lcd.setCursor(0, 3); lcd.print("air rendah"); airKurang = true; digitalWrite(pinPompa, HIGH); delay(500); } else if (ketinggianAir > batasAtasKetinggianAir) { lcd.setCursor(0, 3); lcd.print("air tinggi"); airBerlebih = true; digitalWrite(pinPompa, LOW); delay(500); } else { lcd.setCursor(0, 3); lcd.print(" "); digitalWrite(pinPompa, LOW); }
14). Bagian ini menentukan apakah kondisi keseluruhan normal atau ada peringatan. Sesuai dengan kondisi ini, LED ke-3 akan dikendalikan untuk menunjukkan status normal atau peringatan.
if (!suhuRendah && !suhuTinggi && !phRendah && !phTinggi && !airKurang && !airBerlebih) { lcd.setCursor(0, 3); lcd.print("Normal"); digitalWrite(pinLed3, HIGH); } else { lcd.setCursor(0, 3); lcd.print(" "); digitalWrite(pinLed3, LOW); }
15). Bagian ini memberikan delay selama 1 detik untuk mengurangi frekuensi pembacaan dan memberikan waktu untuk menampilkan peringatan pada LCD.
delay(1000);}
Rangkaian ini mengimplementasikan sejumlah kondisi untuk memantau dan mengontrol kondisi kolam ikan. Pertama, program memeriksa nilai suhu kolam, dan jika suhu di bawah batas rendah atau di atas batas tinggi yang telah ditentukan, program memberikan peringatan dan mengaktifkan pemanas atau water chiller sesuai kebutuhan. Kedua, sensor pH juga dimonitor, dan jika nilai pH di luar rentang yang diinginkan, program memberikan peringatan dan mengaktifkan LED sebagai indikator visual. Ketiga, ketinggian air dalam kolam diukur menggunakan sensor ultrasonik, dan jika ketinggian air di bawah batas minimum atau di atas batas maksimum, program memberikan peringatan dan mengontrol pompa untuk menyesuaikan ketinggian air.
Selain kondisi sensor, program ini menciptakan kondisi keseluruhan untuk menentukan apakah kolam berada dalam keadaan normal atau memerlukan tindakan korektif. Jika semua sensor berada dalam rentang normal, program menampilkan "Normal" pada LCD dan mengaktifkan LED sebagai tanda bahwa kondisi kolam dalam keadaan baik. Jika ada peringatan dari salah satu sensor, program memberikan informasi tentang kondisi tersebut pada LCD dan mengonfigurasi perangkat eksternal atau LED sesuai dengan kondisi yang ditemukan.
Dengan menggunakan kombinasi kondisi sensor dan kondisi keseluruhan, program ini menciptakan sistem otomatis yang dapat merespons dinamika lingkungan kolam ikan dan menjaga kondisi air serta parameter kolam tetap optimal.
- Download File HTML : klik disini
- Download Rangkaian : klik disini
- Download Video Simulasi : klik disini
- Download File Library Semua Sensor yang digunakan : klik disini
- Download File Library pH sensor : klik disini
- Download File Library Ultrasonic Sensor : klik disini
- Download Data Sheet Arduino : klik disini
- Download Data Sheet Resistor : klik disini
- Download Data Sheet Dioda : klik disini
- Download Data Sheet Transistor NPN BC547 : klik disini
- Download Data Sheet Relay : klik disini
- Download Data Sheet PCF8574 : klik disini
- Download Data Sheet LED : klik disini
- Download Data Sheet Motor DC : klik disini
- Download Data Sheet pH Sensor : klik disini
- Download Data Sheet Ultrasonic Sensor : klik disini
- Download Data Sheet Sensor Suhu LM35 : klik disini
- Download Data Sheet LCD : klik disini
- Download Program Arduino : klik disini
0 komentar:
Posting Komentar