Kembali ke atas!

Sistem Pendeteksi Bocor Gas

on Jumat, 08 Maret 2019
dalam Proses Pengerjaan ....


//#include <LiquidCrystal_SR.h>
#include <LiquidCrystal_I2C.h>
#define sensor    A0
#define buzz      11
#define suara   
#define relay     3
#define ledHijau  4
#define ledKuning 5 // PWM
#define ledMerah  6 // PWM

#define AKTIF LOW
#define MATI  HIGH
int valSens;
float percentSens;
char lcdBuff[16];
//LiquidCrystal_SR lcd(10,8,9);
LiquidCrystal_I2C lcd(0x3f, 16, 2);
void setup() {
  Serial.begin(9600);
  lcd.begin();
  pinMode(ledHijau, HIGH);
  pinMode(ledKuning, HIGH);
  pinMode(ledMerah, HIGH);
  pinMode(ledHijau, OUTPUT);
  pinMode(ledKuning, OUTPUT);
  pinMode(ledMerah, OUTPUT);
  pinMode(relay, OUTPUT);
 
}



void loop()
{
  valSens = analogRead(sensor);
 // percentSens = (valSens-10)/9.64;
 percentSens = (valSens-60)/9.64;

  if(percentSens <= 20)
  {          // Deteksi Kurang dari 20% LPG, LED Hijau Menyala
        digitalWrite(ledHijau, AKTIF);
        digitalWrite(ledKuning, MATI);
        digitalWrite(ledMerah, MATI);
        digitalWrite(relay, MATI);
    }
  if(percentSens >= 20 && percentSens <=49)
  {          // Deteksi Lebih dari 20% LPG, LED Kuning Menyala
        digitalWrite(ledHijau, MATI);
        digitalWrite(ledKuning, AKTIF);
        digitalWrite(ledMerah, MATI); 
    }
  if(percentSens >= 50)
  {          // Deteksi 50% LPG, Alarm dan LED Merah Menyala
        digitalWrite(ledHijau, MATI);
        digitalWrite(ledKuning, MATI);
        digitalWrite(relay, AKTIF);
        //digitalWrite(suara, AKTIF);
       
        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print("  Alarm Bahaya  ");
        lcd.setCursor(0,1);
        lcd.print("   LPG Bocor!   ");
        alert(100);
        lcd.clear();
    }

  lcd.setCursor(0,0);
  lcd.print("Analog   Percent");
  lcd.setCursor(1,1);
  lcd.print(valSens);
  lcd.print(" PPM");
  lcd.setCursor(10,1);
  lcd.print(percentSens);
 
  Serial.print("Nilai Analog = ");
  Serial.println(valSens);
  Serial.print("Nilai Persentasi = ");
  Serial.print(percentSens);
  Serial.println('%');
  Serial.println();
}

void alert(int delayms)
{
  analogWrite(ledMerah, 255);   
  analogWrite(buzz, 150);   
  delay(delayms);       
  analogWrite(buzz, 0);
  analogWrite(ledMerah, 0);         
  delay(delayms); 
}


0 komentar:

Posting Komentar

kami membutuhkan kritik dan saran Anda