Tujuan perancangan penyiram tanaman
ini adalah agar mempermudah pemilik dalam melakukan penyiraman tanaman setiap
hari dan disaat pemilik terlupa untuk menyiram tanaman. Mempercepat
fotosintesis tanaman tomat tersebut
a. Soil Moisture
3. Dasar Teori[kembali]
-
Soil moisture sensor
Soil Moisture Sensor adalah suatu modul yang berfungsi untuk mendeteksi
tingkat kelembaban tanah dan juga dapat digunakan untuk menentukan apakah ada
kandungan air di tanah/ sekitar sensor. Cara penggunaan modul ini cukup
mudah, yakni dengan memasukkan sensor ke dalam tanah dan setting potensiometer
untuk mengatur sensitifitas dari sensor. Keluaran dari sensor akan bernilai 1 /
0 ketika kelembaban tanah menjadi tinggi / rendah yang dapat di treshold
dengan potensiometer. Spesifikasi dari sensor ini adalah :
1. Comparator menggunakan LM393
2. Hanya menggunakan 2 plat kecil sebagai sensor
3. Supply Tegangan 3.3-5 VDC
4. Digital output D0 dapat secara langsung
dikoneksikan dengan MCU dengan mudah
Sensor ini digunakan untuk
mengukur kadar air didalam tanah, atau juga bisa untuk menedeteksi cuaca yang
terjadi hari kemarin dan hari ini melalui media tanah, prinsip kerja sensor ini
sangat simpel yaitu ada dua buah lempengan yang mana jika kedua buah lempengan
terkena media penghantar maka elektron akan berpindah dari kutub + ke kutub -
sehingga terjadilah arus yang akan menimbulkan tegangan. Pergerakan elektron
dimanfaatkan untuk mendeteksi apakah ada air di tanah ataukah tidak, jika tanah
basah berarti tanah tersebut mengandung media penghantar, namun jika tanah
kering maka tidak mengandung media penghantar elektron, sehingga pada adc
mikrokontroller akan terlihat perbedaannya.
-
Water level Sensor
Prinsip kerja dari sensor water level adalah membaca resistasi yang dihasilkan oleh
air yang mengenai lempengan yang bergaris-garis pada
sensor tersebut, semakin banyak air yang mengenai permukaan bergaris garis
tersebut maka hambatannya semakin kecil dan ketika tidak ada air yang mengenai
lempengan sensor tersebut maka hambatanya sangat besar atau bisa dikatakan
tidak terhingga.
Karakteristik:
1) Working voltage: 5V
2) Working
Current: <20ma
3) Interface: Analog
4) Width
of detection: 40mm×16mm
5) Working
Temperature: 10℃~30℃
6) Weight: 3g
7) Size: 65mm×20mm×8mm
8) Arduino compatible interface
9) Low power consumption
Pinout:
a) "S" stand for signal input
b) "+" stand for power supply
c) "-" stand for GND
-
LDR
LDR (Ligh Dependent Resistor) adalah suatu komponen elektronik yang
resistansinya tergantung pada intensitas cahaya. LDR di buat dari bahan Cadium
Sulfida yang peka terhadap cahaya. LDR akan mempunyai hambatan yang sangat
besar saat tidak ada cahaya mengenainya (gelap). Dalam kondisi ini hambatan LDR
mampu mencapai 1M ohm, akan tetapi pada saat LDR mendapat cahaya hambatan LDR
akan menurun menjadi beberapa puluh ohm saja.
Prinsip Kerja:
Pada
saat gelap atau cahaya redup, bahan dari cakram pada LDR menghasilkan elektron
bebas dengan jumlah yang relatif kecil. Sehingga hanya ada sedikit elektron
untuk mengangkut muatan elektrik. Artinya pada saat cahaya redup LDR menjadi
pengantar arus yang kurang baik, atau bisa disebut juga LDR memiliki resistansi
yang besar pada saat gelap atau cahaya redup. Pada saat cahaya terang, ada
lebih banyak elektron yang lepas dari bahan semikonduktor tersebut. Sehingga
akan ada lebih banyak elektron untuk mengangkut muatan elektrik. Artinya pada
saat cahaya terang LDR menjadi konduktor atau bisa disebut juga LDR memilki
resistansi yang kecil pada saat cahaya terang. LDR digunakan untuk mengubah
energi cahaya menjadi energi listrik. Saklar cahaya otomatis adalah salah satu
contoh alat yang menggunakan LDR. Akan tetapi karena responsnya terhadap
cahaya cukup lambat, LDR tidak digunakan pada situasi dimana intesitas cahaya
berubah secara drastis.
Rangkaian
elektronik yang dapat digunakan untuk LDR adalah rangkaian yang dapat mengukur
nilai resistansi dari LDR tersebut. Dari hukum ohm, diketahui bahwa:
V= I.R
Dengan V adalah beda potensial antara dua titik, I adalah arus yang mengalir diantaranya, dan R adalah resistansi di antara-nya. Lebih lanjut dikatakan pula bahwa nilai R tidak bergantung dari V ataupun I. Sehingga, jika ada perubahan nilai resistansi dari R, maka nilai tegangan V-nya pun akan berubah. Jika beda potensial di-set tetap, maka perubahan resistansi hanya akan mempengaruhi besar arusnya.
- Arduino
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain.
Adapun spesifikasi dari Arduino Uno ini adalah sebagai berikut:
Bagian-bagian arduino uno:
-
Power USB
Digunakan untuk menghubungkan PapanArduino dengan komputer lewat koneksi USB.
-
Power jack
Supply atau sumber listrik untuk
Arduino dengan tipe Jack. Input DC 5 - 12 V.
-
Crystal Oscillator
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino. Jumlah cetakmenunjukkan 16000
atau 16000 kHz, atau 16 MHz.
-
Reset
Digunakan untuk mengulang program Arduino
dari awal atau Reset.
-
Digital Pins I / O
Papan Arduino
UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika
( 0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse
Width Modulation ) yang dapat digunakan untuk menghasilkan PWM.
-
Analog Pins
Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk
membaca sinyal atau sensor analog seperti sensor jarak,
suhu dsb, dan mengubahnya menjadi nilai digital.
-
LED Power Indicator
-
Lampu ini kaan menyala dan menandakan papan Arduino mendapatkan suplay
listrik dengan baik.
Bagian -
bagian pendukung:
-
RAM
RAM (Random
Access Memory) adalah tempat penyimpanan sementara pada komputer yang isinya
dapat diakses dalam waktu yang tetap, tidak memperdulikan letak data tersebut
dalam memori atau acak. Secara umum ada 2 jenis RAM yaitu SRAM (Static Random
Acces Memory) dan DRAM (Dynamic Random Acces Memory).
-
ROM
ROM
(Read-only Memory) adalah perangkat keras pada computer yang dapat
menyimpan data secara permanen tanpa harus memperhatikan adanya sumber
listrik. ROM terdiri dari Mask ROM, PROM, EPROM, EEPROM.
Block Diagram
Mikrokontroler ATMega 328P pada Arduino UNO
Block diagram dapat digunakan untuk memudahkan / memahami bagaimana kinerja dari mikrokontroler ATMega 328P.
Pin-pin ATMega 328P:
- LCD
Liquid Crystal Display (LCD) adalah sebuah peralatan elektronik yang berfungsi untuk menampilkan output sebuah sistem dengan cara membentuk suatu citra atau gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah elektroda transparan dan 2 buah filter polarisasi (polarizing filter). Struktur LCD dapat dilihat pada gambar berikut:
Keterangan:
-
Film dengan
polarizing filter vertical untuk memolarisasi cahaya yang masuk.
-
Glass substrate yang berisi kolom-kolom elektroda Indium tin oxide
(ITO).
-
Twisted nematic liquid crystal (kristal cair dengan susunan terpilin).
-
Glass substrate yang berisi baris-baris elektroda Indium tin oxide
(ITO).
-
Film dengan polarizing filter horizontal untuk memolarisasi cahaya yang
masuk.
-
Reflektor
cahaya untuk memantulkan cahaya yang masuk LCD kembali ke mata pengamat.
Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang dijual di pasaran sudah memiliki integrated circuit tersendiri sehingga para pemakai dapat mengontrol tampilan LCD dengan mudah dengan menggunakan mikrokontroler untuk mengirimkan data melalui pin-pin input yang sudah tersedia. Module circuit dari LCD dan kaki-kakinya dapat dilihat melalui gambar berikut.
- LED
LED adalah suatu semikonduktor yang memancarkan cahaya, LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n) dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED diberikan arus terbalik, hanya akan ada sedikit arus yang melewati LED. Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.
Prinsip Kerja LED:
Karena LED adalah salah satu jenis dioda maka LED memiliki 2 kutub yaitu anoda dan katoda. Dalam hal ini LED akan menyala bila ada arus listrik mengalir dari anoda menuju katoda. Pemasangan kutub LED tidak boleh terebalik karena apabila terbalik kutubnya maka LED tersebut tidak akan menyala. Led memiliki karakteristik berbeda-beda menurut warna yang dihasilkan. Semakin tinggi arus yang mengalir pada led maka semakin terang pula cahaya yang dihasilkan, namun perlu diperhatikan bahwa besarnya arus yang diperbolehkan 10mA-20mA dan pada tegangan 1,6V – 3,5 V menurut karakter warna yang dihasilkan. Apabila arus yang mengalir lebih dari 20mA maka led akan terbakar. Untuk menjaga agar LED tidak terbakar perlu kita gunakan resistor sebagai penghambat arus.
- Motor DC
Motor Listrik DC atau DC Motor adalah suatu perangkat yang mengubah energi listrik menjadi energi kinetik atau gerakan (motion). Motor DC ini juga dapat disebut sebagai motor arus searah. Seperti namanya, DC Motor memiliki dua terminal dan memerlukan tegangan arus searah atau DC (Direct Current) untuk dapat menggerakannya.Motor Listrik DC ini biasanya digunakan pada perangkat-perangkat elektronik dan listrik yang menggunakan sumber listrik DC seperti vibrator ponsel, kipas DC dan bor listrik DC.
Motor Listrik DC atau DC Motor ini menghasilkan sejumlah putaran per menit atau biasanya dikenal dengan istilah RPM (Revolutions per minute) dan dapat dibuat berputar searah jarum jam maupun berlawanan arah jarum jam apabila polaritas listrik yang diberikan pada Motor DC tersebut dibalikan. Motor listrik DC tersedia dalam berbagai ukuran rpm dan bentuk. Kebanyakan motor listrik DC memberikan kecepatan rotasi sekitar 3000 rpm hingga 8000 rpm dengan tegangan operasional dari 1,5V hingga 24V. Apabila tegangan yang diberikan ke motor listrik DC lebih rendah dari tegangan operasionalnya maka akan dapat memperlambat rotasi motor DC tersebut sedangkan tegangan yang lebih tinggi dari tegangan operasional akan membuat rotasi motor DC menjadi lebih cepat. Namun ketika tegangan yang diberikan ke Motor DC tersebut turun menjadi dibawah 50% dari tegangan operasional yang ditentukan maka Motor DC tersebut tidak dapat berputar atau terhenti. Sebaliknya, jika tegangan yang diberikan ke Motor DC tersebut lebih tinggi sekitar 30% dari tegangan operasional yang ditentukan, maka motor DC tersebut akan menjadi sangat panas dan akhirnya akan menjadi rusak.
Pada saat motor listrik DC berputar tanpa beban, hanya sedikit arus listrik atau daya yang digunakannya, namun pada saat diberikan beban, jumlah arus yang digunakan akan meningkat hingga ratusan persen bahkan hingga 1000% atau lebih (tergantung jenis beban yang diberikan). Oleh karena itu, produsen motor DC biasanya akan mencantumkan Stall Current pada Motor DC. Stall Current adalah arus pada saat poros motor berhenti karena mengalami beban maksimal.
Jenis-jenis Motor DC (Motor Arus Searah)
1. Motor DC Sumber Daya Terpisah (Separately Excited DC Motor)
Pada Motor DC jenis sumber daya terpisah ini, sumber arus listrik untuk kumparan medan (field winding) terpisah dengan sumber arus listrik untuk kumparan angker (armature coil) pada rotor seperti terlihat pada gambar diatas ini. Karena adanya rangkaian tambahan dan kebutuhan sumber daya tambahan untuk pasokan arus listrik, motor DC jenis ini menjadi lebih mahal sehingga jarang digunakan. Separately Excited Motor DC ini umumnya digunakan di laboratorium untuk penelitian dan peralatan-peralatan khusus.
2. Motor DC Sumber Daya Sendiri (Self Excited DC
Motor)
Pada Motor DC jenis sumber daya sendiri atau self
excited motor DC ini, kumparan medan (field winding) dihubungkan secara seri,
paralel ataupun kombinasi seri-paralel dengan kumparan angker (armature
winding). Motor DC sumber daya sendiri ini terbagi lagi menjadi 3 jenis Motor
DC yaitu shunt DC motor, series DC motor dan compound DC motor.
3. Motor DC tipe Shunt (Shunt DC Motor)
Motor DC tipe shunt adalah motor DC yang kumparan medannya dihubungkan secara paralel dengan kumparan angker (armature winding). Motor DC tipe shunt ini merupakan tipe Motor DC yang sering digunakan, hal ini dikarenakan Motor DC shunt memiliki kecepatan yang hampir konstan meskipun terjadi perubahan beban (kecepatan akan berkurang apabila mencapai torsi (torque) tertentu). Karena kumparan medan dan kumparan angker dihubungkan secara paralel, maka total arus listrik merupakan penjumlahan dari arus yang melalui kumparan medan dan arus yang melalui kumparan angker. Kecepatannya dapat dikendalikan dengan memasangkan sebuah resistor/tahanan secara seri dengan kumparan medan ataupun seri dengan kumparan angker. Jika resistor/tahanan tersebut dipasangkan secara seri dengan kumparan medan maka kecepatannya akan berkurang, sedangkan apabila resistor/tahanan tersebut dipasangkan secara seri dengan kumparan angker maka kecepatannya akan bertambah.
4. Motor DC tipe Seri (Series DC Motor)
Motor DC tipe seri atau dalam bahasa Inggris disebut dengan series DC Motor ini adalah Motor DC yang kumparan medannya dihubungkan secara seri dengan kumparan angker (armature winding). Dengan hubungan seri tersebut, arus listrik pada kumparan medan adalah sama dengan arus listrik pada kumparan angker. Kecepatan pada motor DC tipe seri ini akan berkurang seiring dengan penambahan beban yang diberikan pada motor DC tersebut. Motor DC jenis ini tidak boleh digunakan tanpa ada beban yang terpasang karena akan berputar cepat tanpa terkendali.
5. Motor DC tipe Gabungan (Compound DC Motor)
Compound DC motor atau motor DC tipe Gabungan ini adalah gabungan motor DC jenis shunt dan motor DC jenis seri. Pada motor DC tipe gabungan ini, Terdapat dua Kumparan Medan (Field Winding) yang masing-masing dihubungkan secara paralel dan seri dengan Kumparan Angker (Armature Winding). Dengan gabungan hubungan seri dan paralel tersebut, motor DC jenis compound ini mempunyai karakteristik seperti Series DC Motor yang memiliki torsi (torque) awal yang tinggi dan karakteristik shunt DC motor yang berkecepatan hampir konstan. Motor DC tipe gabungan (compound DC motor) ini dapat dibedakan lagi menjadi dua jenis yaitu long shunt compound DC motor yang kumparan medannya dihubungkan secara paralel dengan kumparan angkernya saja dan dan short shunt compound DC motor yang kumparan medannya secara paralel dengan kombinasi kumparan medan seri dan kumparan angker
Simbol Motor DC
Motor DC tersusun dari dua bagian diam (stator) dan bagian bergerak (rotor). Stator motor arus searah adalah badan motor atau kutub magnet (sikat- sikat), sedangkan yang termasuk rotor adalah jangkar lilitnya. Pada motor, kawat penghantar listrik ynag bergerak tersebut pada dasarnya merupakan lilitan yang berbentuk persegi Panjang yang disebut kumparan.
Prinsip Kerja 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), Armature Winding (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.
Kumparan ABCD terletak dalam medan magnet serba sama dengan kedudukan sisi aktif AD dan CB yang terletak tepat lurus arah fluks magnet. Sedangkan sisi ABA dan DC ditahann pada bagian tengahmya, sehingga apabila sisi AD dan CB berputar karena adanya gaya Lorentz, maka kumparan ABCD akan berputar. Hasil perkallian gaya dengan jarak pada suatu titik tertentu disebut momen, sisi aktfi AD dan CB akan berputar pada porosnya karena pengaruh momen putar (T). Setiap sisi kumparan aktif AD dan CB pada gambar di atas akan mengalami momen putar sebesar:
T = F.r
Dimana:
-
T = momen putar (Nm)
-
F = gaya tolak (newton)
- r = jarak sisi kumparan pada sumbu putar (meter)
Pada daerah dibawah kutub-kutub magnet besarnya momen putar tetap karena besarnya gaya Lorentz. Hal ini berat kedudukan garis netral sisi- sisi kumparan akan berhenti berputar. Agar motor dapat berputar terus dengan baik, maka perlu ditambah jumlah kumparan yang digunakan. Kumparan- kumparan harus diletakkan sedemikian rupa sehingga momen putar yang dialami setiap sisi kumparan harus diletakkan sedemikian rupa sehingga momen putar setiap sisi kumparan akan salugn membantu dan menghasilkan putaran yang baik. Dengan pertimbangan teknis, maka kumparan yang berputar tersebut dililitkan pada suatu alat yang disebut jangkar, sehigga lilitan kumparan itupun disebut liitan jangkar. Struktur motor DC dapat dilihat pada gambar berikut ini.
Resistor
Resistor memiliki nilai resistansi atau hambatan yang berfungsi untuk menghambat dan mengatur arus listrik yang mengalir dalam rangkaian. Resistor memiliki dua pin untuk mengukur tegangan listrik dan arus listrik, dengan resistansi tertentu yang dapat menghasilkan tegangan listrik di antara kedua pin. Nilai tegangan terhadap resistansi berbanding lurus dengan arus yang mengalir.
-
Rumus dari Rangkaian Seri Resistor: Rtotal = R1 +
R2 + R3 + ….. + Rn
-
Rumus dari Rangkaian paralel Resistor: 1/Rtotal = 1/R1 +
1/R2 + 1/R3 + ….. + 1/Rn
- Rumus resistor dengan hukum ohm: R = V/I
Cara menghitung nilai resistor:
Perhitungan untuk resistor dengan 4 gelang warna :
-
Masukkan angka langsung dari kode warna gelang ke-1 (pertama)
-
Masukkan angka langsung dari kode warna gelang ke-2
-
Masukkan
Jumlah nol dari kode warna gelang ke-3 atau pangkatkan angka tersebut dengan 10
(10^n)
-
Gelang ke 4 merupakan toleransi dari nilai resistor tersebut
Perhitungan untuk resistor dengan 5 gelang warna:
-
Masukkan angka langsung dari kode warna gelang ke-1 (pertama)
-
Masukkan angka langsung dari kode warna gelang ke-2
-
Masukkan
angka langsung dari kode warna gelang ke-3
-
Masukkan Jumlah nol dari kode warna gelang ke-4 atau pangkatkan angka
tersebut dengan 10 (10^n)
- Gelang ke 5 merupakan toleransi dari nilai resistor tersebut.
4. Listining Program[kembali]
-
Master
#include
<LiquidCrystal.h>
//deklarasi library LCD
LiquidCrystal
lcd(8, 9, 10, 11, 12, 13); //deklarasi pin
arduino yang terhubung pada LCD
int
WATER = A2;
//deklarasi pin A2 arduino yang terhubung pada water level sensor
int
SOIL = A1;
//deklarasi pin A1 arduino yang terhubung pada soil moisture sensor
int
LDR = A0;
//deklarasi pin A0 arduino yang terhubung pada LDR sensor
int
LED = 2;
//deklarasi pin 2 arduino yang terhubung pada LED
void
setup()
//Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(A2, INPUT);
//mengatur pin A2 sebagai INPUT
pinMode(A1, INPUT);
//mengatur pin A1 sebagai INPUT
pinMode(A0, INPUT); //mengatur pin A0 sebagai INPUT
pinMode(LED, OUTPUT);
//mengatur LED sebagai OUTPUT
lcd.begin(16, 2);
//Dimensi LCD yang digunakan
Serial.begin(9600);
//Set baud rate 9600
}
void
loop()
//Semua kode dalam fungsi ini dieksekusi berulang kali
{
int
sensorValue=analogRead(LDR); //membaca
nilai analog dari LDR
float voltage = sensorValue * (5.0/1023.0); //mendapatkan besar
tegangan dari nilai analog LDR
if(voltage>=1){ //kondisi jika tegangan
<=1
digitalWrite (2, HIGH);
//LED nyala
delay(100);
}
else {
//kondisi jika tegangan >1
digitalWrite (2, LOW);
//LED padam
delay(100);
}
int nilaiWATER =
analogRead(WATER);
//membaca nilai analog dari water level
float tinggiAir = nilaiWATER
* 6.0 / 1023.0; //mendapatkan nilai
ketinggian air dari nilai analog water level
if
(tinggiAir<=1){
//kondisi jika ketinggian air <=1 (cm)
Serial.println("1"); //mengirim data
ke slave
lcd.clear();
//Menghapus layar LCD
lcd.setCursor(0, 0); //Menentukan
posisi kursor pada awal penulisan
lcd.println(tinggiAir); //menuliskan nilai
ketinggian air pada LCD
delay(1000);
}
else {
//kondisi jika ketinggian air >1 (cm)
Serial.println("2"); //mengirim data
ke slave
lcd.clear();
//Menghapus layar LCD
lcd.setCursor(0, 0); //Menentukan
posisi kursor pada awal penulisan
lcd.println(tinggiAir); //menuliskan nilai
ketinggian air pada LCD
delay(1000);
}
int nilaiSOIL = analogRead(SOIL); //membaca
nilai analog dari soil moisture
if (nilaiSOIL>700){
//kondisi jika nilaiSOIL>700
Serial.println("3");
//mengirim data ke slave
lcd.clear(); //Menghapus layar LCD
lcd.setCursor(0, 1);
//Menentukan posisi kursor pada awal penulisan
lcd.println("Kondisi :
Kering");
//menuliskan kata "Kondisi : Kering" pada LCD
delay(100);
}
else {
//kondisi jika nilaiSOIL<=700
Serial.println("4"); //mengirim
data ke slave
lcd.clear();
//Menghapus layar LCD
lcd.setCursor(0, 1);
//Menentukan posisi kursor pada awal penulisan
lcd.println("Kondisi :
Basah");
//menuliskan kata "Kondisi : Basah" pada LCD
delay(100);
}
}
-
Slave
#define
in1 8
//deklarasi pin 8 arduino yang terhubung pada driver motor
#define
in2 9
//deklarasi pin 9 arduino yang terhubung pada driver motor
#define
in3 10
//deklarasi pin 10 arduino yang terhubung pada driver motor
#define
in4 11
//deklarasi pin 11 arduino yang terhubung pada driver motor
void
setup()
//Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(in1, OUTPUT);
//mengatur in1 sebagai OUTPUT
pinMode(in2, OUTPUT);
//mengatur in2 sebagai OUTPUT
pinMode(in3, OUTPUT);
//mengatur in3 sebagai OUTPUT
pinMode(in4, OUTPUT); //mengatur in4 sebagai OUTPUT
Serial.begin(9600);
//Set baud rate 9600
}
void
loop()
//Semua program dalam fungsi ini dieksekusi berulang kali
{
int data = Serial.read();
//deklarasi data (membaca data kiriman master)
if(data=='1') //Jika
data yang dikirimkan bernilai '1'
{
digitalWrite(in1, HIGH); // |
motor |
digitalWrite(in2, LOW); // |
berputar |
delay(100);
}
else if(data=='2')
//Jika data yang dikirimkan bernilai '2'
{
digitalWrite(in1, LOW); //
| motor |
digitalWrite(in2, LOW);
// | berhenti
|
delay(100);
}
else if(data=='3') //Jika
data yang dikirimkan bernilai '3'
{
digitalWrite(in3, HIGH); // |
motor |
digitalWrite(in4, LOW); // |
berputar |
delay(100);
}
else if(data=='4')
//Jika data yang dikirimkan bernilai '4'
{
digitalWrite(in3, LOW); // |
motor |
digitalWrite(in4, LOW);
// | berhenti
|
delay(100);
}
}
Rangkaian ini terdiri dari 3 sensor yaitu Water level sensor, soil moisture sensor, dan sensor LDR sebagai inputannya, kemudian LCD sebagai display, menggunakan 2 arduino dengan komunikasi UART dan Led serta Motor DC menjadi output dari rangkaian penyiram tanaman otomatis ini.
Pada water level sensor, akan dideteksi ketinggian air, yang mana ketika makin banyak air yang mengenai lempengan sensor, maka nilai resistansinya akan semakin kecil. Jadi ketika wadah kosong (air sedikit), maka resistansinya kecil dan tegangannya tinggi, kemudian sensor akan mengeluarkan tegangan yang diteruskan dari master ke slave, dan slave memerintahkan motor DC untuk bergerak, sehingga motor DC bergerak untuk memompa air agar wadah kembali terisi air. Kemudian sensor soil moisture atau sensor kelembaman tanah, prinsip kerja dari sensor ini dengan di tancapkan ke tanah, disaat kaki sensor terkena air atau basah, maka tegangan rendah dan sampai tidak adanya tegangan yang keluar, tetapi disaat kering, sensor ini baru akan mengeluarkan tegangan yang diteruskan dari master ke slave, dan slave memerintahkan motor dc untuk bergerak, oleh karena itu motor DC akan hidup dan bergerak untuk menyiram tanaman. Selanjutnya sensor LDR akan mendeteksi cahaya, dimana ketika sensor ini semakin banyak menerima cahaya maka resistansinya akan menurun, dan ketika menerima semakin sedikit cahaya maka resistansinya akan semakin membesar sehingga pada rangkaian ini ketika cahaya sedikit (gelap) maka LED akan hidup sebagai penerangan dan agar tanaman bisa berfotosintesis.
UART atau 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. UART sekarang ini termasuk di dalam beberapa mikrokontroler (contohnya, PIC16F628). UART atau Universal Asynchronous Receiver Transmitter adalah protokol komunikasi yang umum digunakan dalam pengiriman data serial antara device satu dengan yang lainnya. Sebagai contoh komunikasi antara sesama mikrokontroler atau mikrokontroler ke PC. Dalam pengiriman data, clock antara pengirim dan penerima harus sama karena paket data dikirim tiap bit mengandalkan clock tersebut. Inilah salah satu keuntungan model asynchronous dalam pengiriman data karena dengan hanya satu kabel transmisi maka data dapat dikirimkan. Berbeda dengan model synchronous yang terdapat pada protokol SPI (Serial Peripheral Interface) dan I2C (Inter-Integrated Circuit) karena protokol membutuhkan minimal dua kabel dalam transmisi data, yaitu transmisi clock dan data. Namun kelemahan model asynchronous adalah dalam hal kecepatannya dan jarak transmisi. Karena semakin cepat dan jauhnya jarak transmisi membuat paket-paket bit data menjadi terdistorsi sehingga data yang dikirim atau diterima bisa mengalami error.
Asynchronous memungkinkan transmisi mengirim data tanpa sang pengirim harus mengirimkan sinyal detak ke penerima. Sebaliknya, pengirim dan penerima harus mengatur parameter waktu di awal dan bit khusus ditambahkan untuk setiap data yang digunakan untuk mensinkronkan unit pengiriman dan penerimaan. Saat sebuah data diberikan kepada UART untuk transmisi Asynchronous, "Bit Start" ditambahkan pada setiap awal data yang akan ditransmisikan. Bit Start digunakan untuk memperingatkan penerima yang kata data akan segera dikirim, dan memaksa bit-bit sinyal di receiver agar sinkron dengan bit-bit sinyal di pemancar. Kedua bit ini harus akurat agar tidak memiliki penyimpangan frekuensi dengan lebih dari 10% selama transmisi bit-bit yang tersisa dalam data. (Kondisi ini ditetapkan pada zaman teleprinter mekanik dan telah dipenuhi oleh peralatan elektronik modern.)Setelah Bit Start, bit individu dari data yang dikirim, dengan sinyal bit terkecil yang pertama dikirim. Setiap bit dalam transmisi ditransmisikan serupa dengan jumlah bit lainnya, dan penerima mendeteksi jalur di sekitar pertengahan periode setiap bit untuk menentukan apakah bit adalah 1 atau 0. Misalnya, jika dibutuhkan dua detik untuk mengirim setiap bit, penerima akan memeriksa sinyal untuk menentukan apakah itu adalah 1 atau 0 setelah satu detik telah berlalu, maka akan menunggu dua detik dan kemudian memeriksa nilai bit berikutnya, dan seterusnya. Pada rangakaian penyiram tanaman otomatis ini dari sensor kelembaman akan mengirim ke slave dan slave akan memberikan perintah kepada motor DC.
PWM (Pulse Width Modulation) adalah salah satu teknik modulasi dengan mengubah lebar pulsa (duty cylce) 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. 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 * 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.
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 analog Read (pin);
Jadi sensor LDR untuk indikator LED, dan sensor kelembaman tanah untuk menggerakkan Motor DC yang sebagai pompa nantinya, dan water level sensor untuk menggerakan motor DC yang akan mengisi air pada wadah, kemudian hasil dari sensor akan di tampilkan di LCD. Sebelum pembuatan prototype rancangan alat, terlebih dahulu membuat simulasi rangkaian melalui software proteus dan membuat program pada software Arduino IDE. Pada prototype yang telah dibuat, kondisi yang diberikan pada rangkaian simulasi dan rangkaian asli terdapat perbedaan. Hal ini dikarenakan pada beberapa komponen ada yang tidak sesuai tegangan yang didapatkan pada prototype dengan simulasi. Namun, dalam penerapannya prototype ini sudah dapat bekerja sesuai kondisi yang diinginkan dan sudah memenuhi tujuan yang diinginkan, yaitu menyiram tanaman dengan otomatis.
Berdasarkan
Alat yang telah dibuat maka didapatkan kesimpulan bahwa dengan menggunakan Soil
Moisture Sensor, Water Level Sensor, dan sensor LDR serta arduino dan komponen
pendukung lainnya melalui komunikasi UART yang merupakan komunikasi serial
dimana sudah dapat didesain prototype untuk kontrol penyiram tanaman otomatis
yang sangat berguna dan mempermudah bagi pemilik tanaman dalam menyiram
tanaman.
Video Rangkaian Download
File Rangkaian Download
Listing Program MasterDownload
Listing Program SlaveDownload
Html & materiDownload
Datasheet resistor Download
Datasheet motor DC Download
Datasheet led Download
Datasheet soilmoisture Download
Datasheet Water Sensor Download
Datasheet LDR Download
Datasheet LCD Download
Datasheet Arduino Uno Download
Tidak ada komentar:
Posting Komentar