#include <LiquidCrystal_I2C.h>
//BASIC CONNECTIONS
#define sensor 0
#define en1 13
#define en2 12
#define en3 11
#define en4 10
#define nyuma 9
#define mbele 8
#define buzzer A1
LiquidCrystal_I2C lcd(0x27,16,2);
bool state;
void setup()
{
lcd.init();
lcd.backlight();
loadingdisplay();
Serial.begin(115200);
pinMode(nyuma,INPUT);
pinMode(mbele,INPUT);
pinMode(en1,OUTPUT);
pinMode(en2,OUTPUT);
pinMode(en3,OUTPUT);
pinMode(en4,OUTPUT);
pinMode(buzzer,OUTPUT);
lcd.clear();
}
void loadingdisplay()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("VEHICLE STARTED");
lcd.setCursor(0,1);
lcd.print("WARMING UP.....");
delay(2000);
}
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()
{
while(analogRead(0)<500)
{
digitalWrite(A1,LOW);
if(digitalRead(mbele)==LOW)
{
lcd.setCursor(0,0);
lcd.print("VEHICLE ENABLED ");
lcd.setCursor(0,1);
lcd.print("--->REVERSE <---");
move(2);
}
else if(digitalRead(nyuma)==LOW)
{
lcd.setCursor(0,0);
lcd.print("VEHICLE ENABLED ");
lcd.setCursor(0,1);
lcd.print("--->FORWARD<----");
move(1);
}
else
{
lcd.setCursor(0,0);
lcd.print("VEHICLE ENABLED ");
lcd.setCursor(0,1);
lcd.print("--->NEUTRAL<----");
move(3);
}
}
alertdisplay();
digitalWrite(A1,HIGH);
move(3);
}
void move(int num)
{
if(num==1){
digitalWrite(en1,HIGH);
digitalWrite(en2,LOW);
digitalWrite(en3,LOW);
digitalWrite(en4,HIGH);
}
if(num==3){
digitalWrite(en2,LOW);
digitalWrite(en1,LOW);
digitalWrite(en4,LOW);
digitalWrite(en3,LOW);
}
if(num==2){
digitalWrite(en1,LOW);
digitalWrite(en2,HIGH);
digitalWrite(en3,HIGH);
digitalWrite(en4,LOW);
}
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
bz1:1
bz1:2
pot1:GND
pot1:SIG
pot1:VCC
led3:A
led3:C
led4:A
led4:C
led5:A
led5:C
led6:A
led6:C
sw1:1
sw1:2
sw1:3