Senin, 30 November 2020

MODUL 4




RANGKAIAN PENYIRAMAN TANAMAN OTOMATIS

1. Tujuan [Kembali] 

Mempermudah dalam proses penyiraman tanaman saat terlupa untuk menyiram

2. Daftar Komponen [Kembali] 

a. Arduino





b. LM35



c. Sensor soil moisture




d. LCD



e. LED



f. Motor DC



g. Relay



3. Landasan Teori [Kembali] 

1.  LM35

Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor Suhu LM35 yang dipakai dalam penelitian ini berupa komponen elektronika elektronika yang diproduksi oleh National Semiconductor. LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor suhu yang lain, LM35 juga mempunyai keluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan.

Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor Suhu LM35 yang dipakai dalam penelitian ini berupa komponen elektronika elektronika yang diproduksi oleh National Semiconductor. LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor suhu yang lain, LM35 juga mempunyai keluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan.

Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang diberikan kesensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 µA hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (self-heating) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah yaitu kurang dari 0,5 ºC pada suhu 25 ºC .

Gambar 7. LM35

Bentuk dari LM35 tampak depan dan tampak bawah. 3 pin LM35 menujukan fungsi masing-masing pin diantaranya, pin 1 berfungsi sebagai sumber tegangan kerja dari LM35, pin 2 atau tengah digunakan sebagai tegangan keluaran atau Vout dengan jangkauan kerja dari 0 Volt sampai dengan 1,5 Volt dengan tegangan operasi sensor LM35 yang dapat digunakan antara 4 Volt sampai 30 Volt. Keluaran sensor ini akan naik sebesar 10 mV setiap derajad celcius sehingga diperoleh persamaan sebagai berikut :

VLM35 = Suhu* 10 mV

Secara prinsip sensor akan melakukan penginderaan pada saat perubahan suhu setiap suhu 1 ºC akan menunjukan tegangan sebesar 10 mV. Pada penempatannya LM35 dapat ditempelkan dengan perekat atau dapat pula disemen pada permukaan akan tetapi suhunya akan sedikit berkurang sekitar 0,01 ºC karena terserap pada suhu permukaan tersebut. Dengan cara seperti ini diharapkan selisih antara suhu udara dan suhu permukaan dapat dideteksi oleh sensor LM35 sama dengan suhu disekitarnya, jika suhu udara disekitarnya jauh lebih tinggi atau jauh lebih rendah dari suhu permukaan, maka LM35 berada pada suhu permukaan dan suhu udara disekitarnya .

Jarak yang jauh diperlukan penghubung yang tidak terpengaruh oleh interferensi dari luar, dengan demikian digunakan kabel selubung yang ditanahkan sehingga dapat bertindak sebagai suatu antenna penerima dan simpangan didalamnya, juga dapat bertindak sebagai perata arus yang mengkoreksi pada kasus yang sedemikian, dengan mengunakan metode bypass kapasitor dari Vin untuk ditanahkan. Berikut ini adalah karakteristik dari sensor LM35:

-            Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu 10 mVolt/ºC, sehingga dapat dikalibrasi langsung dalam celcius.

-            Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu 25 ºC

-             Memiliki jangkauan maksimal operasi suhu antara -55 ºC sampai +150 ºC.

-             Bekerja pada tegangan 4 sampai 30 volt.

-            Memiliki arus rendah yaitu kurang dari 60 µA.

-            Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1 ºC pada udara diam.

-             Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 mA.

-             Memiliki ketidaklinieran hanya sekitar ± ¼ ºC

2.   LCD (Liquid Crystal Display)

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).

Gambar 10.  Penampang komponen penyusun LCD


Keterangan:
1. Film dengan polarizing filter vertical untuk memolarisasi cahaya yang masuk.
2. Glass substrate yang berisi kolom-kolom elektroda Indium tin oxide (ITO).
3. Twisted nematic liquid crystal (kristal cair dengan susunan terpilin).
4. Glass substrate yang berisi baris-baris elektroda Indium tin oxide (ITO).
5. Film dengan polarizing filter horizontal untuk memolarisasi cahaya yang masuk.
6. 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.

Gambar 8. Sirkuit Modul LCD

Gambar 9. Bagian-bagian LCD


3.        LED (Light Emitting Diode)

 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.

Gambar 13. Simbol dan Tipe LED

4.        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 :

Gambar 14. Arduino


Microcontroller                                     ATmega328P

Operating Voltage                                5 V

Input Voltage (recommended)             7 – 12 V

Input Voltage (limit)                             6 – 20 V

Digital I/O Pins                                    14 (of which 6 provide PWM output)

PWM Digital I/O Pins                           6

Analog Input Pins                                 6

DC Current per I/O Pin                        20 mA

DC Current for 3.3V Pin                      50 mA

Flash Memory                                     32 KB of which 0.5 KB used by bootloader

