#include <Wire.h>// lcd
#include <LiquidCrystal_I2C.h>// lcd
LiquidCrystal_I2C lcd(0x27, 16, 2);// lcd
#include<Servo.h>// servo
Servo servo1;// servo
float duration_us, distance_cm;// ultrasonic
void setup() {
// put your setup code here, to run once:
lcd.init(); // Initialize LCD
lcd.backlight(); // Turn on backlight
lcd.setCursor(0, 0);
lcd.print("I2C LCD Demo");
delay(1000); // Pause before starting loop
Serial.begin (9600);
servo1.attach(3); // for servo
servo1.write(0); // for initial condition at 0 degree
pinMode(7, OUTPUT); // set trig pin to output mode
pinMode(8, INPUT); // set echo pin to input mode
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(7, LOW);
delayMicroseconds(10);
digitalWrite(7, HIGH);
delayMicroseconds(10);
digitalWrite(7, LOW);
duration_us = pulseIn(8, HIGH);
distance_cm= duration_us * 0.0344 / 2;
Serial.print("distance: ");
Serial.print(distance_cm);
Serial.println(" cm");
delay(500);
if(distance_cm<5){
servo1.write(90);
}
else{
servo1.write(0);
}
// for display the result on lcd display
lcd.setCursor(0, 1); // Row 1 (second line)
lcd.print("Distance : ");
lcd.print(distance_cm); // Display the counter value
lcd.print(" "); // Clear any old digits
}