#include <Servo.h> //Coloca a biblioteca do servo
#include <LiquidCrystal_I2C.h> //Coloca a biblioteca do LCD
#define trig 2 //Pino que lê a disância
#define echo 5 //Pino que manda a distância (tem q ser pwm)
Servo servo1;
LiquidCrystal_I2C lcd(0x27, 16,2);
void setup()
{
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
servo1.attach(3);
lcd.init();
}
void loop()
{
// Inicia uma nova medição:
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
// Leia o resultado:
float duration = pulseIn(echo, HIGH);
lcd.setBacklight(HIGH);
lcd.setCursor(0, 1);
lcd.print("Dist:");
lcd.setCursor(6, 1);
lcd.print(duration / 58);
lcd.setCursor(11, 1);
lcd.print("CM");
if(duration / 58 <= 50){ //esse duration é dividido por 58 pra deixar mais proximo a centimetros, vou atualizar pra Float dps
servo1.write(90);
lcd.setCursor(0, 0);
lcd.print("Porta Aberta");
}
else{
servo1.write(0);
lcd.setCursor(0, 0);
lcd.print("Porta Fechada");
}
Serial.print("distancia: ");
Serial.print(duration/58);
Serial.println("Cm");
delay(500);
lcd.clear();
}