SRAM                                                  2 KB

EEPROM                                             1 KB

Clock Speed                                        16 MHz


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 akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.


5.        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. Apabile 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.

Gambar 11. Simbol Motor DC

Prinsip kerja motor Dc, Terdapat dua bagian utama pada sebuah Motor Listrik DC, yaitu Stator dan RotorStator 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.

-         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.

a.              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.

b.        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.

c.         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.

6.        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

7.        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. Jarak komunikasi yang digunakan tidak lebih dari 15 meter dengan kecepatan 20 kb/s.

Cara Kerja Komunikasi UART :

 

Gambar 12. 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, kemudia di transfer secara parallel ke data bus penerima. 

8. Relay

Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch). Relay menggunakan Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih tinggi. Sebagai contoh, dengan Relay yang menggunakan Elektromagnet 5V dan 50 mA mampu menggerakan Armature Relay (yang berfungsi sebagai saklarnya) untuk menghantarkan listrik 220V 2A.



4. Flowchart [Kembali] 

a. Master






b. Slave





5. Listing Program [Kembali] 

a. Master
//MASTER

#include <LiquidCrystal.h>                    //Deklarasi library LCD
#define LM35 A0                               //Deklarasi pin A0 untuk LM35
#define SOIL A1
LiquidCrystal lcd(8,9,10,11,12,13);               //Deklarasi pin 2-7 untuk LCD

int nilaiSuhu;                                //Deklarasi variabel nilaiSuhu
int nilaiSOIL;
int LED[] = {2,3,4};

void setup()     //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(A0, INPUT);                           //Deklarasi pin A0 sebagai OUTPUT
pinMode(A1, INPUT);
lcd.begin(16,2);                              //Dimensi LCD yang digunakan
for (int i =0; i<=3;i++){
pinMode (LED[i],OUTPUT);

}

  Serial.begin(9600); //Set baud rate 9600
}

