Modul 4 Praktikum Mikroprosesor dan Mikrokontroler 2021- Project Demo Kelompok 5 (Penyiram Tanaman dan Kontrol Suhu)

   Laporan Akhir 





1. Tujuan  [Kembali]

1.  Untuk penyiraman tanaman otomatis 

2.  Untuk mengontrol kelembapan

3. Untuk mengontrol suhu tanaman 

 

2. Komponen [Kembali]

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

b. I2C



Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master dan Slave.


c. LED


Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor.


d. Ground



Ground adalah titik kembalinya arus searah atau titik kembalinya sinyal  bolak balik atau titik patokan dari berbagai titik tegangan dan sinyal listrik dalam rangkaian elektronika.


e. Sensor DHT11


DHT11 adalah salah satu sensor yang dapat mengukur dua parameter lingkungan sekaligus, yakni suhu dan kelembaban udara (humidity). Dalam sensor ini terdapat sebuah thermistor tipe NTC (Negative Temperature Coefficient) untuk mengukur suhu, sebuah sensor kelembaban tipe resisitif dan sebuah mikrokontroller 8-bit yang mengolah kedua sensor tersebut dan mengirim hasilnya ke pin output dengan format single-wire bi-directional (kabel tunggal dua arah).


f. Sensor Soil Moisture


Soil Moisture Sensor merupakan module untuk mendeteksi kelembaban tanah, yang dapat diakses menggunakan microcontroller seperti arduino.Sensor kelembaban tanah ini dapat dimanfaatkan pada sistem pertanian, perkebunan, maupun sistem hidroponik mnggunakan hidroton.

Soil Moisture Sensor dapat digunakan untuk sistem penyiraman otomatis atau untuk memantau kelembaban tanah tanaman secara offline maupun online. Sensor yang dijual pasaran mempunyai 2 module dalam paket penjualannya, yaitu sensor untuk deteksi kelembaban, dan module elektroniknya sebagai amplifier sinyal.

g. LCD 16x 2



LCD (Liquid Crystal Display) atau Display Kristal Cair adalah suatu jenis media display/tampilan yang menggunakan kristal cair sebagai penampil utama. LCD digunakan untuk menampilkan teks, huruf, angka ,symbol maupun gambar. LCD sudah banyak digunakan di berbagai bidang, misalnya dalam alat-alat elektronik, seperti TV(televisi), permainan game (Playstation), kalkulator, monitor komputer maupun display laptop. LCD yang digunakan dalam Media Pembelajaan pada artikel ini adalah LCD 16X2, yang artinya LCD tersebut terdiri dari 16 kolom dan 2 baris karakter (tulisan).


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


3. Dasar Teori [Kembali]

A.    A. Mikrokontroler dan komunikasi yang digunakan

Arduino UNO

Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital  dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.


Gambar 8. Arduino Uno

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.

 

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.

Komunikasi yang digunakan:

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

Gambar 9. Komunikasi UART

B.     B. Sensor yang Digunakan Pada Smart House

1.      Sensor DHT11

            Sensor DHT11 merupakan sensor dengan kalibrasi sinyal digital yang

mampu memberikan informasi suhu dan kelembaban. Sensor ini tergolong

komponen yang memiliki tingkat stabilitas yang sangat baik. Produk dengan

kualitas terbaik, respon pembacaan yang cepat dan kemampuan anti interference, dengan harga yang terjangkau. DHT11 memiliki fitur kalibrasi yang sangat akurat. Koefisien kalibrasi disimpan dalam OTP program memory, sehingga ketika internal sensor mendeteksi sesuatu suhu atau kelembaban, maka module ini membaca koefisien sensor tersebut. Ukurannya yang kecil, dengan transmisi sinyal hingga 20 meter membuat produk ini cocok digunakan banyak implementasi.

 

 

Bagian-bagian pada sensor kelembaban tanah:



Gambar 10. Bagian-bagian sensor kelembaban tanah

Spesifikasi sensor suhu DHT11


 

2.      Sensor soil moisture

