como apagar un buzzer

Hola amig@s soy nueva en el foro, estoy trabajando con un sensor ultrasonico, lo quiero poner en el marco de una puerta para que al llegar una persona suene el buzzer pero el problema es que el buzzer seguira sonando hasta que la persona entre y yo solo quiero que suene dos segundos y se apague hasta que vuelva a detectar a otra persona
tienen alguna idea de como lo pueda hacer por que no se como :confused: :confused: :confused: :confused:

Se帽orita pero postea el c贸digo que ac谩 no somos adivinos. Con mucho gusto te ayudaremos...

Usa delay
O
Usa

unsigned long AR = 0;//tiempo de encendodo de arduino
unsigned long FIN = 0;//tiempo de espera para entrada en if

void loop(){
	AR = millis();
	if(AR > FIN){
		FN1 = AR + 10000;//tiempo que tiene que esperar para sonar al buzzer qi se detecta algo
		//Encender Buzzer
		delay(2000);//tiempo que se mantiene encendido
		//Apagar Buzzer
	}
}

Solo esta la parte del c贸digo como ejemplo para lo que quieres hacer
Por hay lo encuentras como maquina de estado y esta bien documentado.

No entiendo como tu c贸digo StringCGE ayudar谩 a la interesada de este hilo.
habla de un sensor ultras贸nico y que quiere que el buzzer suene solo 2 segundos y no permanentemente.
En tu c贸digo no pones algo que tenga que ver con el sensor y estuviera el if que se dispara con la condici贸n de distancia que ella refiere, entonces si se mantiene detectando el objeto, volver谩 a sonar.

Necesita usar una variable bool que se pondr谩 en true cuando se de la condici贸n y en false cuando no detecte mas el objeto. Algo como una alarma, se ARMA con la detecci贸n y se reARMA cuando esta todo tranquilo.
Entonces si un delay con millis() tal como propones funcionar谩.

No esta el c贸digo completo.
Hay esta con la condici贸n de lectura del pin en estado alto que tendr谩 que ser declarado y luego en setup configurado.
Solo quise exponer mi estructura b谩sica y si esta mal pues es hora de corregirla.

unsigned long AR = 0;//tiempo de encendido de arduino
unsigned long FIN = 0;//tiempo de espera para entrada en if

void loop(){
	if(digitalRead(pin) == HIGH){//cualquier sensor o entrada
聽 聽 聽 聽 聽 聽 聽 聽 /////////////condici贸n para que se active cada 10 segundos y suene 2 segundos
		AR = millis();
		if(AR > FIN){
			FN1 = AR + 10000;//tiempo que tiene que esperar para sonar al buzzer si se detecta algo
			//Encender Buzzer
			delay(2000);//tiempo que se mantiene encendido
			//Apagar Buzzer
		}
	}
}

Seg煤n tu c贸digo StringCGE si la persona se queda 10 min cada 10 segundos sonar谩 2 segundos el buzzer. A eso me refer铆a.

Ese valor puede ser cambiado para que sea mas o menos el tiempo pensando en que si la persona que esta en el interior no oiga el primer aviso.
Claro esta que lo que expones se ajusta mas a lo que pide ella e incluso puede ser como un contador de personas como los que hay en los buces por ac谩.