void loop()   //Semua kode dalam fungsi ini dieksekusi berulang
{
nilaiSuhu=((5*analogRead(LM35)*100.00)/1024); //Mencari nilai Suhu  

  if(nilaiSuhu > 0 && nilaiSuhu <25)
    { 
    nilaiSOIL = analogRead(SOIL);
       
    if( nilaiSOIL>=350 && nilaiSOIL<=700){
    digitalWrite(2,HIGH);
    digitalWrite(3,LOW);
    digitalWrite(4,LOW);
    Serial.print("2");
    
    lcd.clear();                             //Menghapus layar LCD
    lcd.setCursor(0,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Suhu : ");           //Menampilkan text pada LCD
    lcd.setCursor(8,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print(nilaiSuhu);                    //Menampilkan nilaiSuhu pada LCD
    lcd.setCursor(0,1);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Kondisi : Normal");           //Menampilkan text pada LCD
    delay(100);
    }
    
    else if(nilaiSOIL >700){
    digitalWrite(2,HIGH);
    digitalWrite(3,LOW);
    digitalWrite(4,LOW);
    Serial.print("1");
    
    lcd.clear();                             //Menghapus layar LCD
    lcd.setCursor(0,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Suhu : ");           //Menampilkan text pada LCD
    lcd.setCursor(8,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print(nilaiSuhu);                    //Menampilkan nilaiSuhu pada LCD
    lcd.setCursor(0,1);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Kondisi : Kering");           //Menampilkan text pada LCD
    delay(100);
    }

   
    else {
    digitalWrite(2,HIGH);
    digitalWrite(3,LOW);
    digitalWrite(4,LOW);
    Serial.print("3");
    
    lcd.clear();                             //Menghapus layar LCD
    lcd.setCursor(0,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Suhu : ");           //Menampilkan text pada LCD
    lcd.setCursor(8,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print(nilaiSuhu);                    //Menampilkan nilaiSuhu pada LCD
    lcd.setCursor(0,1);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Kondisi : Basah");           //Menampilkan text pada LCD
    delay(100);
    }
    }


else if (nilaiSuhu > 24 && nilaiSuhu <31) 
{          
  nilaiSOIL = analogRead(SOIL);
       
    if( nilaiSOIL>=350 && nilaiSOIL<=700){
    digitalWrite(2,LOW);
    digitalWrite(3,HIGH);
    digitalWrite(4,LOW);
    Serial.print("2");
    
    lcd.clear();                             //Menghapus layar LCD
    lcd.setCursor(0,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Suhu : ");           //Menampilkan text pada LCD
    lcd.setCursor(8,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print(nilaiSuhu);                    //Menampilkan nilaiSuhu pada LCD
    lcd.setCursor(0,1);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Kondisi : Normal");           //Menampilkan text pada LCD
    delay(100);
    }
    
    else if(nilaiSOIL >700){
    digitalWrite(2,LOW);
    digitalWrite(3,HIGH);
    digitalWrite(4,LOW);
    Serial.print("1");
    
    lcd.clear();                             //Menghapus layar LCD
    lcd.setCursor(0,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Suhu : ");           //Menampilkan text pada LCD
    lcd.setCursor(8,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print(nilaiSuhu);                    //Menampilkan nilaiSuhu pada LCD
    lcd.setCursor(0,1);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Kondisi : Kering");           //Menampilkan text pada LCD
    delay(100);
    }

   
    else {
    digitalWrite(2,LOW);
    digitalWrite(3,HIGH);
    digitalWrite(4,LOW);
    Serial.print("3");
    
    lcd.clear();                             //Menghapus layar LCD
    lcd.setCursor(0,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Suhu : ");           //Menampilkan text pada LCD
    lcd.setCursor(8,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print(nilaiSuhu);                    //Menampilkan nilaiSuhu pada LCD
    lcd.setCursor(0,1);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Kondisi : Basah");           //Menampilkan text pada LCD
    delay(100);
    }

}     

      else if(nilaiSuhu>30){
    
     
      nilaiSOIL = analogRead(SOIL);
       
    if( nilaiSOIL>=350 && nilaiSOIL<=700){
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    digitalWrite(4,HIGH);
    Serial.print("2");
    
    lcd.clear();                             //Menghapus layar LCD
    lcd.setCursor(0,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Suhu : ");           //Menampilkan text pada LCD
    lcd.setCursor(8,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print(nilaiSuhu);                    //Menampilkan nilaiSuhu pada LCD
    lcd.setCursor(0,1);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Kondisi : Normal");           //Menampilkan text pada LCD
    delay(100);
    }
    
    else if(nilaiSOIL >700){
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    digitalWrite(4,HIGH);
    Serial.print("1");
    
    lcd.clear();                             //Menghapus layar LCD
    lcd.setCursor(0,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Suhu : ");           //Menampilkan text pada LCD
    lcd.setCursor(8,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print(nilaiSuhu);                    //Menampilkan nilaiSuhu pada LCD
    lcd.setCursor(0,1);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Kondisi : Kering");           //Menampilkan text pada LCD
    delay(100);
    }

   
    else {
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    digitalWrite(4,HIGH);
    Serial.print("3");
    
    lcd.clear();                             //Menghapus layar LCD
    lcd.setCursor(0,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Suhu : ");           //Menampilkan text pada LCD
    lcd.setCursor(8,0);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print(nilaiSuhu);                    //Menampilkan nilaiSuhu pada LCD
    lcd.setCursor(0,1);                      //Menentukan posisi kursor pada awal penulisan
    lcd.print("Kondisi : Basah");           //Menampilkan text pada LCD
    delay(100);
    }
      
}
}

b. slave
//SLAVE



void setup()   //Semua kode dalam fungsi ini dieksekusi sekali
{
  pinMode(7,OUTPUT);   //Deklarasi LED sebagai 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=='1')  //Jika data yang dikirimkan berlogika
        {
   
          digitalWrite(7,HIGH);  
          delay (2000);
 
          digitalWrite(7,LOW);  
          delay (5000);
        } 
      else
        {

          digitalWrite(7,LOW); 
        }
        
  }
}

6. Rangkain Simulasi [Kembali] 





7. Video [Kembali] 



8. Analisa [Kembali] 

Pada modul 4 praktikan membuat  rangkaian  penyiraman tanaman otomatis, dimana pada rangkaiannya menggunkan  2 buah input yaitu sensor suhu LM 35 dan sensor kelembaban tanah , dan outputnya  yaitu lcd, led, dan motor . pada awalnya  sensor LM 35 lah yang bekerja dimana LM 35 memiliki 3 kondisi  yaitu kondisi pertama  suhu  0 -24 dan lampu hijau  yang menyala ,25-30 lampu kuning yang menyala ,31 keatas lampu merah yang menyala, kemudian selanjutnya sensor kelembaban yang  bekerja untuk memeriksa kondisi kelembaban tanah , dimana memiliki 3 kondisi , 0-350(basah), 350-700(normal), dan 700 keatas  kering, pada kondisi keringlah motor akan menghidopkan pompa karena arduino slave mengirim data  ,dan menyiram selama 2 detik, kemudian relay  5 detik untuk memeriksan kondisi , dan  begitu seterunya, dan pada saaat kondisi tanah basah maka tegangannya kecil  dan jika kering maka tegangannya akan besar sehinngah mengakibatakan motor berputar


9. Link Download [Kembali]

Download Rangkaian Simulasi - Download
Download Video Praktikum - Download                           
Download Program Arduino Master - Download
Download Program Arduino Slave - Download
Download Data Sheet LM35 - Download
Download Data Sheet Soil Moisture - Download
Download Library Soil Moisture - Download
Download HTML - Download