1#include<LiquidCrystal_I2C.h>
2#include<Wire.h>
3
4#define TRIGGER 2
5#define ECHO 4
6
7#define IR A3
8
9#define I2C_ADDR 0x27
10#define BACKLIGHT_PIN 3
11#define En_pin 2
12#define Rw_pin 1
13#define Rs_pin 0
14#define D4_pin 4
15#define D5_pin 5
16#define D6_pin 6
17#define D7_pin 7
18
19LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
20
21
22
23
24
25
26void setup() {
27
28lcd.begin(16,2);
29lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
30lcd.setBacklight(HIGH);
31lcd.home();
32
33pinMode(IR,INPUT);
34Serial.begin(9600);
35
36pinMode (TRIGGER,OUTPUT);
37pinMode (ECHO,INPUT);
38
39
40}
41
42void loop() {
43 int IR_Sensor = digitalRead (IR);
44
45 if(IR_Sensor == 0){
46
47 lcd.setCursor (0,0);
48 lcd.print("close");
49
50
51 }else {
52
53 lcd.setCursor (0,0);
54 lcd.print("open");
55 }
56
57 digitalWrite(TRIGGER,LOW);
58 delayMicroseconds(2);
59 digitalWrite(TRIGGER,HIGH);
60 delayMicroseconds(10);
61
62 long x =pulseIn(ECHO,HIGH);
63 long inches = x / 74 /2;
64 long cm = x /29/2;
65
66 lcd.setCursor(0,1);
67 lcd.print(cm);
68 lcd.print("cm");
69
70
71
72}
73