#include <SoftwareSerial.h>
#include <LiquidCrystal_I2C.h>
//BASIC CONNECTIONS
#define sensor 5
#define en1 6
#define en2 7
#define gsmTX 3
#define gsmRX 2
LiquidCrystal_I2C lcd(0x27,20,4);
SoftwareSerial mySerial(2, 3);
bool state;
void setup()
{
Serial.begin(9600);
delay(500);
mySerial.begin(9600); // RX, TX,
lcd.init();
lcd.backlight();
loadingdisplay();
Serial.begin(115200);
pinMode(en1,OUTPUT);
pinMode(en2,OUTPUT);
pinMode(sensor,INPUT);
lcd.clear();
loadingdisplay();
}
void loadingdisplay()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("VEHICLE STARTED");
lcd.setCursor(0,1);
lcd.print("WARMING UP.....");
delay(2000);
}
void move(bool mode)
{
if(mode)
{
digitalWrite(en1,HIGH);
digitalWrite(en2,LOW);
}
else
{
digitalWrite(en1,LOW);
digitalWrite(en2,LOW);
}
}
void homedisplay()
{
lcd.setCursor(0,0);
lcd.print("SAFE TO DRIVE");
}
void alertdisplay()
{
lcd.setCursor(0,0);
lcd.print("--->!ALEART!<---");
lcd.setCursor(0,1);
lcd.print("ALCOHOL DETECTED");
}
void loop()
{
if(digitalRead(sensor))
{
alertdisplay();
move(0);
}
else
{
homedisplay();
move(1);
}
}