Soil Moisture Sensor merupakan module untuk mendeteksi kelembaban tanah, yang dapat diakses menggunakan microcontroller seperti arduino.Sensor kelembaban tanah ini dapat dimanfaatkan pada sistem pertanian, perkebunan, maupun sistem hidroponik mnggunakan hidroton.

 



 Spesifikasi dari Sensor Soil Moisture :

o          Tegangan Operasi: 3.3V hingga 5V DC

o          Operasi Saat Ini: 15mA

o           Output Digital - 0V hingga 5V, Level pemicu yang dapat disesuaikan dari preset

o           Output Analog - 0V hingga 5V berdasarkan radiasi infra merah dari nyala api yang jatuh pada sensor

o           LED menunjukkan keluaran dan daya

o           Ukuran PCB: 3,2 cm x 1,4 cm

o           Desain berbasis LM393

o           Mudah digunakan dengan Mikrokontroler atau bahkan dengan IC Digital / Analog normal

o           Kecil, murah, dan mudah didapat

3.      Motor DC

Motor listrik adalah alat untuk mengubah energi listrik menjadi energi mekanik. Alat yang berfungsi sebaliknya, mengubah energi mekanik menjadi energi listrik disebut generator atau dinamo.

Tegangan Terukur 5V DC                        

 Spesifikasi item:

 o   Tanpa kecepatan beban 12000 ± 15% rpm

 o   Tidak ada arus beban =280mA 

 o   Tegangan operasi 1.5-9V DC

 o   Mulai Torsi =250g.cm (menurut blade yang dikembangkan sendiri) 

 o   mulai saat ini =5A

 o   Resistansi Isolasi di atas 10O antara casing dan terminal DV 100V

 o   Arah Rotasi CW: Terminal [+] terhubung ke catu daya positif, terminal [-] terhubung     ke nagative 

 o   daya, searah jarum jam dianggap oleh arah poros keluaran

 o   celah poros 0,05-0,35mm

Grafik  Motor DC:


Gambar 11. Bagian Motor Dc

 

C.  C. IIC / I2C Modul

Modul Adaptor Antarmuka IIC / I2C digunakan untuk Display.It LCD 16×2 menggunakan chip IC PCF8574T yang mengubah data serial I2C menjadi data paralel untuk layar LCD. Juga modul antarmuka ini menyederhanakan menghubungkan Arduino ke layar Kristal Cair 16×2 hanya menggunakan 4 kabel.



Gambar 12. Bagian Modul I2C

.

Berikut ini adalah spesifikasi dari modul I2C :

-          Tegangan Operasi: 5V

-          Backlight dan Contrast disesuaikan dengan potensiometer

-          Kontrol I2C serial layar LCD menggunakan PCF8574

-          Dilengkapi dengan 2 antarmuka IIC, yang dapat dihubungkan oleh Kabel Khusus Dupont Line atau IIC

-          Kompatibel untuk LCD 16x2

-          Ini adalah antarmuka serial IIC / I2C / TWI / SPI yang hebat lainnya

-          Dengan modul antarmuka I2C ini, Anda akan dapat mewujudkan tampilan data hanya melalui 2 kabel.

 

D.       D. LCD 16X2



Gambar 13. LCD

LCD atau Liquid Crystal Display adalah suatu jenis media display (tampilan) yang menggunakan kristal cair (liquid crystal) untuk menghasilkan gambar yang terlihat. Teknologi Liquid Crystal Display (LCD) atau Penampil Kristal Cair sudah banyak digunakan pada produk-produk seperti layar Laptop, layar Ponsel, layar Kalkulator, layar Jam Digital, layar Multimeter, Monitor Komputer, Televisi, layar Game portabel, layar Thermometer Digital dan produk-produk elektronik lainnya.

