Kontrol Hidroponik Pada Tanaman Selada
Urban farming adalah konsep memindahkan pertanian konvensional kepertanian perkotaan, yang berbeda ada pada pelaku dan media tanamnya. Sistem ini merupakan rancangan tanaman hidroponik dapat memantau suhu, kelembaban dan pH tanaman dari jarak jauh dengan menampilkan informasi kodisi tanaman ke smartphone.Penelitian lainnya dilakukan oleh tentang smart urban farming using hydroponics. Budidaya tanaman dengan metode hidroponik yang dapat melakukan pemantauan kondisi suhu, kelembaban, pH tanaman dengan sensor dan dikontrol oleh mikrokontroler. Teknik hidroponik yang banyak digunakan untuk menghasilkan sayuran daun, seperti selada adalah hidroponik NFT. Hidroponik Nutrient Film Technique (NFT) merupakan teknik hidroponik yang mampu menyediakan kebutuhan air dan nutrisi yang mudah bagi tanaman yang tergolong memiliki biaya operasional murah.
TUJUAN [KEMBALI]- enerapan Internet of Things (IoT) dibidang pertanian perkotaan (urban farming) menjadi salah satu solusi permasalahan yang ditemukan pada budidaya hidroponik melalui proses pemeliharaan jarak jauh menggunakan smartphone. Beberapa faktor yang mempengaruhi tanaman hidroponik tumbuh dengan baik adalah factor pencahayaan, suhu, kelembaban, kondisi PH tanaman dan kadar nutrisi.Ada beberapa faktor yang dapat mempengaruhi tanaman hidroponik tumbuh berfotosintesis adalah cahaya.
- Tegangan operasi LCD ini adalah 4.7V-5.3V
- Ini mencakup dua baris di mana setiap baris dapat menghasilkan 16 karakter.
- Pemanfaatan arus adalah 1mA tanpa lampu latar
- Setiap karakter dapat dibangun dengan kotak 5×8 piksel
- Alfanumerik LCD alfabet & angka
- Apakah tampilan dapat bekerja pada dua mode seperti 4-bit & 8-bit
- Ini dapat diperoleh dalam Lampu Latar Biru & Hijau
- Ini menampilkan beberapa karakter yang dibuat khusus
Sensor pH adalah sensor yang digunakan untuk mengetahui derajat keasaman. pH meter adalah alat yang digunakan untuk mengukur tingkat keasaman atau kebasaan larutan. Prinsip utama kerja pH meter adalah terletak pada sensor probe berupa elektroda kaca (glass electrode) dengan jalan mengukur jumlah ion H30+ di dalam larutan. Dalam penggunaannya, sensor pH perlu dikalibrasi berkala agar keakuratannya dapat terjaga. Beberapa produsen sensor pH pada umumnya menyertakan instrumen untuk melakukan kalibrasi secara manual. Jika sensor pH dihubungjan dengan Arduino Uno, kalibrasi dapat dilakukan melalui program antarmuka kalibrasi sensor pH (pengembangan dari library sensor pH yang sudah tersedia). Hasil kalibrasi tersebut kemudian disimpan dalam EEPROM agar dapat digunakan untuk pengukuran normal.
Spesifikasi:
- Catu Daya 5 V- Ukuran Modul: 43 mm x 32 mm- Jangkauan Pengukuran: 0 - 14 pH- Temperatur Kerja: 0°C - 60°C- Akurasi: ± 0.1 pH (25°C)- Respon Waktu: = 1 menit- Jenis Konektor: BNC- Antarmuka: PH 2.0- Gain Adjustment: Potensiometer
- Indikator Daya: LED
Sensor ketinggian air biasanya digunakan untuk menghitung ketinggian air di sungai, danau, atau tangki air. Sensor ini sangat mudah untuk dibuat karena bahan - bahanya sederhana. Water level sensor yang dibuat sekarang terbuat dari sensor magnet, magnet, bandul dan pipa.
- Tegangan kerja: 3-5 VDC nArus kerja: < 20mA.
- Tipe sensor: analog.
- Max output: 2.5v (saat sensor terendam semua)
- Luas area deteksi: 16x40mm nSuhu kerja: 10-30 C.
- Ukuran: 20x62x8 mm.
- Tegangan kerja = 3.3V-5V.
- Arus maksimum = 2.5mA
- Range pengukuran kelembaban = 20%-80%
- Akurasi pengukuran kelembaban = 5%
- Range pengukuran suhu = 0°C-50°C
- Akurasi pengukuran suhu = 2°C
- Kecepatan pengambilan sampel tidak lebih dari 1 Hz (setiap detik)
- Ukuran = 15.5 mm x 12 mm x 5.5 mm
- 4 pin dengan jarak 0,1 "
2.GND: ground
- Adoptshigh quality of RF-04 double sidedmaterial.
- Area:5cm x 4cm nickel plateon side,
- Anti-oxidation,anti-conductivity, with long use time;
- Comparator output signal clean waveform is good, driving ability, over 15mA;
- Potentiometer adjust the sensitivity;
- Working voltage 5V;
- Output format: Digital switching output (0 and 1) and analog voltage output AO;
- With bolt holes for easy installation;
- Small board PCB size: 3.2cm x 1.4cm;
- Usesa wide voltage LM393 comparator
Grafik Respon
1. Arduino Uno
Kontruksi
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:
- 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.
Semua komponen ini bekerja bersama-sama untuk menciptakan platform Arduino yang kuat dan serbaguna untuk mengembangkan berbagai proyek elektronik dan pemrograman.
- begin() Untuk begin() digunakan dalam inisialisasi interface ke LCD dan mendefinisikan ukuran kolom dan baris LCD. Pemanggilan begin() harus dilakukan terlebih dahulu sebelum memanggil instruksi lain dalam library LCD. Untuk syntax penulisan instruksi begin() ialah sebagai berikut. lcd.begin(cols,rows) dengan lcd ialah nama variable, cols jumlah kolom LCD, dan rows jumlah baris LCD.
- clear() Instruksi clear() digunakan untuk membersihkan pesan text. Sehingga tidak ada tulisan yang ditapilkan pada LCD.
- setCursor() 19 Instruksi ini digunakan untuk memposisikan cursor awal pesan text di LCD. Penulisan syntax setCursor() ialah sebagai berikut. lcd.setCursor(col,row) dengan lcd ialah nama variable, col kolom LCD, dan row baris LCD.
- print() Sesuai dengan namanya, instruksi print() ini digunakan untuk mencetak, menampilkan pesan text di LCD. Penulisan syntax print() ialah sebagai berikut.lcd.print(data) dengan lcd ialah nama variable, data ialah pesan yang ingin ditampilkan.
Resistor merupakan komponen elektronika dasar yang digunakan untuk membatasi jumlah arus yang mengalir dalam satu rangkaian.Sesuai dengan namanya, resistor bersifat resistif dan umumnya terbuat dari bahan karbon. Resistor memiliki simbol seperti gambar dibawah ini :
Resistor mempunyai nilai resistansi (tahanan) tertentu yang dapat memproduksi tegangan listrik di antara kedua pin dimana nilai tegangan terhadap resistansi tersebut berbanding lurus dengan arus yang mengalir, berdasarkan persamaan Hukum OHM :
Seri : Rtotal = R1 + R2 + R3 + ….. + Rn
Dimana :
Rtotal = Total Nilai Resistor
R1 = Resistor ke-1
R2 = Resistor ke-2
R3 = Resistor ke-3
Rn = Resistor ke-n
Paralel: 1/Rtotal = 1/R1 + 1/R2 + 1/R3 + ….. + 1/Rn
Dimana :
Rtotal = Total Nilai Resistor
R1 = Resistor ke-1
R2 = Resistor ke-2
R3 = Resistor ke-3
Rn = Resistor ke-n
4. Motor DC
Terdapat dua bagian utama pada sebuah Motor Listrik DC, yaitu Stator dan Rotor. Stator adalah bagian motor yang tidak berputar, bagian yang statis ini terdiri dari rangka dan kumparan medan. Sedangkan Rotor adalah bagian yang berputar, bagian Rotor ini terdiri dari kumparan Jangkar. Dua bagian utama ini dapat dibagi lagi menjadi beberapa komponen penting yaitu diantaranya adalah Yoke (kerangka magnet), Poles (kutub motor), Field winding (kumparan medan magnet), ArmatureWinding (Kumparan Jangkar), Commutator (Komutator)dan Brushes (kuas/sikat arang).
Pada prinsipnya motor listrik DC menggunakan fenomena elektromagnet untuk bergerak, ketika arus listrik diberikan ke kumparan, permukaan kumparan yang bersifat utara akan bergerak menghadap ke magnet yang berkutub selatan dan kumparan yang bersifat selatan akan bergerak menghadap ke utara magnet. Saat ini, karena kutub utara kumparan bertemu dengan kutub selatan magnet ataupun kutub selatan kumparan bertemu dengan kutub utara magnet maka akan terjadi saling tarik menarik yang menyebabkan pergerakan kumparan berhenti.
Untuk menggerakannya lagi, tepat pada saat kutub kumparan berhadapan dengan kutub magnet, arah arus pada kumparan dibalik. Dengan demikian, kutub utara kumparan akan berubah menjadi kutub selatan dan kutub selatannya akan berubah menjadi kutub utara. Pada saat perubahan kutub tersebut terjadi, kutub selatan kumparan akan berhadap dengan kutub selatan magnet dan kutub utara kumparan akan berhadapan dengan kutub utara magnet. Karena kutubnya sama, maka akan terjadi tolak menolak sehingga kumparan bergerak memutar hingga utara kumparan berhadapan dengan selatan magnet dan selatan kumparan berhadapan dengan utara magnet. Pada saat ini, arus yang mengalir ke kumparan dibalik lagi dan kumparan akan berputar lagi karena adanya perubahan kutub. Siklus ini akan berulang-ulang hingga arus listrik pada kumparan diputuskan.
- Siapkan alat dan bahan yang diperlukan dalam pembuatan rangkaian.
- Pahami datasheet masing masing komponen dengan mempertimbangkan tegangan yang digunakan, arusnyang diperlukan, terutama spesifikasi masing masing komponen.
- Rangkai semua alat dan bahan sesuai dengan gambar yang telah dilampirkan.
- Pasang dan hubungkan semua alat dan bahan sehingga membentuk rangkaian jadi.
#include <Keypad.h> #include <LiquidCrystal.h> |
Memanggil library LCD yang digunakan untuk mengaktifkan |
int motorwater = 9; int motordht = 10; int motorpha = 12; int motorphb = 13; int motorpir = 4; int sensorValue = 0; int waterlevel1 = A3; int waterlevel2 = A1; int rain = 2; int pir = 3; int LAMPU = 11; int pH = A2; float voltage; float pHValue; int adcPH; float calibration_value = 21.34; int phval = 0; unsigned long int avgval; int buffer_arr[10], temp; |
Deklarasi Pin dan variabel |
LiquidCrystal lcd(A0, A4, A5, 5, 6, 7); DHT dht(8, DHT11); |
LCD diinisialisasi dengan menggunakan objek LiquidCrystal. Inisialisasi objek untuk LCD dan sensor DHT11 dengan pin tertentu. |
oid setup() { lcd.begin(16, 2); pinMode(2, INPUT); pinMode(A1, INPUT); pinMode(11, OUTPUT); pinMode(motorpha, OUTPUT); pinMode(motorphb, OUTPUT); pinMode(motordht, OUTPUT); pinMode(motorwater, OUTPUT); pinMode(rain, INPUT); Serial.begin(9600); dht.begin(); } |
Fungsi ini berisi pengaturan awal seperti konfigurasi pin, inisialisasi objek, dan setup Serial. |
rain = digitalRead(rain); if (rain == HIGH) { digitalWrite(11, HIGH); } else { digitalWrite(11, LOW); } |
Membaca nilai sensor hujan dan mengontrol status lampu berdasarkan kondisi hujan. |
pir = digitalRead(pir); if (pir == HIGH) { digitalWrite(4, HIGH); } else { digitalWrite(4, LOW); } |
Membaca nilai sensor PIR dan mengontrol suatu perangkat jika gerakan terdeteksi. |
// DHT11 double t = dht.readTemperature(); double h = dht.readHumidity(); Serial.print("Suhu: "); Serial.print(t); Serial.println(" Celcius"); Serial.print("Kelembaban: "); Serial.println(h); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Kelembaban: "); lcd.setCursor(11, 0); lcd.print(h); lcd.setCursor(0, 1); lcd.print("Suhu: "); lcd.setCursor(5, 1); lcd.print(t); if ((h < 78) && (t > 28)) { digitalWrite(10, HIGH); } if ((t < 25) && (h > 78)) { digitalWrite(10, LOW); } |
Membaca suhu dan kelembaban dari sensor DHT11, kemudian menampilkan nilai tersebut di Serial Monitor dan LCD. Apabila suhu di atas 28 derjat dan kelembapan di bawah 65% kipas aktif dan springkler Aktif Apabila suhu di bawah 25 derjat dan kelembapan di atas 78% kipas mati dan springkler mati |
// Water Level int waterlevelnilai1 = map(analogRead(A3), 0, 1023, 1, 100); int waterlevelnilai2 = map(analogRead(A1), 0, 1023, 1, 100); if (waterlevelnilai1 <= 80 && waterlevelnilai2 <= 80) { digitalWrite(motorwater, HIGH); } else if (waterlevelnilai1 >= 80 && waterlevelnilai2 == 100) { digitalWrite(motorwater, LOW); } Serial.println(h); Serial.println(t); |
Membaca nilai dari sensor level air dan mengontrol motor air berdasarkan kondisi tertentu. |
// pH adcPH = analogRead(pH); phval = map(adcPH, 0, 1023, 1, 14); if (phval <= 7 && phval >= 6) { digitalWrite(12, LOW); digitalWrite(13, LOW); } else if (phval > 7) { digitalWrite(12, HIGH); digitalWrite(13, LOW); } else if (phval < 6) { digitalWrite(13, HIGH); digitalWrite(12, LOW); } |
Membaca nilai dari sensor pH dan mengontrol motor pH berdasarkan nilai tersebut. Apabila ph nilainya kecil dari 6 maka motor pemberi nutrisi basa akan aktif, dan apabila nilai ph nya lebih dari 7 maka motor pemberi nutrisi asam akan hidup |
Serial.print("Nilai Sensor pH : "); Serial.println(phval); lcd.println(phval); lcd.print("Nilai Sensor pH : "); lcd.print(phval); delay(1000); } |
Menampilkan data suhu, kelembaban, dan nilai pH di Serial Monitor dan LCD. |
|
video simulasi rangkaian
- Video Simulasi Rangkaian
- Video Simulasi Virtual Design
- Video Tips Sukses Menanam Selada Hidroponik
g). Download File [KEMBALI]
- Download HTML klik disini
- Download Rangkaian klik disini
- Download Rangkaian Visual Designer klik disini
- Download Kode Program klik disini
- Download Video Percobaan klik disini
- Download Jurnal 1 klik disini
- Download Jurnal 2 klik disini
- Download Jurnal 3 klik disini
- Download Jurnal 4 klik disini
- Download Jurnal 5 klik disini
- Download Datasheet Resistor klik disini
- Download Datasheet Kapasitor klik disini
- Download Datasheet Induktor klik disini
- Download Datasheet LED klik disini
- Download Datasheet Motor DC klik disini
- Download Datasheet Potensiometer klik disini
- Download Datasheet Motor Driver L293D klik disini
- Download Datasheet Arduino Uno klik disini
- Download Datasheet LCD klik disini
- Download Datasheet sensor LDR klik disini
- Download Datasheet sensor DHT11 klik disini
- Download Library Sensor pH klik disini
- Download Library Sensor Water Level klik disini
- Download Library Sensor PIR klik disini
- Download Datasheet Sensor pH klik disini
- Download Datasheet Sensor Water Level klik disini
- Download Datasheet Sensor DHT11 klik disini
Tidak ada komentar:
Posting Komentar