2. CONTROL ELECTRÓNICO DE ALARMA
DE SEGURIDAD Ó DETECTOR DE
MOVIMIENTO, USANDO ARDUINO,
SENSOR PIR, LEDS Y BUZZER/SPEAKER
3. INTRODUCCIÓN
En este capítulo, se
abordará una breve
descripción del
proyecto y el objetivo
general.
El objetivo es controlar las salidas en alguna forma prescrita
mediante las entradas a través de los elementos del sistema
de control.
OBJETIVO
4. DESCRIPCIÓN
El dispositivo cuenta con un sensor de movimiento PIR, tres LEDs los cuales actúan como un indicador al
detectar el movimiento y un speaker el cual se encargara de emitir sonidos previamente programados. El
circuito de control se encargara de detectar el movimiento. El circuito ha sido construido y probado, utilizando
el sensor de tipo infrarrojo pasivo detectando la luz infrarroja radiada de los objetos situados en su campo de
visión y un código programado en el programa ARDUINO para su funcionamiento.
PIR LED SPEAKER ARDUINO
5. ELEMENTOS
Arduino Mega 2560 (1).
Batería de 9 v (1).
Buzzer / Speaker (1).
Cable Arduino – Laptop (1).
Computadora / Laptop (1).
L.E.D (3).
Programa Arduino (1).
Protoboard (1).
Puentes / Cable para protoboard (1).
Sensor PIR (1).
6. DISEÑO DEL SISTEMA
ENTRADA CONTROLADOR SISTEMA SALIDA
Sensor
MOVIMIENTO CÓDIGO PROGRAMADO ARDUINO INDICADORES: LUZ Y SONIDO
SENSOR INFRARROJO PASIVO (PIR)
8. DISEÑO DEL SOFTWARE
int ledPin = 24; // pin para el LED
int inputPin = 2; // Pin para el sensor PIR
int pirState = LOW; // Asumimos que cuando empezamos no hay movimiento detectado.
int val = 0; //Variable para leer el estado del Pin
int pinSpeaker = 10; //Pin del Speaker
void setup()
{
pinMode(ledPin, OUTPUT); //declaramos los leds y el speaker como output salida
pinMode(inputPin, INPUT); //declaramos el sensor como entrada de la señal que mandara
pinMode(pinSpeaker, OUTPUT);
Serial.begin(9600);
}
9. void loop()
{
val = digitalRead(inputPin); //Se lee la variable de la entrada del PIR
if (val == HIGH)
{ // Se evalúa si la entrada está en " HIGH"
digitalWrite(ledPin, HIGH); //Se enciende el LED
playTone(300, 200);
delay(150);
if (pirState == LOW)
{ // Lo apagamos
Serial.println("Movimiento detectado!"); //En el Monitor serial podemos
observar Movimiento detectado se vuelve encender
pirState = HIGH;
}
}
10. else
{
digitalWrite(ledPin, LOW); // Se apaga el LED
playTone(0, 0);
delay(300);
if (pirState == HIGH)
{ //Se enciende nuevamente
Serial.println("Ya no hay movimiento.."); // imprimimos que no hay
movimiento
pirState = LOW; // se apaga el PIR
}
}
} // Duracion en mSeg, frequencia en hertz
11. void playTone(long duration, int freq)
{
duration *= 2000;
int period = (1.0 / freq) * 130000;
long elapsed_time = 0;
while (elapsed_time < duration)
{
digitalWrite(pinSpeaker,HIGH);
delayMicroseconds(period / 2);
digitalWrite(pinSpeaker, LOW);
delayMicroseconds(period / 2);
elapsed_time += (period);
}
}
27. CONCLUSIÓN
Las conclusiones que se pueden sacar de este proyecto son bastante interesantes, ya
que con él se ha trabajado con casi todas las funciones de los componentes que se
utilizaron. Se implementó el control automático en la alarma propuesta, existe la
retroalimentación comandada por el sensor de movimiento infrarrojo, mas aparte es
un dispositivo muy sencillo de fabricar y codificar. Se compartieron conocimientos,
entre los integrantes del equipo, adquiridos en la materia de Biocontroladores de la
carrera de Ingeniería Biomédica de la Universidad de La Salle Victoria.
28. REFERENCIAS
1. Bolton W. (2001) Mecatrónica Sistemas de Control Electrónico en Ingeniería Mecánica y
Eléctrica México: Älfaomega
2. Kuo B. (1996) Sistemas de Control Automático México: Prentice – Hall Hispanoamericana, S.A.
3. Mendiburu H. (2006) Instrumentación Virtual Industrial Perú: Indecopi
4. Ogata K. (1998) Ingeniería de Control Moderna Estado de México: Prentice-Hall
Hispanoamericana, S.A.