Teknologi Display LCD ini memungkinkan produk-produk elektronik dibuat menjadi jauh lebih tipis jika dibanding dengan teknologi Tabung Sinar Katoda (Cathode Ray Tube atau CRT). Jika dibandingkan dengan teknologi CRT, LCD juga jauh lebih hemat dalam mengkonsumsi daya karena LCD bekerja berdasarkan prinsip pemblokiran cahaya sedangkan CRT berdasarkan prinsip pemancaran cahaya. Namun LCD membutuhkan lampu backlight (cahaya latar belakang) sebagai cahaya pendukung karena LCD sendiri tidak memancarkan cahaya. Beberapa jenis backlight yang umum digunakan untuk LCD diantaranya adalah backlight CCFL (Cold cathode fluorescent lamps) dan backlight LED (Light-emitting diodes). LCD atau Liquid Crystal Display pada dasarnya terdiri dari dua bagian utama yaitu bagian Backlight (Lampu Latar Belakang) dan bagian Liquid Crystal (Kristal Cair). Seperti yang disebutkan sebelumnya, LCD tidak memancarkan pencahayaan apapun, LCD hanya merefleksikan dan mentransmisikan cahaya yang melewatinya. Oleh karena itu, LCD memerlukan Backlight atau Cahaya latar belakang untuk sumber cahayanya. Cahaya Backlight tersebut pada umumnya adalah berwarna putih. Sedangkan Kristal Cair (Liquid Crystal) sendiri adalah cairan organik yang berada diantara dua lembar kaca yang memiliki permukaan transparan yang konduktif.

Gambar 14. Lapisan-lapisan 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.

Kaki-kaki pada LCD dan fungsinya:



Cara Kerja LCD Secara Umum

Pada aplikasi umumnya RW diberi logika rendah “0”. Bus data terdiri dari 4-bit atau 8-bit. Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat pada table diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu waktu. Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high “1” dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.

Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high “1”. Ketika jalur RS berada dalam kondisi low “0”, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau “1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A” pada layar maka RS harus diset ke “1”. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high “1”, maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke “0”. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting.

Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data). Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.

E.     E. LED (Light Emiting Diode)



Gambar 15. Bagian LED

 


4. Rangkaian Simulasi [Kembali]





Prinsip Kerja:

Prinsip kerja rangkaian ini adalah menggunakan 2 buah sensor sebagai input yaitu sensor soil moisture dan sensor kelembapan. sensor suhu atau kelembapan yaitu untuk mengecekan kelembapan tanah. terdapat 2 buah LED yang dihubungkan ke master pin 8 dan pin 9, ketika suhu 31 ke atas motor hidup dan lampu merah. pada suhu 31 kebawah lampu LED putih hidup. Lalu untuk melihat pompa hidup/mati akan ditampilkan di LCD dan untuk sensor kelembapan akan digunakan sebagai penentu motor(pompa) yang akan menyiram atau tidaknya. pada  master dihubungkan ke pin A4 dan A5 kemudian dihubungkan ke LCD. sensor kelembapan tanah ini saat terkena air atau basah, maka tidak  ada tegangan yang keluar atau tegangannya rendah, saat kering maka ada tegangan yang keluar, lalu dihubungkan ke sensor soil moisture ke pin A1. pada sensor soil moisture diberi vcc output  kemudian di ground. 

jika ada 2 sensor yang bekerja, ketika sensor soil moisture terkena air maka tidak mengeluarkan tegangan atau pompa mati dan jika tidak terkena air maka sensor soil moisture pompa hidup. 

Ketika sensor basah atau kering maka bacaan pompa mati/pompa hidup akan ditampilkan di LCD. ketika kelembapannya kering maka motor bergerak itu menandakan tanaman disiram, untuk menentukan lama waktu nya itu di tentukan oleh programnya.


5. Flowchart [Kembali]


1. Flowchart Master



2. Flowchart Slave
















6. Listing Program [Kembali]

MASTER

//MASTER

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

#include <SoftwareSerial.h>

//                      rx tx
SoftwareSerial mySerial(2, 3);

#define led1 9
#define led2 10
#define kipas 11
#define pompa 8

void setup() {
  // put your setup code here, to run once:
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(kipas, OUTPUT);
  pinMode(pompa, OUTPUT);
  mySerial.begin(9600);

  lcd.init();
  lcd.backlight();
}

