Tugas besar uC - 2 (UAS)

 Kontrol Rumah Pintar



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
Berfungsi untuk mengukur kelembaban pada suatu rumah pintar dan penentu mati atau hidupnya relay. Sedangkan Kipas + Air berguna untuk menaikkan atau menurunkan kelembapan.
  • Apabila sensor bernilai <=70 yang berarti kelembaban rendah, maka relay akan mematikan Air dan menyalakan kipas.
  • Apabila sensor bernilai >70 yang berarti kelembaban tinggi, maka relay akan mengaktifkan motor Air dan relay akan menyalakan kipas.
      2.      Sensor LDR
Berfungsi untuk kondisi pencahayaan pada rumah pintar. Pada rumah pintar, sensor LDR akan mendeteksi cahaya yang masuk.
  • Apabila sensor bernilai <300 yang berarti terang atau siang hari, maka LED akan mati   
  • Apabila sensor bernilai >300 yang berarti gelap atau malam hari, maka LED akan menyala untuk menerangi rumah kaca.

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 rendah. Apabila tegangan input >3.4 Volt, maka berarti kelembaban tinggi, sehingga mengaktifkan relay pada posisi ON yang akan mengaktifkan kipas dan juga air. 
 
- 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]

Tidak ada komentar:

Posting Komentar