[OFF TOPIC] Tiempos HC SR501

Estimados una consulta, resulta que estoy usando un sensor de movimiento HC SR501 el cual la datasheet que leí decía que tiene tiempo mínimo de refresco de 0.5s pero lo mínimo que he conseguido son 3s ajustando el potenciómetro del timer y el jumper.

Mi consulta es como se logran esos 0.5s que dice el fabricante?

les dejo la rutina de arduino (Arduino UNO) , para que vean que no es nada de software

int mov;
int sensor = 8;

void setup(){
Serial.begin(9600);
pinMode(sensor,INPUT);
}

void loop(){
mov = digitalRead(sensor);
Serial.println(mov);
}

Me aparecen ceros, pongo y saco la mano rápidamente y aparecen unos durante 2.5 segundos

Existe la posibilidad de llegar a esos 0.5s ?

Hi,
El la forma que el modulo trabaja es que cuando detecta un abjeto la salida imediatamente va irse a 5 voltios por el tiempo de que tu le estas dando. Despues hay un delay 3 segundos que el modulo no va a responder. Posiblemente ese es tiempo que tu estas leyendolo Creo que la rutina que usas no es la correcta. Para hacerlo tienes que ir a leerlo cuando el pin esta alto y lo sigues leyendo mientras esta esta en los 4 voltios pero tienes que usar la instrccionde milli() para medir el tiempoy cuando la senal baja a cero entoces sale de leer el tiempo. Deberias de usar la nstruccion pulseIn(pin, value) . Esta te va el tiempo correcto usando esta instruccion. Te pude hacer una routina para hacerlo pero debes de tratarlo tu para que vayas aprendiendo a programar. Puedes tambien usar un if si el pin se va a alto entoces vaz a un do while en el que lees el tiempo mintras el pin esta en alto. Sale cuando el pin se va a zero. Te va dar el tiempo del delay. Adjunto un link que explica como hacerlo leer en espanol.

Ese code lo hice porque según la tienda que lo compré aseguraban que media con 0.5s asique puse manos a la obra y me di cuenta que no era así y llegaba solo con ~3s

Se programar de sobra, es más soy informático, use pulseIn y lo mismos ~3s de retraso esto es hard o no soft. Hay alguna manera de llegar a los 0.5s cambiando talvez la resistencia de potenciometro?

Perdona, si sabes programar y tu programa para medir un tiempo es leer el Monitor serie cuando salen 0 y 1, me parece que algo se te pasó por alto.
Podrias haber usado millisl() y contar entre flancos con precisión si son 2.5 o 0.5 segundos.

Por otro lado viste lo que te puso @tauro0221?

Hay un potenciometriio que dice ouput timming o tiempo de salida. Juega con el y cambias ese tiempo.

Hi,
Entonces si sabes programar porque no usas la instrucion de "pulseIn(pin, value)". La escribe que empiece
cuando el pin cambia de zero a 5 voltios. Tiempo = pulseIn(pin number, HIGH), Esta te va a dar el tiempo que toma el sensor cuando cambia de zero> 5 voltios termina de leer el tiempo cuando el sensor 5> zero usando una sola instruccion. Sencillo. Para que inventar la rueda si ya esta inventada.