void loop() {
  // put your main code here, to run repeatedly:
  if (mySerial.available() > 0) {
    int data = mySerial.read();

    if (data == 1) {
      digitalWrite(led1, HIGH);
      digitalWrite(led2, LOW);
      digitalWrite(kipas, LOW);
    }
    else if (data == 2) {
      digitalWrite(led1, LOW);
      digitalWrite(led2, HIGH);
      digitalWrite(kipas, HIGH);
    }

    if (data == 3) {
      digitalWrite(pompa, HIGH);

      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Pompa Hidup");
    }
    else if (data == 4) {
      digitalWrite(pompa, LOW);

      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Pompa Mati");
    }
  }
}

SLAVE

//SLAVE
#include "DHT.h"
#include <SoftwareSerial.h>

//                      rx tx
SoftwareSerial mySerial(2, 3);

#define DHTPIN 9

#define DHTTYPE DHT11   // DHT 11

DHT dht(DHTPIN, DHTTYPE);

int soilMoisture = A0;

void setup() {
  pinMode(soilMoisture, INPUT);
  
  mySerial.begin(9600);
  Serial.begin(9600);
  Serial.println(F("DHTxx test!"));

  dht.begin();
}

void loop() {
  int valueSoil = analogRead(soilMoisture);
  
  float t = dht.readTemperature();

  if (isnan(t)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }

  //pembacaan temperatur dari sensor dht11
  Serial.print(F("%  Temperature: "));
  Serial.print(t);

  //pembacaan soilmoistu
  Serial.print("    soilMoisture: ");
  Serial.println(valueSoil);

  if (t > 33) {
    mySerial.write(1);
  }
  else {
    mySerial.write(2);
  }

  if(valueSoil >= 850){
    mySerial.write(3);
  }
  else{
    mySerial.write(4);
  }
  
}

7. Video Simulasi [Kembali]











8. Analisa [Kembali]

Rangkaian ini memiliki 2 buah sensor yang bertindak sebagai input yaitu sensor DHT11  yang digunakan untuk mengukur suhu dan sensor kelembaman untuk mengukur kadar kelembaman tanah. Kedua sensor tersebut terhubung ke Arduino yang bertindak sebagai master. Kemudian untuk outputnya ada 3 yaitu yang pertama LCD yang terhubung ke Arduino master dan berfungsi sebagai indikator menampilkan nilai suhu dari sensor DHT11, kemudian LED yang juga terhubung ke arduino master, terdapat 2 buah LED   ketika suhu 31 ke atas motor hidup dan lampu merah. pada suhu 31 kebawah lampu LED putih hidup.  Ada 3 kondisi kelembaman tanah yaitu basah, normal, dan kering. Saat sensor mendeteksi kondisi tanah normal maka motor tidak akan bergerak, dan saat sensor mendeteksi kondisi tanah kering maka motor DC akan bergerak. Durasi motor DC berputar dan motor akan berhenti, saat motor DC berhenti bergerak maka sensor kembali mendeteksi kondisi tanah kembali jika masih kering maka motor DC akan bergerak kembali, dan jika sudah normal kembali maka motor DC akan berhenti.

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 bunga otomatis ini dari sonsor 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 suhu LM35 untuk indikator LED, dan sensor kelembaman tanah untuk menggerakkan Motor DC yag sebagai pompa nantinya, dan hasil dari sensor akan di tampilkan di LCD berapa suhu dan berapa ukuran kelembaman dari tanah tersebut.

 


9. Link Download [Kembali]
    
    HTML klik  disini
    Rangkaian Simulasi klik disini
    Video Rangkaian klik disini
    Listing Program Master klik disini
    Listing Program Slave klik disini
    Flowchart klik disini
    Library Arduino klik disini
    Datasheet arduino klik  disin
    Datasheet LED klik disini
    Library Soil Moisture klik disini
    Library Sensor DHT11 klik disini
    Library I2C klik disini
    Library LCD klik disini
    Datasheet Soil moisture klik disini
    Datasheet Sensor DHT11 klik disini
    Datasheet Motor klik disini
    Datasheet LCD klik disini
    Datasheet Relay klik disini

Tidak ada komentar:

Posting Komentar

BAHAN PRESENTASI UNTUK MATAKULIAH SISTEM DIGITAL 2021 OLEH: Achmad Ridwan 1910951023 Dosen Pengampu: Darwison, M....