Sistemas
Ejemplo arduino
Activar una cámara de video que funciona a 12V cuando se detectase algún tipode 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 opto acoplador (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 deParallax. Es un sensor digital que cuando detecta presencia en su rango de alcance activa una señal digital en uno de sus pines.
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 continuogenera pulsos LOW/HIGH. Cuando no lo detecta, permanece desactivada (LOW).
H: La señal digital que emite el sensor se mantiene activa (HIGH) mientras se detecta movimiento. Cuando no lo detecta, permanece 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 dealimentación de 12 V a la placa Arduino.
- Utilizo el opto acoplador como interruptor.
- Extraigo un conector que genera 12V para conectarlo a la cámara de video.
- Utilizo un LED verde para monitorizar las detecciones de movimiento que realiza el sensor (OPCIONAL).
- Utilizo un LED rojo para monitorizar cuando el circuito de la cámara está encendido (OPCIONAL).
Código fuente
/*
Activaciónde 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); }
sabemos que el programador de .NET utiliza dos cosas fundamentales que son el .NET Framework y el CLR (Common Language Runtime).
.NET Framework: es el que contiene las clases...
Regístrate para leer el documento completo.