Translate

Membuat Alat Kendali Jemuran Otomatis Menggunakan Sensor Hujan / Air , kelembaban DHT11 dan cahaya LDR ARDUINO

Membuat Alat Kendali Jemuran Otomatis Menggunakan Sensor Hujan / Air , kelembaban DHT11 dan cahaya LDR ARDUINO


           Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang berfungsi untuk kendali jemuran otomatis, adapun prinsip kerja alatnya yaitu Secara umum gambaran sistem kerja dari alat ini adalah ketika terjadi hujan atau cuaca mendung sensor hujan dan sensor cahaya akan mendeteksi cuaca tersebut, kemudian mengirim data ke microcontroller untuk diolah kemudian akan dikirimkan lagi menuju motor DC untuk menggerakan rel penjemur ke sisi kanan sampai rel penjemur menyentuh microswitch dan motor DC berhenti berputar.

  
         Sebaliknya ketika tidak terjadi hujan dan cuaca tidak mendung sensor hujan dan sensor LDR akan mendetsi keadaan tersebut dan mengirimnya ke microcontroller untuk diolah dan kemudian dikirimkan datanya menuju motor DC untuk menggerakan rel penjemur menuju ke arah kiri sampai rel penjemur menyentuh microswitcch dan motor DC berhemti berputar.Begitu pula apabila pakaian masih dalam keadaan lembab maka sensor mengirimkan sinyal ke microcontroller untuk menggerakkan motor DC sehingga pakaian menuju ke tempat yang lebih kering atau bercahaya. untuk lebih jelasnya berikut skema dan programnya.




a. Arduino Uno






b. Sensor DHT11





c. Sensor LDR





d. Sensor Air / Hujan





e. Motor DC





f. Relay 





g. Sensor Limit Switch






h. Program Arduino IDE

#include "Wire.h"
#include <LiquidCrystal.h>
#include "DHT.h"
#define DHTPIN 12
#define DHTTYPE DHT11
LiquidCrystal lcd(9, 8, 7, 6, 5, 4);

DHT dht(DHTPIN, DHTTYPE);

int mark = 0;

void setup() {
  lcd.begin(16, 2);
  lcd.clear();
  lcd.noCursor();
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(A2,INPUT);
  pinMode(A3,INPUT);
  digitalWrite(A2,HIGH);
  digitalWrite(A3,HIGH);
 
  dht.begin();
}


void loop() {

  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);

  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
 
  float hic = dht.computeHeatIndex(t, h, false);
 
  int cahaya = analogRead(A0);
  int hujan = analogRead(A1);
  
  lcd.setCursor(0, 0);
  lcd.print("H=");
  lcd.print(h,1);

  lcd.setCursor(8, 0);
  lcd.print("C=");
  lcd.print(cahaya);
 
  lcd.setCursor(8, 1);
  lcd.print("A=");
  lcd.print(hujan);

delay(1000);

if((hujan < 500)&&(mark == 0)){
delay(200);
mark = 1;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("TEDUH");
teduh();
}

if((cahaya < 20)&&(mark == 0)){
delay(200);
mark = 1;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("TEDUH");
teduh();
}

if((cahaya > 20)&&(hujan > 500)&&(mark == 1)){
delay(200);
mark = 0;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("KERING");
kering();
}


}




void teduh(){
digitalWrite(10,HIGH);
digitalWrite(11,LOW);

int a = digitalRead(A2);

if(a == 0){
digitalWrite(10,LOW);
digitalWrite(11,LOW);
delay(1000);
lcd.clear();
return;
}

teduh();

}


void kering(){
digitalWrite(10,LOW);
digitalWrite(11,HIGH);

int b = digitalRead(A3);

if(b == 0){
digitalWrite(10,LOW);
digitalWrite(11,LOW);
delay(1000);
lcd.clear();
return;
}

kering();

}





i. VIDEO HASILNYA











No comments:

Post a Comment