| Selasa, 17 Desember 2019

Mikroprosesor dan Mikrokontroler
UAS
Aplikasi Rumah Kaca 



1. Simulasi [Kembali]




2. Flowchart [Kembali]






3. Program Arduino [Kembali]

#include <Keypad.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
byte ldr= A2;
byte kt = A1;
int nilaildr;
int nilaikt;
int val; //This variable stores the value received from Soil moisture sensor.
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keys[ROWS][COLS] = {
  {'1','2','3','a'},
  {'4','5','6','b'},
  {'7','8','9','c'},
  {'*','0','#','d'}
};
byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {9, 8, 7, 6}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
LiquidCrystal_I2C lcd(0x27,16,2);

void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
  pinMode(10,OUTPUT);//led
  pinMode(11,OUTPUT);//led
  pinMode(13,OUTPUT); //Set pin 13 as OUTPUT pin, to send signal to relay
}

void loop() { 
  char key = keypad.getKey();
  Serial.print(val);
  nilaildr= analogRead(ldr);
  nilaikt= analogRead(kt);
  
  if(key){
    if(key=='1')
    {
    lcd.clear();
    lcd.print("S Kelembaban");
    lcd.setCursor(0,1);
    lcd.print("Nilai = ");
    lcd.print(nilaikt);
    }
    if(key=='3')
    {
      lcd.clear();
    lcd.print("Sensor LDR");
    lcd.setCursor(0,1);
    lcd.print("Nilai = ");
    lcd.print(nilaildr);
    }
    else
    {
      Serial.print("keypad :");
    Serial.println(key);  
    }
    }
    
Serial.print("Sensor Kelembaban :");
Serial.print(nilaikt); 
Serial.println();
Serial.print("Nilai LDR :");
Serial.print(nilaildr);
Serial.println();   

if(nilaikt <=700 )
{
digitalWrite(13,LOW);
}
else
{
digitalWrite(13,HIGH);
}

if(nilaildr < 300)
{
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
}
else{
digitalWrite(10,LOW);
digitalWrite(11,LOW);
}

delay(50);

}



4. Penjelasan [Kembali]

Rangkaian terdiri dari :
  ü  Arduino UNO
  ü  Sensor kelembaban tanah
  ü  Sensor LDR
  ü  LED (2)
  ü  Water pump 6V
  ü  LCD I2C
  ü  Resistor 220Ohm (3)
  ü  Keypad
  ü  Battery clip (2)
  ü  Relay 5V
  ü  Jumper
Rangkaian terdiri dari mikrokontroler Arduino sebagai pengontrol inout dan output. Sensor yang digunakan yaitu sensor kelembaban tanah dan sensor LDR. Dimana kondisinya :
      1.      Sensor kelembaban tanah
Berfungsi untuk mengukur kelembaban tanah pada suatu rumah kaca dan penentu mati atau hidupnya relay. Sedangkan water pump prinsip kerjanya sama seperti penyiram rumput otomatis.
-        Apabila sensor bernilai <=700 yang berarti kelembaban tinggi, maka relay akan mematikan motor water pump.
-         Apabila sensor bernilai >700 yang berarti kering atau kelembaban rendah, maka relay akan mengaktifkan motor water pump dan relay akan mematikan water pump apabila kelembaban sudah <=700
      2.      Sensor LDR
Berfungsi untuk kondisi pencahayaan pada rumah kaca. Pada rumah kaca, sensor LDR akan mendeteksi cahaya yang masuk.
-       Apabila sensor bernilai <300 yang berarti gelap atau malam hari, maka LED akan menyala untuk menerangi rumah kaca.
-         Apabila sensor bernilai >300 yang berarti terang atau siang hari, maka LED akan mati.

Prinsip Kerja Aplikasi Rumah Kaca Otomatis :

Pin A1 = input sensor kelembaban tanah
Pin A2 = input sensor LDR
Pin A4 dan A5 = LCD I2C
Pin 2,3,4,5,6,7,8,9 = Keypad
Pin 10 dan 11 = LED
Pin 13 = Relay dan Water Pump

- Tegangan yang dibutuhkan untuk menggunakan sensor kelembaban tanah yakni 5V. Sensor menginput nilai berupa analog, yang mana data berkisar 0-1023 analog. Jika data bernilai 700, maka input tegangan yang masuk ke arduino yaitu 700/1024 x 5V = 3.4 Volt. Apabila tegangan input <3.4 Volt berarti kondisi kelembaban tanah tinggi. Apabila tegangan input >3.4 Volt, maka berarti kelembaban rendah, sehingga mengaktifkan relay pada posisi ON yang akan mengaktifkan water pump. Untuk water pump menggunakan tegangan DC dari baterai 9V.

- Tegangan yang dibutuhkan untuk menggunakan sensor LDR yakni 5V. Sensor menginput nilai berupa analog, yang mana data berkisar 0-1023 analog. Jika data bernilai 300, maka input tegangan yang masuk ke arduino yaitu 300/1024 x 5V = 1.4 Volt. Apabila tegangan input <1.4 Volt berarti kondisi ruangan gelap atau malam hari. Apabila kondisi ruangan gelap, maka arduino akan mengaktifkan logika 1 pada pin 10 dan pin 11 untuk menyalakan LED. dan apabila tegangan input >1.4 Volt berarti kondisi ruangan terang atau siang hari. Sehingga, arduino akan memberikan logika 0 untuk pin 10 dan pin 11 agar LED mati pada siang hari.


Karakteristik Sensor LDR:





5. Video Rangkaian [Kembali]






6. Link Download [Kembali]
Link Download untuk Video
Link Download untuk Proteus

Link Download untuk Arduino
Link Download untuk Datasheet Soil Moisture
Link Download untuk Datasheet LDR
edit
© Design 1/2 a px. · 2015 · Pattern Template by Simzu · © Content Rahmi Emma Natania