Sistem Penyiraman Otomatis Bibit Mangga dalam Pot
Tumbuhan merupakan makhluk hidup yang pada umumnya memiliki akar, batang, dan daun, yang sangat membutuhkan air untuk perkembangan hidupnya. Selain itu, tumbuhan juga berperan penting bagi kehidupan manusia, hewan, dan lingkungan. Tumbuhan mampu menyerap gas karbondioksida di lingkungan dan menghasilkan oksigen baru, sehingga udara menjadi lebih bersih.
Kemajuan teknologi dari waktu ke waktu telah berkembang dengan pesat, memberikan banyak kemudahan bagi manusia untuk melakukan pekerjaan sehari-hari, termasuk dalam perawatan tanaman. Salah satu contoh perawatan tanaman yang dapat dioptimalkan dengan teknologi adalah penyiraman otomatis dan pemantauan bibit mangga dalam pot. Penyiraman tanaman secara rutin adalah rutinitas penting yang perlu dilakukan agar tanaman dapat tumbuh dan berkembang dengan baik. Otomatisasi dapat dimanfaatkan untuk membantu pekerjaan yang bersifat rutinitas karena dapat berjalan terus menerus tanpa mengenal waktu.
Mengetahui waktu penyiraman yang tepat adalah hal penting dalam proses perawatan tanaman. Salah satu teknologi yang dapat memudahkan seseorang dalam melakukan penyiraman adalah penerapan sistem penyiraman otomatis menggunakan komunikasi UART antara dua Arduino. Dual Arduino memungkinkan penggunaan dua mikrokontroler untuk berbagi tugas, meningkatkan efisiensi dan ketepatan dalam pengontrolan sistem penyiraman dan pemantauan kondisi tanaman.
Penyiraman otomatis adalah teknik penyiraman modern tanpa menggunakan manusia sebagai peran utama. Saat ini, terdapat beberapa penelitian yang telah dilakukan terkait penyiraman otomatis. Misalnya, penelitian oleh D. Kurnia membuat prototipe Gardening Smart System (GSS) untuk perawatan tanaman anggrek berbasis web menggunakan Arduino Uno, dan A. Rahman yang membuat sistem penyiraman tanaman otomatis menggunakan sensor kelembaban tanah dan sensor cahaya berbasis IoT.
Berdasarkan pemaparan di atas, penulis tertarik untuk merancang sebuah sistem penyiraman otomatis dan pemantauan bibit mangga dalam pot menggunakan komunikasi UART dengan dual Arduino, sensor Infrared, DHT11, Capacitive Soil Moisture, Rainsensor, dan LDR. Sistem ini akan memungkinkan pemantauan dan kontrol secara efektif untuk memastikan pertumbuhan optimal bibit mangga.
Dengan sistem ini, diharapkan perawatan bibit mangga dalam pot dapat dilakukan dengan lebih efisien dan efektif, memastikan pertumbuhan yang optimal dan kesehatan tanaman yang baik. Sistem ini tidak hanya bermanfaat bagi para penghobi tanaman, tetapi juga bagi petani dan pengusaha agrikultur yang ingin meningkatkan produktivitas dan efisiensi dalam perawatan tanaman mereka.
a.
Memenuhi syarat
untuk modul 4 Praktikum Mikroprosesor & Mikrokontroler
b.
Untuk mendesain
sistem penyiraman otomatis bibit mangga dalam pot
c.
Mengimplementasikan
rangkaian sistem penyiraman otomatis bibit mangga dalam pot ke bentuk prototipe
1. Solder
b. Komponen
1. Arduino R3
2. Breadboard
3. LED
4. LCD I2C 2x16
5. Baterai Lithium 3,7 V
6. Kotak baterai
7. Relay 5V
8. Sensor LDR
9. Sensor Infrared
10. Sensor DHT 11
11. Rainsensor
12. Capacitive Soil Moisture Sensor
13. Selang air
14. Resistor
15. Buzzer
16. Jumper
17. Kotak baterai
18. Pompa DC 5V
19. Baterai 9 V
20. Adaptor
1.
PWM (Pulse
Width Modulation)
PWM (Pulse Width Modulation) adalah
salah satu teknik modulasi dengan mengubah lebar pulsa (Duty Cycle)
dengan nilai amplitudo dan frekuensi yang tetap. Satu siklus pulsa merupakan
kondisi high kemudian berada di zona transisi ke kondisi low. Lebar pulsa PWM
berbanding lurus dengan amplitudo sinyal asli yang belum termodulasi. Duty
Cycle adalah perbandingan antara waktu ON (lebar pulsa High) dengan
perioda. Duty Cycle biasanya dinyatakan dalam bentuk persen (%).
•
Duty Cycle
= tON / ttotal
•
tON = Waktu ON atau Waktu
dimana tegangan keluaran berada pada posisi tinggi (high atau 1)
•
tOFF = Waktu OFF atau
Waktu dimana tegangan keluaran berada pada posisi rendah (low atau 0)
•
ttotal = Waktu satu
siklus atau penjumlahan antara tON dengan tOFF atau disebut juga dengan
“periode satu gelombang”
Pada board Arduino Uno, pin yang bisa
dimanfaatkan untuk PWM adalah pin yang diberi tanda tilde (~), yaitu pin 3, 5,
6, 9, 10, dan pin 11. Pin-pin tersebut merupakan pin yang bisa difungsikan
untuk input analog atau output analog. Oleh sebab itu, jika akan menggunakan
PWM pada pin ini, bisa dilakukan dengan perintah analogWrite();.
PWM pada arduino bekerja pada frekuensi 500Hz,
artinya 500 siklus/ketukan dalam satu detik. Untuk setiap siklus, kita bisa
memberi nilai dari 0 hingga 255. Ketika kita memberikan angka 0, berarti pada
pin tersebut tidak akan pernah bernilai 5 volt (pin selalu bernilai 0 volt).
Sedangkan jika kita memberikan nilai 255, maka sepanjang siklus akan bernilai 5
volt (tidak pernah 0 volt). Jika kita memberikan nilai 127 (kita anggap
setengah dari 0 hingga 255, atau 50% dari 255), maka setengah siklus akan
bernilai 5 volt, dan setengah siklus lagi akan bernilai 0 volt. Sedangkan jika
jika memberikan 25% dari 255 (1/4 x 255 atau 64), maka 1/4 siklus akan bernilai
5 volt, dan 3/4 sisanya akan bernilai 0 volt, dan ini akan terjadi 500 kali
dalam 1 detik.
2.
ADC (Analog to
Digital Converter)
ADC atau Analog to Digital Converter merupakan
salah satu perangkat elektronika yang digunakan sebagai penghubung dalam
pemrosesan sinyal analog oleh sistem digital. Fungsi utama dari fitur ini
adalah mengubah sinyal masukan yang masih dalam bentuk sinyal analog menjadi
sinyal digital dengan bentuk kode-kode digital. Ada 2 faktor yang perlu
diperhatikan pada proses kerja ADC yaitu kecepatan sampling dan resolusi.
Kecepatan sampling menyatakan seberapa sering
perangkat mampu mengkonversi sinyal analog ke dalam bentuk sinyal digital dalam
selang waktu yang tertentu. Biasa dinyatakan dalam sample per second (SPS).
Sementara Resolusi menyatakan tingkat ketelitian yang dimilliki. Pada Arduino,
resolusi yang dimiliki adalah 10 bit atau rentang nilai digital antara 0 -
1023. Dan pada Arduino tegangan referensi yang digunakan adalah 5 volt, hal ini
berarti ADC pada Arduino mampu menangani sinyal analog dengan tegangan 0 - 5
volt. Pada Arduino, menggunakan pin analog input yang diawali dengan kode A
(A0- A5 pada Arduino Uno). Fungsi untuk mengambil data sinyal input analog
menggunakan analogRead(pin);.
3.
Mikrokontroler
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, serta
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.
Setiap 14 pin digital pada arduino uno dapat
digunakan sebagai input dan output, menggunakan fungsi pinMode(),
digitalWrite(), dan digitalRead(). Fungsi – fungsi tersebut beroperasi di
tegangan 5 volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum
40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50
kOhm.
4. Komunikasi
4.1.
Universal
Asynchronous Receiver Transmitter (UART)
UART (Universal Asynchronous
Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan
antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit
terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port
serial perangkat periperal.
Cara Kerja
Komunikasi UART :
Data dikirimkan secara paralel dari data bus
ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian
dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx
UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan,
kemudian ditransfer secara parallel ke data bus penerima.
4.2.
Serial
Peripheral Interface (SPI)
Serial Peripheral Interface (SPI) merupakan
salah satu mode komunikasi serial synchrounous kecepatan tinggi yang dimiliki
oleh ATmega 328. Komunikasi SPI membutuhkan 3 jalur yaitu MOSI, MISO, dan SCK.
Melalui komunikasi ini data dapat saling dikirimkan baik antara mikrokontroler
maupun antara mikrokontroler dengan peripheral lain di luar mikrokontroler.
•
MOSI : Master Output
Slave Input artinya jika dikonfigurasi sebagai master maka pin MOSI sebagai
output tetapi jika dikonfigurasi sebagai slave maka pin MOSI sebagai input.
•
MISO : Master Input Slave
Output artinya jika dikonfigurasi sebagai master maka pin MISO sebagai input
tetapi jika dikonfigurasi sebagai slave maka pin MISO sebagai output.
•
SCLK : Clock jika
dikonfigurasi sebagai master maka pin CLK berlaku sebagai output tetapi jika
dikonfigurasi sebagai slave maka pin CLK berlaku sebagai input.
•
SS/CS : Slave Select /
Chip Select adalah jalur master memilih slave mana yang akan dikirimkan data.
Cara Kerja
Komunikasi SPI :
Sinyal clock dialirkan dari master ke slave
yang berfungsi untuk sinkronisasi. Master dapat memilih slave mana yang akan
dikirimkan data melalui slave select, kemudian data dikirimkan dari master ke
slave melalui MOSI. Jika master butuh respon data maka slave akan mentransfer
data ke master melalui MISO.
4.3.
Inter-Integrated
Circuit (I2C)
Inter Integrated Circuit atau sering disebut
I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang
didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari
saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data
antara I2C dengan pengontrolnya.
Cara Kerja
Komunikasi I2C :
Pada I2C, data ditransfer dalam bentuk message
yang terdiri dari kondisi start, Address Frame, R/W bit, ACK/NACK bit, Data
Frame 1, Data Frame 2, dan kondisi Stop.
•
Kondisi start dimana saat
pada SDA beralih dari logika high ke low sebelum SCL.
•
Kondisi stop dimana saat
pada SDA beralih dari logika low ke high sebelum SCL.
•
R/W bit berfungsi untuk
menentukan apakah master mengirim data ke slave atau meminta data dari slave.
(logika 0 = mengirim data ke slave, logika 1 = meminta data dari slave)
•
ACK/NACK bit berfungsi
sebagai pemberi kabar jika data frame ataupun address frame telah diterima
receiver.
5. Sensor
5.1.
Sensor Infrared
Sensor Inframerah, merupakan perangkat yang mendeteksi
dan mengukur radiasi infra merah di lingkungannya. Sensor ini beroperasi
berdasarkan prinsip bahwa semua benda memancarkan suatu bentuk radiasi infra
merah sebagai fungsi suhunya. Sensor IR mendeteksi radiasi ini dan mengubahnya
menjadi sinyal listrik.
Teknologi ini sangat serbaguna. Anda dapat
menggunakannya untuk mengukur panas yang dipancarkan benda atau bahkan
mendeteksi gerakan. Misalnya, dalam sistem keamanan, sensor IR dapat mendeteksi
keberadaan seseorang melalui radiasi infra merah yang dipancarkan tubuhnya.
Selain itu, sensor-sensor ini merupakan bagian integral dalam aplikasi seperti
antarmuka bebas sentuhan, di mana mereka melihat gerakan tangan dan gestur.
Cara
kerja Sensor IR
Prinsip kerja sensor IR adalah aspek menarik dari
teknologi modern, yang menawarkan gambaran bagaimana perangkat ini berinteraksi
dengan lingkungannya. Pada dasarnya, metode kerja sensor IR melibatkan
pendeteksian radiasi infra merah, yang tidak terlihat dengan mata telanjang
tetapi penting untuk berbagai aplikasi. Inti dari prinsip kerja sensor IR
adalah mekanisme yang sederhana namun efektif: LED IR memancarkan cahaya
inframerah, dan fotodioda IR, yang peka terhadap cahaya ini, bertindak sebagai
penerima.
Grafik respon sensor Infrared:
5.2.
Sensor Capacitive
Soil Moisture
Sensor yang berfungsi untuk mendeteksi
moisture/kelembaban tanah.
berbeda dengan yang biasa, sensor ini bekerja dengan menggunakan prinsip
capacitance, sehingga membuat PCB menjadi tahan karat karena dilapisi oleh
lapisan cat PCB. Output dari sensor ini
berupa tegangan analog 1.2 ~ 2.5V.
sudah dilengkapi dengan signal conditioning, sehingga dapat dengan mudah
dihubungkan dengan minrocontroller atau arduino. Sensor ini cocok
digunakan untuk proyek monitoring tanah atau tanaman.
Grafik
respon sensor Capacitive Soil Moisture:
5.3.
Sensor DHT11
Sensor
dht11 merupakan sensor yang berfungsi untuk mengukur suhu dan kelembaban udara
sekaligus yang di dalamnya terdapat thermistor tipe NTC (Negative
Temperature Coefficient) untuk mengukur suhu, sebuah sensor kelembapan
dengan karkteristik resistif terhadap perubahan kadar air di udara serta
terdapat chip yang di dalamnya melakukan beberapa konversi analog ke digital
dan mengeluarkan output dengan format single-wire bi-directional (kabel
tunggal dua arah).
Grafik respon sensor DHT 11 :
Spesifikasi
dari sensor dht11 :
•
Tegangan operasi : 3.5V
hingga 5.5V
•
Arus : 0.3mA (mengukur)
60uA (siaga)
•
Keluaran : data serial
•
Kisaran suhu: 0°C hingga
50°C
•
Kisaran kelembaban: 20%
hingga 90%
•
Resolusi: suhu dan
kelembaban keduanya 16-bit
•
Akurasi: ±1°C dan ±1%
Pinout dari sensor dht11 :
Pin |
Deskripsi |
VCC |
Supply
3.5V hingga 5.5V |
Data |
Menampilkan
suhu dan kelembaban melalui data serial |
NC |
Tidak
ada koneksi dan karenanya tidak digunakan |
GND |
Terhubung
ke ground sirkuit |
5.4. Sensor LDR
LDR (Light Dependent Resistor) adalah
salah satu jenis resistor yang dapat mengalami perubahan resistansinya apabila
mengalami perubahan penerimaan cahaya. Modul sensor cahaya bekerja manghasilkan
output yang mendeteksi nilai intensitas cahaya. Perangkat ini sangat cocok
digunakan untuk project yang berhubungan dengan cahaya seperti nyala mati
lampu.
Spesifikasi :
1.
Supply : 3.3 V – 5 V (arduino available)
2.
Output Type: Digital Output (0 and 1)
3.
Inverse output
4.
Include IC LM393 voltage comparator
5.
Sensitivitasnya dapat diatur
6.
Dimensi PCB size: 3.2 cm x 1.4 cm
Modul sensor cahaya ini memudahkan dalam
menggunakan sensor LDR (Light Dependent Resistor) untuk
mengukur intensitas cahaya. Modul LDR ini memiliki pin output
analog dan pin output digital dengan label AO dan DO pada PCB. Nilai
resistansi LDR pada pin analog akan meningkat apabila
intensitas cahaya meningkat dan menurun ketika intensitas cahaya semakin gelap.
Pada pin digital, pada batas tertentu DO akan high atau low, yang dikendalikan
sensitivitas nya menggunakan on-board potensiometer.
• Input Voltage: DC 3.3V - 5V
• Output: Digital - Sensitivitas bisa diatur, dan analog
• Ukuran PCB : 33 mm x 15 mm
LDR atau Light Dependent Resistor merupakan
salah satu komponen jenis resistor dengan nilai resistansi yang terus berubah
sesuai intensitas cahaya yang mengenai sensor. Semakin banyak cahaya yang
mengenai sensor LDR, maka akan semakin menurun nilai resistansinya. Nah,
semakin sedikit cahaya yang mengenai sensor (gelap), maka nilai resistansinya
akan semakin besar, jadi arus listrik yang mengalir akan terhambat.
Pada umumnya, sensor LDR mempunyai
nilai resistansi sebesar 200 KOhm di tengah kegelapan dan akan turun menjadi
500 Ohm saat terkena banyak cahaya. Oleh karena itu, menjadi hal biasa apabila
komponen elektronika yang peka cahaya ini sering digunakan untuk lampu alarm,
kamar tidur, penerangan jalan dan lain sebagainya.
LDR memiliki peran sebagai sensor cahaya di dalam aneka
rangkaian elektronika seperti saklar otomatis berdasarkan cahaya. Jadi jika
sensor terkena cahaya, maka arus listrik akan mengalir (ON) dan jika sensor
berada di dalam kondisi minim cahaya alias gelap, maka aliran listrik akan
terhambat (OFF). LDR sering digunakan untuk sensor lampu kamar
tidur, penerangan jalan otomatis, alarm dan lain sebagainya.
Cara kerja sensor LDR
LDR dapat dipasang pada aneka rangkaian
elektronika untuk memutuskan dan menyambungkan aliran listrik berdasarkan
cahaya. Semakin banyak cahaya yang mengenai LDR, maka nilai resistansinya akan
menurun. Semakin sedikit cahaya yang mengenai LDR, maka nilai resistansinya
akan meningkat.
Grafik Sensor LDR terhadap intensitas cahaya
5.5. Rainsensor
Prinsip kerja dari sensor ini yaitu pada
saat ada air hujan turun mengenai panel sensor maka akan terjadi proses
elektrolisasi oleh air hujan. Dan karena air hujan termasuk dalam golongan
cairan elektrolit yang dimana cairan tersebut akan menghantarkan arus listrik.
Pada sensor hujan ini terdapat ic komparator yang dimana output dari sensor ini
dapat berupa logika high dan low. Serta pada modul sensor ini terdapat output
yang berupa tegangan analog. Sensor ini dapat digunakan untuk memantau kondisi
ada tidaknya hujan di lingkungan luar yang dimana output dari sensor ini dapat
berupa sinyal analog maupun digital.
Alur tembaga pada pad sensor bertindak
seperti potensiometer dimana resistansinya bervariasi berdasarkan jumlah air
yang terdeteksi di permukaannya, Jika terdapat banyak air pada permukaan sensor
maka konduktivitasnya akan meningkat sehingga resistansinya menurun. Sedangkan
jik sedikit air yang terdeteksi pada permukaan sensor maka konduktivitasnya
buruk sehingga resistansinya meningkat.
Grafik
Respon RainSensor
6.
LCD
LCD (Liquid-Crystal Display) atau Penampil
Kristal Cair adalah layar panel datar atau perangkat optik elektronik
termodulasi yang menggunakan sifat modulasi cahaya dari kristal cair (liquid
crystal) yang dikombinasikan dengan polarizer. Kristal cair tidak memancarkan
cahaya secara langsung, melainkan menggunakan lampu latar atau reflektor untuk
menghasilkan gambar berwarna atau monokrom.
Spesifikasi
:
•
Format tampilan : 16 x 2
karakter
•
Pengontrol bawaan : ST
7066 (atau setara)
•
Siklus kerja : 1/16
•
5 x 8 titik termasuk
kursor
•
Supply + 5 V (juga
tersedia untuk + 3 V)
•
LED dapat digerakkan oleh
pin 1, pin 2, pin 15, pin 16 atau A dan K
•
N.V. opsional untuk
supply + 3 V
7.
Buzzer
Buzzer
adalah sebuah komponen elektronika yang dapat menghasilkan getaran suara berupa
gelombang bunyi. Buzzer akan menghasilkan getaran suara ketika diberikan
sejumlah tegangan listrik dengan taraf tertentu sesuai dengan spesifikasi
bentuk dan ukuran buzzer itu sendiri. Pada umumnya, buzzer ini sering digunakan
sebagai alarm karena penggunaannya yang cukup mudah yaitu dengan memberikan
tegangan input maka buzzer akan menghasilkan getaran suara berupa gelombang
bunyi yang dapat didengar.
Spesifikasi
:
•
Nilai tegangan : 6V
DC
•
Tegangan pengoperasian :
4 hingga 8V DC
•
Arus : ≤30mA
•
Keluaran suara pada 10cm
: ≥85dB
•
Frekuensi resonansi :
2300 ±300Hz
•
Nada : Berkelanjutan
•
Suhu operasional : -25°C
hingga +80°C
•
Suhu penyimpanan : -30°C
hingga +85°C
•
Berat : 2g
8.
Baterai
Baterai merupakan alat listrik-kimiawi yang
menyimpan energi serta mengeluarkan tenaganya dalam bentuk listrik. Baterai
ialah perangkat yang mampu menghasilkan tegangan DC, yaitu dengan cara mengubah
energi kimia yang terkandung di dalamnya menjadi energi listrik melalui suatu
reaksi elektrokimia, Redoks (Reduksi – Oksidasi). Baterai yang biasa dijual
(disposable/sekali pakai) ini mempunyai tegangan listrik 1,5 volt. Baterai ada
yang berbentuk tabung ataupun kotak.
Spesifikasi
:
•
Kapasitas nominal :
2200mAh (0.2Ca, debit)
•
Kapasitas minimum :
2100mAh (0.2Ca, debit)
•
Tegangan nominal : 3.7V
•
Metode pengisian : CC –
CV (tegangan konstan dengan arus terbatas)
•
Pengisian arus : a. Biaya standar : 1300mA
b. Pengisian cepat : 2600mA
•
Waktu pengisian daya
: a. Biaya standar : 3jam
b. Pengisian cepat : 2.5jam
•
Maks. mengisi arus :
2600mA
•
Maks. debit saat ini :
5200mA
•
Tegangan cut-off
discharge : 2.75V
•
Berat sel : maks. 47.0g
•
Dimensi sel : a. Diameter (maks.) : 18.40mm
b. Tinggi (maks.) : 65.00mm
10.
Pompa DC 5V
Motor pump / pompa air adalah alat untuk
menggerakan air dari tempat bertekanan rendah ke tempat bertekanan yang lebih
tinggi. Pada dasarnya motor pump sama dengan motor DC pada umumnya, hanya saja
sudah di-packing sedemikian rupa sehingga dapat digunakan di dalam air.
Spesifikasi
:
- Panjang
kabel USB: 1 Meter
- Jenis
Pompa: Submersible DC
- Tegangan
Kerja: 3 - 5V
- Batas
Tegangan: 2.5 - 6V DC
- Konsumsi
Arus: 120 - 330 mA
- Konsumsi
Daya: 0.4 - 1.5W
- Kapasitas
Pompa: 80 - 120L/H
- Dimensi
Luar: 7.5mm / 0.3"
- Dimensi
Dalam: 4.7mm / 0.18"
- Diameter
Pompa: Kurang lebih 24 mm / 0.95"
- Panjang
Pompa: Kurang lebih 45 mm / 1.8"
- Tinggi
Pompa: Kurang lebih 33 mm / 1.30"
- Material:
Engineering plastic
- Aktuator:
Brushless DC
- Masa
Kerja: 500 jam
11. Relay 5V
Relay adalah komponen elektronik berupa saklar
elektronik yang digerakkan oleh arus listrik. Secara prinsip, relay merupakan
tuas saklar dengan lilitan kawat pada batang besi (solenoid) di dekatnya,
ketika solenoid dialiri arus listrik, tuas akan tertarik karena adanya gaya
magnet yang terjadi pada solenoid sehingga kontak saklar akan menutup. Pada
saat arus dihentikan, gaya magnet akan hilang, tuas akan kembali keposisi
semula dan kontak saklar kembali terbuka. Relay biasanya digunakan untuk
menggerakkan arus/tegangan yang besar (misalnya peralatan listrik 4 A/AC 220V)
dengan memakai arus/tegangan yang kecil (misalnya 0.1 A/12 volt DC).
Relay adalah komponen listrik yang bekerja berdasarkan prinsip induksi medan elektromagnetis. Jika sebuah penghantar sialiri oleh arus listrik, maka disekitar penghantar tersebut timbul medan magnet. Medan magnet yang dihasilkan oleh arus listrik tersebut selanjutnya diinduksikan ke logam ferromagnetis. Penemu relay pertama kali adalah Joseph Henry pada tahun 1835 (Elangsakti,2013)
- Download library yang diperlukan pada bagian download dalam blog.
- Buka proteus yang sudah diinstal untuk membuat rangkaian.
- Tambahkan komponen seperti Arduino, sensor, dan perangkat lainnya lalu susun menjadi rangkaian.
- Buka Arduino IDE yang sudah diinstal.
- Di Arduino IDE, pergi ke menu "File" > "Preferences".Pastikan opsi
- "Show verbose during compile" dicentang untuk mendapatkan informasi detail saat kompilasi.
- Salin kode program Arduino pada blog kemudian tempelkan program tadi ke Arduino IDE.
- Kompilasikan kode dengan menekan tombol "Verify" di Arduino IDE.
- Cari dan salin path file HEX yang dihasilkan selama proses kompilasi.
- Kembali ke Proteus dan pilih Arduino yang telah Anda tambahkan di rangkaian.
- Buka opsi "Program File" dan tempelkan path HEX yang telah Anda salin dari Arduino IDE.
- Jalankan simulasi di Proteus.
Rangkaian ini terdiri dari beberapa
sensor yang masing-masing memiliki fungsi spesifik untuk mengontrol dan
memonitor kondisi lingkungan dan tanaman mangga. Sensor DHT11, yang terhubung
ke pin digital 4 pada Arduino Master, mengukur suhu dan kelembaban udara dengan
membaca data setiap 2 detik, yang kemudian ditampilkan pada LCD I2C dan
dikirimkan ke Arduino Slave. Sensor kelembaban tanah yang terhubung ke pin
analog A3 pada Arduino Master mengukur kadar air dalam tanah dengan mendeteksi
perubahan resistansi. Sensor hujan, terhubung ke pin digital 3, mendeteksi
keberadaan air hujan berdasarkan perubahan resistansi ketika air mengenai
sensor. Sensor LDR, terhubung ke pin analog A0, mengukur intensitas cahaya
dengan mengubah resistansi sesuai jumlah cahaya yang diterima. Sensor Infrared,
terhubung ke pin digital 8, mendeteksi keberadaan hama atau predator dan
mengirimkan sinyal ke Arduino Master. Arduino Master menampilkan nilai suhu
dalam derajat Celsius dan kelembaban dalam persen pada LCD, serta mengirimkan data
dari semua sensor ke Arduino Slave melalui komunikasi serial. Arduino Slave,
yang menerima data ini, mengontrol buzzer pada pin 5, Motor DC 1 pada pin 4,
Motor DC 2 pada pin 3, dan LED pada pin 2. Buzzer dan Motor DC 1 diaktifkan
ketika sensor Infrared mendeteksi hama atau predator. Motor DC 2
diaktifkan untuk menyiram tanaman jika nilai kelembaban tanah kurang dari 1000
dan sensor hujan tidak mendeteksi hujan. LED menyala ketika intensitas cahaya
tinggi (nilai dari sensor LDR lebih dari 600). Secara keseluruhan, sistem ini
berfungsi untuk memonitor dan mengontrol kondisi lingkungan secara otomatis,
memastikan tanaman mangga mendapatkan perawatan optimal.
- Flowchart
- Listing Program
A. Sender
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <DHT.h>
#define DHTPIN 4
// Pin untuk sensor DHT11 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE);
// Ganti 0x27 dengan alamat I2C yang ditemukan dari
I2C scanner LiquidCrystal_I2C lcd(0x27, 16, 2);
unsigned long previousMillis = 0; const long interval = 2000; // Interval waktu untuk
bergantian (2 detik)
void setup() {
Serial.begin(9600); // Inisialisasi komunikasi serial dht.begin();
lcd.init(); //
Menggunakan init() untuk menginisialisasi LCD
lcd.backlight(); }
void loop() { unsigned
long currentMillis = millis(); if
(currentMillis - previousMillis >= interval) {
previousMillis = currentMillis; //
Tampilkan suhu dan kelembaban float h =
dht.readHumidity(); float t =
dht.readTemperature();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print(" %");
// Membaca
data sensor lainnya int Infrared
= digitalRead(8); // Pin 8 untuk sensor Infrared int
soilMoisture = analogRead(A3); // Pin A0 untuk sensor soil moisture int
rainSensor = digitalRead(3); // Pin 2 untuk sensor rain int ldr =
analogRead(A0); // Pin A1 untuk sensor LDR
//
Mengirim data ke Arduino 2
Serial.print(Infrared);
Serial.print(",");
Serial.print(soilMoisture);
Serial.print(",");
Serial.print(rainSensor);
Serial.print(",");
Serial.println(ldr); }
delay(5000);
// Mengatur frekuensi pembacaan sensor } |
B. Receiver
#define
BUZZER_PIN 5 // Pin untuk Buzzer #define
MOTOR1_PIN 4 // Pin untuk Motor DC 1 #define
MOTOR2_PIN 3 // Pin untuk Motor DC 2 #define
LED_PIN 2 // Pin untuk LED
void
setup() { Serial.begin(9600); // Inisialisasi
komunikasi serial pinMode(BUZZER_PIN, OUTPUT); pinMode(MOTOR1_PIN, OUTPUT); pinMode(MOTOR2_PIN, OUTPUT); pinMode(LED_PIN, OUTPUT); } void
loop() { if (Serial.available() > 0) { String data =
Serial.readStringUntil('\n'); int splitIndex1 = data.indexOf(','); int splitIndex2 = data.indexOf(',',
splitIndex1 + 1); int splitIndex3 = data.indexOf(',',
splitIndex2 + 1);
int Infrared = data.substring(0,
splitIndex1).toInt(); int soilMoisture =
data.substring(splitIndex1 + 1, splitIndex2).toInt(); int rainSensor =
data.substring(splitIndex2 + 1, splitIndex3).toInt(); int ldr = data.substring(splitIndex3 +
1).toInt();
// Logika untuk Buzzer dan Motor DC 1 if (Infrared == HIGH) { digitalWrite(BUZZER_PIN, HIGH); digitalWrite(MOTOR1_PIN, HIGH); } else { digitalWrite(BUZZER_PIN, LOW); digitalWrite(MOTOR1_PIN, LOW); }
// Logika untuk Motor DC 2 if (soilMoisture > 300 &&
rainSensor == LOW) { digitalWrite(MOTOR2_PIN, HIGH); } else { digitalWrite(MOTOR2_PIN, LOW); }
// Logika untuk LED if (ldr > 600) { digitalWrite(LED_PIN, HIGH); } else { digitalWrite(LED_PIN, LOW); } } } |