Mantener activado SensorPIR

Hola buenas hace tiempo empecé un proyecto que consistía en encender y apagar un relé por movimiento, lo hice con un sensor ultrasónico, pero pensé que sería malo para la salud tenerlo encendido mucho tiempo, no se si será o no a ver si lo sabéis. Después lo hice con un sensor PIR hc-sr501
No se si con una librería, millis, delay, no se.
Gracias, un saludo.

const int LEDPin= 2; // Pin de diodo LED incorporado
const int PIRPin= 4; // Pin de entrada
void setup(){
  pinMode(LEDPin, OUTPUT); // Configuramos el pin como salida
  pinMode(PIRPin, INPUT); // Configuramos el pin como entrada
}
 
void loop(){
  int value= digitalRead(PIRPin); // Leemos el pin
    if (value == HIGH) { // Si es un valor alto:
   digitalWrite(LEDPin, HIGH); // Encendemos el LED  } 
    else { // Si es un valor bajo:
   digitalWrite(LEDPin, LOW); // Apagamos el LED
  }
}

si lo que pretendes es dejarlo un tiempo fijo activado (no el sensor, sino su función) y no utilizar nada más, con un simple delay de x segundos te vale, pero si pretendes usar algo más, lógicamente esta sería una malísima opción y deberias usar millis.

El propio sensor ya lleva un temporizador incorporado que puedes regular, y quizás, dependiendo del tiempo que necesites, con eso ya lo tengas solucionado.

Con respecto a los ultrasonidos, en absoluto son un problema para la salud, simplemente son un sonido que no somos capaces de oir, otra cosa distinta sería las micro ondas de un sensor de proximidad, que siendo tan débiles dudo muchisimo que pudieran ser perjudiciales de algún modo.

Aquí tienes información sobre este sensor

MANUAL USUARIO SENSOR DE MOVIMIENTO PIR-HC-SR501

.

Hola. yo te aconsejaría usar la función millis, el delay es siempre una malísima idea, por cuanto congela el loop y no puedes recibir otras instrucciones, por ejemplo, si en el sensor PIR vuelve a enviar una señal de alto mientras el delay está activo, ésta señal no será considerada por el micro controlador, y eso complica cuando quieres hacer un sistema que utilice por ejemplo un temporizador apenas se detecta la señal de alto en el PIR.

Si no sabes como usar milis() ve a Documentación => Indice de temas tutoriales => millis()

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.