#define PIN_TRIG 3
#define PIN_ECHO 2
#define PIN_TRIG1 6
#define PIN_ECHO1 7
#include <LiquidCrystal_I2C.h>
#include <Servo.h> //inicia a biblioteca servo.h
LiquidCrystal_I2C lcd(0x27,16,2);
LiquidCrystal_I2C lcd1(0x28,16,2);
Servo servo1; // cria o objeto para controle do servo
void setup()
{
servo1.attach(9); // define o pino 9 como entrada para o servo
lcd.begin(16,2);
lcd1.begin(16,2);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
pinMode(PIN_TRIG1, OUTPUT);
pinMode(PIN_ECHO1, INPUT);
}
void loop()
{
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
int distancia1 = pulseIn(PIN_ECHO, HIGH);
digitalWrite(PIN_TRIG1, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG1, LOW);
int distancia2 = pulseIn(PIN_ECHO1, HIGH);
distancia1 = distancia1/58;
distancia2 = distancia2/58;
if(distancia1 > 100 && distancia2 > 100){
lcd.clear();
lcd1.clear();
lcd.setCursor(4,0);
lcd.print("Percurso");
lcd.setCursor(5,1);
lcd.print("Livre");
servo1.write(0);
lcd1.setCursor(4,0);
lcd1.print("Percurso");
lcd1.setCursor(5,1);
lcd1.print("Livre");
}
if(distancia1 <= 100 || distancia2 <= 100){
lcd.clear();
lcd1.clear();
lcd.setCursor(3,0);
lcd.print("Diminua a");
lcd.setCursor(3,1);
lcd.print("Velocidade");
lcd1.setCursor(4,0);
lcd1.print("Cancela");
lcd1.setCursor(2,1);
lcd1.print("Sera Aberta");
servo1.write(90);
}
if(distancia1 > 100 && distancia2 <= 100){
lcd1.clear();
lcd1.setCursor(4,0);
lcd1.print("Cancela");
lcd1.setCursor(5,1);
lcd1.print("Aberta");
}
delay(500);
}