//Ricardo Arturo Turcios Alvarez
//0801200107064
#include <Servo.h>
#include <LiquidCrystal.h>
Servo miServo;
const int trig = 9;
const int echo = 10;
const int led = 7;
const int servoMotor = 6;
long duracion;
float distancia;
LiquidCrystal lcd(12, 11, 5, 4, 3, A0);
void setup() {
// put your setup code here, to run once:
miServo.attach(servoMotor);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
miServo.write(0);
lcd.begin(16, 2);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duracion = pulseIn(echo, HIGH);
distancia = duracion * 0.034 / 2;
if (distancia < 15) {
miServo.write(90);
digitalWrite(led, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Acceso");
lcd.setCursor(0, 1);
lcd.print("Permitido");
delay(3000);
miServo.write(0);
digitalWrite(led, LOW);
} else {
miServo.write(0);
digitalWrite(led, LOW);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Esperando");
lcd.setCursor(0, 1);
lcd.print("Usuario");
}
delay(500);
}