//Oscar Salvador Vargas Gonzalez
#include <LiquidCrystal.h>
#include <Servo.h>
Servo miServo;
LiquidCrystal lcd(12,11,5,4,3,2);
const int trigPin=9;
const int echoPin=10;
int verde=8;
long duracion;
float distancia;
void setup() {
Serial.begin(9600);
miServo.attach(7);
pinMode(echoPin,INPUT);
pinMode(trigPin,OUTPUT);
pinMode(verde,OUTPUT);
lcd.begin(16,2);
}
void loop() {
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
duracion=pulseIn(echoPin,HIGH);
distancia=duracion * 0.034/2;
if(distancia<15){
miServo.write(90);
digitalWrite(verde, HIGH);
lcd.setCursor(0,0);
lcd.print("Acceso ");
lcd.setCursor(0,1);
lcd.print("Permitido ");
delay(3000);
miServo.write(0);
digitalWrite(verde,LOW);
}else{
digitalWrite(verde,LOW);
lcd.setCursor(0,0);
lcd.print("Esperando ");
lcd.setCursor(0,1);
lcd.print("Usuario ");
}
delay(2000);
}