Código de Programación
Código de Programación
Código de Programación
void setup() //DESDE ESTE LLAVE HASTA LA ÚLTIMA CERRADA SE CONFIGURAN TODOS LOS
COMPONENTES ELECTRÓNICOS Y LA CONEXIÓN A LA RED
{
pinMode(buzzerPin, OUTPUT); //Se configura el buzzer en un pin de salida
pinMode(ledPin, OUTPUT); //Se configura el led en un pin de salida
pinMode(pirPin, INPUT); //Se configura el sensor PIR en un pin de entrada
pinMode (luz, INPUT); //Se configura la fotocelda
Serial.begin (115200); // Se configura el monitor serie para poder verificar los
estados de los componentes
void loop()
{
aux2 = analogRead (luz);
Serial.print("Valor Fotocelda: ");
Serial.println(aux2);
delay (5000);
if(valorLuz==0){
delay (5000);
loop();
}
if(valorLuz==1)
{ aux = digitalRead(pirPin); //Se leen valores del sensor y se asigna a la variable
aux
Serial.println(aux); //Se muestra en pantalla el valor del sensor (1 si
detecta movimiento - 0 si no detecta movimiento)
if(aux == 1){ //Si el sensor detecta movimiento se le asigna el
valor a una nueva variable, en este caso 1
pirValue = 1;
Serial.println("Alarma activa"); //Se envía mensaje por pantalla indicando que el
sistema detecto movimientos
//EN LA SIGUIENTE LÍNEA SE LLAMA A LA FUNCIÓN EMAIL Y SE ENVÍA ASUNTO, CUERPO DEL
MENSAJE Y REMITENTE
Enviar_Email("ALARMA ACTIVA - URGENTE","El sistema ha dectado movimientos, por
favor revisar sistema de seguridad, notificar a policia e ingresar al siguiente
link para desactivar la alarma:
http://192.168.43.180","hernando.leon@unimilitar.edu.co"); // Asunto, Mensaje,
Correo
delay(1000); //Línea de código que permite que la línea anterior se demore en
ejecutarse 1 segundo (Se programa en milisegundos)
}
}
if(pirValue == 1) //Si la variable pirValue es igual a 1 quiere decir que seguirá
{
digitalWrite(ledPin, 1); //Se enciende el led
tone(buzzerPin, 440);//Se enciende el buzzer
Serial.println("Sigue activa...:"); //Se envía mensaje por pantalla de arduino
que la alarma sigue activa
delay(1000);
}
WiFiClient client = server.available(); //Se realiza la conexión con el servidor
y la página web
// avalaible() detecta un cliente nuevo del objeto de la clase WifiServer
if(!client)
{
return;
}
Serial.println("Nuevo cliente...");
while(!client.available())
{ //espera a un cliente diponible
delay(1);
}
String peticion = client.readStringUntil('\r'); //lee la petición del cliente (si
presionaron un botón de la página)
Serial.println(peticion);
client.flush(); //limpia la peticion del cliente
Serial.println("Accedieron a la página"); //Se envía un mensaje Arduino que
alguien presionó un botón
delay(1000);
if(peticion.indexOf('BOTON1=ON') != -1) //Si presionan botón apagar alarma se
apaga led y sonido
{
Serial.println("Alarma Apagada");
digitalWrite(ledPin, 0); //led apagado
noTone(buzzerPin); //buzzer apagado
pirValue = 0; //se reinicia la variable que valida si el
sensor detecta movimiento para que vuelva a detectar desde 0
estado = 1; //estado 1 para enviar un mensaje en la
pantalla d la página que la alarma fue apagada
}
if(peticion.indexOf('BOTON2=OFF') != -1) //Si presionan botón reiniciar sistema
se vuelve a establcer conexión con el modulo y la red
{
estado = 0; //estado 0 para enviar un mensaje en la
pantalla d la página que el sistema se reinició
setup();
}
client.println("HTTP/1.1 200 OK");
client.println("");
client.println("");
client.println("");
client.println("");
if(estado==1)
client.println("<h2>Alarma Apagada</h2>");
else
client.println("<h2>Reinciar sistema</h2>");
Serial.println(resp.status);
Serial.println(" Code:");
Serial.println(resp.code);
Serial.println(" Desc:");
Serial.println(resp.desc);
}