#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int BuzzerPin = 2;
int ledgreen = 4;
int ledred = 16;
int fan = 5;
int sensor = 26;
float gas = 0;
void setup()
{
lcd.init();
lcd.backlight();
pinMode(ledgreen, OUTPUT);
pinMode(ledred, OUTPUT);
pinMode(fan, OUTPUT);
pinMode(BuzzerPin, OUTPUT);
lcd.begin(16, 2);
lcd.setCursor(2, 0);
lcd.print("GAS DETECTOR");
delay(1500);
lcd.setCursor(0, 1);
lcd.print("----");
delay(1000);
lcd.setCursor(4, 1);
lcd.print("----");
delay(1000);
lcd.setCursor(8, 1);
lcd.print("----");
delay(1000);
lcd.setCursor(12, 1);
lcd.print("----");
delay(1000);
lcd.clear();
}
void loop() {
gas = analogRead(sensor);
gas = gas*100/4095;
lcd.setCursor(0, 0);
lcd.println("GAS =");
lcd.print(gas);
lcd.print(" % ");
if (gas > 50)
{
digitalWrite(BuzzerPin, HIGH);
digitalWrite(ledred, HIGH);
digitalWrite(ledgreen, LOW);
digitalWrite(fan, HIGH);
lcd.setCursor(0, 1);
lcd.print("<< DANGER !!! >>");
}
else
{
digitalWrite(BuzzerPin, LOW);
digitalWrite(ledred,LOW);
digitalWrite(ledgreen, HIGH);
digitalWrite(fan, LOW);
lcd.setCursor(0, 1);
lcd.print("<OUT OF DANGER.>");
}
delay(100);
}