#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int val;
long duration;
int d;
void setup()
{
pinMode(13,OUTPUT);
pinMode(2,INPUT);
pinMode(4, OUTPUT);
pinMode(3, INPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
delay(1000);
val = analogRead(1);
float mv = ( val/1024.0)*5000;
float cel = mv/10;
float farh = (cel*9)/5 + 32;
lcd.setCursor(0,0);
if (cel>=38)
{
lcd.print("COUTION ");
lcd.print(cel);
lcd.print("*C");
lcd.setCursor(2,1);
lcd.print("display OK");
}
else
{
lcd.print("temperature=");
lcd.print(cel);
lcd.print("*C");
lcd.setCursor(2,1);
lcd.print("display OK");
}
lcd.println();
}
void loop()
{
digitalWrite(4, LOW);
delayMicroseconds(2);
digitalWrite(4, HIGH);
delayMicroseconds(10);
digitalWrite(4, LOW);
duration = pulseIn(3, HIGH);
d = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(d);
Serial.println(" cm");
if (d<10)
{
digitalWrite(8, HIGH);
digitalWrite(6, LOW);
}
else if (d<20&&d>=10)
{
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
digitalWrite(8, LOW);
}
else if(d<=30&&d>=20)
{
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
}
else
{
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
}
if (digitalRead(2)== HIGH)
{
digitalWrite(13,HIGH);
lcd.setCursor(0,1);
lcd.print("dispensing fog");
delay(500);
lcd.setCursor(0,1);
lcd.print(" ");
}
else
{
digitalWrite(13,LOW);
delay(10);
}
}