//******************************************************************************************
// Exercicio cancela
// TERCEIRA ENTREGA
// NOME DO ALUNO:
//******************************************************************************************
// bibliotecas
#include <HCSR04.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
// cria o objeto para controle do servo
Servo servo;
// mapeamento
// NAO PODE MUDAR A LIGAÇÃO FISICA DOS COMPONENTES.
#define TRIGGER1 10 //NAO MUDE O PINO
#define ECHO1 9 //NAO MUDE O PINO
#define TRIGGER2 6 //NAO MUDE O PINO
#define ECHO2 5 //NAO MUDE O PINO
#define SERVO_MOTOR 11 //NAO MUDE O PINO
#define LCD1 0X20 // NAO MUDE O ENDEREÇO
#define LCD2 0X21 // NAO MUDE O ENDEREÇO
// variaveis
/*
Como deve funcionar
O CARRO ESTA SE APROXIMANDO NÃO CHEGOU NO SENSOR
Sensor Esquerda | Sensor Direita | LCD Esquerda | LCD Direita
MAIOR VALOR | MAIOR VALOR | Percurso Livre | Percurso Livre
O CARRO ESTA EM FRENTE AO SENSOR DA DIREITA
MAIOR VALOR | Menor valor | CANCELA SERA | CANCELA SERA
ABERTA | ABERTA
O CARRO PASSOU TOTALMENTE PELO SENSOR DA DIREITA E AINDA NÃO CHEGOU NO SENSOR DA ESQUERDA
MAIOR VALOR | MAIOR VALOR | CANCELA ABERTA | DIMINUA A
VELOCIDADE
O CARRO ESTA EM FRENTE AO SENSOR DA ESQUERDA
Menor valor | MAIOR VALOR | CANCELA ABERTA | DIMINUA A
VELOCIDADE
O CARRO PASSOU TOTALMENTE PELO SENSOR DA ESQUERDA
MAIOR VALOR | MAIOR VALOR | Percurso Livre | Percurso Livre
*/
//Inicializa o display
LiquidCrystal_I2C lcd1(LCD1,16,2);
LiquidCrystal_I2C lcd2(LCD2,16,2);
// Inicializa o sensor ultrassonico
UltraSonicDistanceSensor distanceSensor1(TRIGGER1, ECHO1);
UltraSonicDistanceSensor distanceSensor2(TRIGGER2, ECHO2);
void setup () {
//Inicializa o lcd
// define o pino 11 como entrada para o servo
servo.attach(11);
//Liga o backlight
lcd1.init();
lcd1.setBacklight(HIGH);
lcd2.init();
lcd2.setBacklight(HIGH);
//Mensagem
lcd1.println(" ETECAF ");
lcd1.setCursor(0,1);
lcd1.println(" ELETRONICA ");
lcd1.setCursor(1,1);
lcd2.println(" EXERCICIO ");
lcd2.setCursor(0,1);
lcd2.println(" CANCELA");
lcd2.setCursor(1,1);
delay(5000);
}
void loop () {
}