int pulsador = 0;
int contador=0;
int detector=0;
const int Trigger = 2; //Pin digital 2 para el Trigger del sensor
const int Echo = 3; //Pin digital 3 para el Echo del sensor
int led1 = 8;
int led2 = 9;
void setup() {
Serial.begin(9600);//iniciailzamos la comunicación
pinMode(Trigger, OUTPUT); //pin como salida
pinMode(Echo, INPUT); //pin como entrada
digitalWrite(Trigger, LOW);//Inicializamos el pin con 0
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(5, INPUT);
}
void loop() {
long t; //timepo que demora en llegar el eco
long d; //distancia en centimetros
digitalWrite(Trigger, HIGH);
delayMicroseconds(10); //Enviamos un pulso de 10us
digitalWrite(Trigger, LOW);
t = pulseIn(Echo, HIGH); //obtenemos el ancho del pulso
d = t/59; //escalamos el tiempo a una distancia en cm
delay(250); //Hacemos una pausa de 100ms
if(d>=1 && d<=100){
detector++;
}
else{detector=0;}
if(detector==1){
contador++;
Serial.print("Persona ");
Serial.print(contador);
Serial.println("");
}
if(contador == 31)
{
digitalWrite(led2, HIGH);
digitalWrite(led1, HIGH);
Serial.print("Aforo lleno!!");
}
else {
digitalWrite(led2, LOW);
digitalWrite(led1, LOW);
}
pulsador = digitalRead(5);
if(pulsador == HIGH) {
contador = 0;
}
}