
Alarma de movimiento con notificación al móvil
En este tutorial vamos a crear nuestra propia alarma de de movimiento que nos envíe una notificación al móvil si alguien entra en nuestra habitación o escondite secreto.
Para esto lo que necesitamos es un Sensor de Movimiento PIR, una placa de Arduino y el servicio de Blynk, en tutoriales anteriores hemos usado este servicio, así que puedes volver a mirarlo haciendo click aquí.
¿Qué es el Sensor de Movimiento PIR?
El sensor PIR (sensor infrarrojo pasivo) es un sensor que mide la luz infrarroja radiada de los objetos que se encuentran en su campo de visión.
Su funcionamiento es simple, todos los objetos que su temperatura sobrepasa el creo absoluto, emiten calor y por lo tanto emiten una radiación infrarroja, esta radiación es invisible a vista del ojo humano, pero los dispositivos PIR sí son capaces de detectarla.
El sensor esta compuesto por varias partes, tenemos el receptor que es que detecta la luz infrarroja.
Y este receptor lo recubre la óptica del sensor, que es una cúpula de plástico que estamos acostumbrados a ver cada vez que vemos un sensor de movimiento que su función es dividir el espacio por zonas y enfoca la radiación infrarroja al receptor.
Si a este sensor le damos la vuelta, veremos que tiene varias partes que podemos diferenciar, según nuestras necesidades lo podemos configurar a nuestro gusto
¿Qué materiales necesitamos para nuestra alarma de movimiento?
Todos los materiales los puedes encontrar en nuestra tienda online.
- Placa Arduino UNO (Se puede usar cualquier otra placa de Arduino) -> Ver en la tienda
- Sensor PIR SR501 -> Ver en la tienda
- LED x1 (Cualquier color) -> Ver en la tienda
- Cables de macho a hembra – Ver en la tienda
Creación del circuito
Para conectar todo a nuestra placa de Arduino lo tenemos que hacer de la siguiente manera:
- Sensor PIR
- VCC -> 5v
- GND -> GND
- OUT -> D2
- LED -> D12
Si tenemos dudas de los pines del sensor de movimiento sí quitamos la óptica del sensor podemos ver cuáles son los pines.
Todo el circuito se debería de ver así:
Configuración de Blynk
En nuestro proyecto de Blynk solo lo que tenemos que poner es un Botón que va funcionar para activar o desactivar la alarma y que tiene que ir al pin V1 (Virtual 1) y también le tenemos que poner el Widget de Notificación para que nos notifique al móvil.
¡Hora de programar!
Ahora tenemos que programar la placa para que el circuito funcione, puedes descargar el código haciendo click aquí
#define BLYNK_PRINT DebugSerial
#include <SoftwareSerial.h>
SoftwareSerial DebugSerial(0, 1); // RX, TX
#include <BlynkSimpleStream.h>
char auth[] = "Tu Token de Blynk";
// PIR sensor tester
int ledPin = 12; // Establecemos el pin del LED
int inputPin = 2; // Establecemos el Pin del PIR
int pirState = LOW;
int val = 0;
int pinValue = 0;
// Establecemos una variable virtual de blynk para poder encender el PIR Cuando queramos
BLYNK_WRITE(V1)
{
pinValue = param.asInt();
}
void setup()
{
DebugSerial.begin(9600);
Serial.begin(9600);
// pir setup
pinMode(ledPin, OUTPUT);
pinMode(inputPin, INPUT);
Blynk.begin(Serial, auth);
}
void loop()
{
if(pinValue == 1){
val = digitalRead(inputPin);
digitalWrite(12, HIGH);
if (val == HIGH) {
Blynk.notify("Detecto movimiento, eres tú?");
}
}else{
digitalWrite(12, LOW);
}
Blynk.run();
}
Resultado Final de la Alarma de movimiento con notificación al móvil
Si hemos seguido los pasos correctamente tan solo nos queda poner en marcha el servidor de Blynk y activar la arma desde el móvil, si el sensor detecta algún movimiento nos notificara al móvil.
En el siguiente video para mostrar el funcionamiento se ha activado la alarma desde otro dispositivo al que se ha compartido el proyecto de Blynk.
Si te ha gustado este proyecto y quieres reproducirlo, compártelo por las redes sociales y etiquétanos para verlo! Facebook y Twitter.
Luis
Hola
Recién me estoy iniciando en este mundo de Arduino y me parece genial.
He intentado hacer este proyecto, copio literalmente el código pero al subirlo me indica:
“Arduino:1.8.15 (Windows Store 1.8.49.0) (Windows 10), Tarjeta:”Arduino Uno”
PIR_Blynk:2:1: error: ‘SoftwareSerial’ does not name a type; did you mean ‘HardwareSerial’?
SoftwareSerial DebugSerial(0, 1); // RX, TX #include char auth[] = “Tu Token de Blynk”; // PIR sensor tester int ledPin = 12; // Establecemos el pin del LED
^~~~~~~~~~~~~~
HardwareSerial
PIR_Blynk:7:13: error: expected constructor, destructor, or type conversion before ‘(‘ token
BLYNK_WRITE(V1)
^
PIR_Blynk:7:12: error: expected constructor, destructor, or type conversion before ‘(‘ token
BLYNK_WRITE(V1)
^
D:\ARDUINO\PIR_Blynk\PIR_Blynk.ino: In function ‘void setup()’:
PIR_Blynk:12:1: error: ‘DebugSerial’ was not declared in this scope
DebugSerial.begin(9600); Serial.begin(9600);
^~~~~~~~~~~
D:\ARDUINO\PIR_Blynk\PIR_Blynk.ino:12:1: note: suggested alternative: ‘Serial’
DebugSerial.begin(9600); Serial.begin(9600);
^~~~~~~~~~~
Serial
PIR_Blynk:14:9: error: ‘ledPin’ was not declared in this scope
pinMode(ledPin, OUTPUT);
^~~~~~
D:\ARDUINO\PIR_Blynk\PIR_Blynk.ino:14:9: note: suggested alternative: ‘ldiv’
pinMode(ledPin, OUTPUT);
^~~~~~
ldiv
PIR_Blynk:15:27: error: ‘Blynk’ was not declared in this scope
pinMode(inputPin, INPUT); Blynk.begin(Serial, auth);
^~~~~
PIR_Blynk:15:47: error: ‘auth’ was not declared in this scope
pinMode(inputPin, INPUT); Blynk.begin(Serial, auth);
^~~~
D:\ARDUINO\PIR_Blynk\PIR_Blynk.ino:15:47: note: suggested alternative: ‘auto’
pinMode(inputPin, INPUT); Blynk.begin(Serial, auth);
^~~~
auto
D:\ARDUINO\PIR_Blynk\PIR_Blynk.ino: In function ‘void loop()’:
PIR_Blynk:22:1: error: ‘Blynk’ was not declared in this scope
Blynk.notify(“Detecto movimiento, eres tú?”);
^~~~~
PIR_Blynk:27:1: error: ‘Blynk’ was not declared in this scope
Blynk.run();
^~~~~
exit status 1
‘SoftwareSerial’ does not name a type; did you mean ‘HardwareSerial’?”
Espero me puedan ayudar, estoy muy emocionado con poder realizarlo