#include <LiquidCrystal_I2C.h>
#include <Wire.h>
// for ultrasonic sensor
// A0 TO A3 for I/P and A4 and A5 for led blinking.
int trig_0 = 2;
int echo_0 = 3;
int dist_0;
int Led_0 = 13;
int Led_1 = 11;
// for display
LiquidCrystal_I2C lcd(0x27, 16, 2);
// for relay
int relay = 12;
void setup() {
// for ultrasonic sensor
pinMode(trig_0, OUTPUT);
pinMode(echo_0, INPUT);
pinMode(relay, OUTPUT);
// for Display
Serial.begin(9600);
lcd.init();
lcd.backlight();
// for relay or coil
}
void loop() {
Led();
digitalWrite(relay, HIGH);
// for display
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Charging Station");
lcd.setCursor(0, 1);
lcd.print("Charged Off");
digitalWrite(trig_0, LOW);
delayMicroseconds(2);
digitalWrite(trig_0, HIGH);
delayMicroseconds(10);
digitalWrite(trig_0, LOW);
long duration_0 = pulseIn(echo_0, HIGH);
dist_0 = duration_0 * 0.034 / 2;
if (dist_0 <= 25) {
lcd.setCursor(0, 1);
lcd.print("Charged On ");
digitalWrite(relay, LOW);
delay(1000);
}
}
void Led(){
digitalWrite(Led_0, HIGH);
delay(5000);
digitalWrite(Led_0, LOW);
delay(5000);
digitalWrite(Led_1, HIGH);
delay(5000);
digitalWrite(Led_1, LOW);
delay(5000);
}