Utiliza un sensor de presencia (PIR) para activar lo que sea
Llevaba tiempo con ganas de cacharrear un rato y he aprovechado las vacaciones. El caso es que necesitaba activar una cámara de video que funciona a 12V cuando se detectase algún tipo de movimiento, y me dije, ¿para qué comprarlo hecho si lo puedo hacer con Arduino?. Lo podéis utilizar para activar cualquier otro dispositivo que funcione con un voltaje de entre 5 y 25 V.
Así que me hice con un optoacoplador (circuito integrado PC817) para utilizarlo a modo de interruptor de 12 V, y un sensor de presencia (PIR en inglés).
El sensor de presencia que he utilizado es el PIR de Parallax. Es un sensor digital que cuando detecta presencia en su rango de alcance activa una señal digital en uno de sus pines.
Figura 1. Sensor de presencia (PIR) de Parallax
Tiene dos modos de funcionamiento en función de si colocamos el jumper en la posición L (LOW) o H (HIGH):
- L: La señal digital que emite el sensor se activa (HIGH) y desactiva (LOW) cada vez que se detecta movimiento. Es decir, cuando detecta movimiento continuo genera pulsos LOW/HIGH. Cuando no lo detecta, permatece desactivada (LOW).
- H: La señal digital que emite el sensor se mantiene activa (HIGH) mientras se detecta movimiento. Cuando no lo detecta, permatece desactivada (LOW).
En mi caso lo he dejado a L, pero dependiendo de vuestras necesidades podéis elegir una u otra opción.
El circuito quedaría eléctrico así:
- Conecto una fuente de alimentación de 12 V a la placa Arduino.
- Utilizo el optoacoplador como interruptor.
- Extraigo un conector que genera 12V para conectarlo a la cámara de video.
- Utilizo un LED verde para monitorizar las deteciones de movimiento que realiza el sensor (OPCIONAL).
- Utilizo un LED rojo para monitorizar cuando el circuito de la cámara está encendido (OPCIONAL).
Figura 2. Esquema de conexionado a una una placa Arduino.
Para hacer este montaje he desempolvado una placa Arduino de prototipos que tenía muerta de risa en el armario y que compré hace mucho tiempo. Podéis utilizar cualquier otra placa Arduino.
Figura 3. Foto del montaje
Código fuente
/*
Activación de un dispositivo de 12V mediante un sensor de
presencia PIR de Parallax.
Igor González Martín. 14-01-2008
igor.gonzalez.martin@gmail.com
*/
int interruptor = 12;
int sensorPIR = 4;
long tiempoEncendido = 120000; // Tiempo en mili-segundos (2 minutos)
int PIRactivo=0;
long contador = 0;
void setup (){
pinMode(interruptor, OUTPUT);
pinMode(sensorPIR, INPUT);
}
void loop (){
PIRactivo=digitalRead(sensorPIR); // Lee el sensor PIR
if (PIRactivo==HIGH){ // Si está activo reinicia el contador de tiempo
contador=tiempoEncendido; // al tiempo de encendido total.
}
if (contador > 0) { // Si el contador de tiempo es positivo mantiene
contador = contador - 200; // encendido el interruptor y decrementa el
digitalWrite(interruptor,HIGH); // tiempo de encendido, sino lo apaga.
} else {
digitalWrite(interruptor,LOW);
}
delay (200);
}
Referencias
by Igor González Martín 14-01-2008