MODUL IV
PENYIRAM
TANAMAN OTOMATIS
1. Tujuan
Perancangan [kembali]
Tujuan perancangan penyiram
tanaman ini adalah agar mempermudah pemilik dalam melakukan penyiraman tanaman
setiap hari dan disaat pemilik terlupa untuk menyiram tanaman.
2. Komponen [kembali]
a. Soil
mosture sensor
b. Water
level sensor
c. LDR
d. Arduino
e. LCD
f.
LED
g. Motor
DC
h. Resistor
3. Dasar
Teori [kembali]
a. Soil mosture 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.
b. 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:
1. "S"
stand for signal input
2. "+"
stand for power supply
3. "-"
stand for GND
c. 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 di
antara-nya, 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.
d. 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 Papan
Arduino 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 cetak
menunjukkan 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:
e. LCD
Liquid Crystal Display (LCD) adalah sebuah
peralatan elektronik yang berfungsi untukmenampilkan 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.
f. 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.
g. 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 sesbesar:
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.
h. 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. Listing
Program [kembali]
//MASTER
#include
<LiquidCrystal.h>
//Deklarasi library LCD
#define SOIL A1
#define WATER A2
LiquidCrystal lcd(8, 9, 10,
11, 12, 13);
int nilaiSOIL;
int motor = 6;
float panjangSensor = 6 ;
int LED = 2;
int LDR = A0;
int sensorValue = 0;
void setup() //Semua kode dalam fungsi ini dieksekusi
sekali
{
pinMode(A0, INPUT); //Deklarasi pin A0 sebagai
OUTPUT
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(LED, 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
{
int nilai = analogRead(WATER);
float tinggiAir = nilai * panjangSensor /
1023;
lcd.clear(); //Menghapus layar
LCD
lcd.setCursor(0, 0);
lcd.print("Tinggi Air = ");
lcd.setCursor(13, 0);
lcd.print(tinggiAir);
lcd.setCursor(14, 0);
lcd.print("cm");
if (tinggiAir <=1)
{
Serial.println("5");
lcd.clear(); //Menghapus layar
LCD
lcd.setCursor(0, 0);
lcd.print("Tinggi Air = ");
lcd.setCursor(13, 0);
lcd.print(tinggiAir);
lcd.setCursor(14, 0);
lcd.print("cm");
delay(100);
}
if (tinggiAir >1)
{
Serial.println("4");
delay(100);
}
{
nilaiSOIL = analogRead(SOIL);
if (nilaiSOIL > 700) {
Serial.println("1");
delay(100);
lcd.clear();
lcd.setCursor(0, 1); //Menentukan posisi kursor
pada awal penulisan
lcd.print("Kondisi :
Kering"); //Menampilkan
text pada LCD
}
else {
Serial.println("3");
delay(100);
lcd.clear();
lcd.setCursor(0, 1); //Menentukan posisi kursor
pada awal penulisan
lcd.print("Kondisi :
Basah"); //Menampilkan text pada LCD
}
sensorValue=analogRead(LDR);
float voltage = sensorValue * (5.0/1023.0);
if(voltage<=1){
digitalWrite (2, HIGH);
}
else {
digitalWrite (2, LOW);
}
delay(1000);
}
}
//SLAVE
void setup() //Semua kode dalam fungsi ini dieksekusi
sekali
{
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
Serial.begin(9600); //Set baud rate 9600
}
void loop() //Semua program dalam
fungsi ini dieksekusi berulang
{
if(Serial.available()>0)
{
int data = Serial.read();
if(data=='4') //Jika data yang dikirimkan berlogika
{
digitalWrite(7,LOW);
delay(1000);
}
if(data=='3') //Jika data yang dikirimkan berlogika
{
digitalWrite(6,LOW);
delay(1000);
}
else
{
if(data=='5') //Jika data yang dikirimkan berlogika
{
digitalWrite(6,HIGH);
delay(1000);
}
if(data=='1') //Jika data yang dikirimkan berlogika
{
digitalWrite(7,HIGH);
delay(1000);
}
}
}}
5. Flowchart
[kembali]
Master
Slave
6. Rangkaian
Simulasi [kembali]
Prinsip
Kerja:
Input:
Pada Rangkaian Penyiram Tanaman Otomatis diberikan input berupa sensor- sensor, seperti sensor soil moisture, water level sensor, dan sensor LDR. Masing- masing sensor diberikan tegangan masukan sebesarn 5 volt, lalu setiap pin- pin pada sensor dihubungkan sesuai dengan konfigurasi yang terlah disediakan, untuk ssensor soil mosture digunakan untuk mendeteksi kelembaman tanah yang nantinya sensor ini akan ditancapkan kedalam tanah tanaman. Selanjutnya adalah water level sensor, nantinya sensor ini akan mendeteksi ketinggian dari bak penampungan air yang akan digunakan sebagai sumber air bagi tanaman sendiri. Lalu ada sensor LDR yang diibaratkan sebagai pencahyaan untuk tanaman agar bisa berfotosintesis.
Proses:
Pada rangkaian penyiran tanaman otomatis menggunakan system komunikasi serial UART, dimana data akan 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 di transfer secara parallel ke data bus penerima. Ringkasnya Arduino akan bertindak sebagai master dan slave, dimana nantinya Arduino master akan mengirimkan data yang didapatkan dari sensor- sensor melalui pin- pin yang terhubng pada Arduino slave. Didalam Arduino sebagai mikrokontroler sudah diberi program sesuai dengan kondisi yang kita inginkan. Jika sensor soil mendeteksi kelembaman dari besar sama 350 dan kecil sama 700 maka akan dikirim perintah pada master dengan nilai 2, jika nilai yang terdeteksi besar dari 700 maka akan dikirim perintah dengan nilai . lalu, perintah tersebut akan dibaca oleh slave. Selanjutnya jika sensor water level mendeteksi ketinggian air besara dari 4 cm maka akan dikirim perintah pada master dengan nilai 5, namun jika terdeteksi tinggi air mencapai kecil sama 2 maka akan dikirim perintah pada master dengan nilai 4. Nantinya perintah tersebut akan dibaca oleh Arduino slave. Terakhir adalah sensor LDR dimana jika diberikan cahaya maka resistansinya akan semakin turun, namun jika LDR tidak mendeteksi cahaya maka resistansi LDR akan semakin besar.
Output:
Ketika semua data sudah dikirimkan dan dibaca pada Arduino yang berasal dari inputan yang diberikan melalui sensor, maka nantinya akan diperlihatkan melalui output. Jika sensor soil mendeteksi air maka motor tidak akan memompa air. Namun, jika kondisi tanah kering, maka motor akan memompa air dan akan menyiram tanaman. Jika sensor water level mencapai keadaan maksimum maka motor diadalam bak penampungan air tidak akan memompa air. Namun, jika kurang dati batas maksimun yang telah ditentukan maka motor akan mempompa air agar tanaman bisa disiram. Selanjutnya adalah sensor LDR, jika pada ruangan terdeteksi cahaya matahari maka lampu akan off, namun jika tidak terdeteksi adanya cahanya maka led akan on.
7. Hardware dan Video [kembali]
8.
Analisis [kembali]
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.
9.
Kesimpulan [kembali]
Berdasarkan percobaan yang telah dilakukan makan
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.
10. Link
Download [kembali]
·
Download
Rangkaian Simulasi:
·
Download
Video Praktikum
·
Download Program Arduino Master
· Download Program Arduino Slave: disini
·
Download
Data Sheet Motor DC:
·
Download
Data Sheet LED:
·
Download
Data Sheet Resistor:
·
Download
Data Sheet Soil Moisture
·
Download
Library Soil Moisture
·
Download
Data Sheet Water Level Sensor
·
Download
Library Water Level Sensor
·
Download
Data Sheet LDR Sensor
·
Download
Flowchart
Tidak ada komentar:
Posting Komentar