Creación de una alarma de seguridad con sensor de movimiento basado en Arduino y sensores infrarrojos. Acerca del sensor de movimiento y su conexión al sensor de movimiento Arduino Gsm en el boceto de Arduino

Hoy hablaremos sobre cómo usar Arduino coleccionar sistema de seguridad... Nuestro "guardia" protegerá un circuito y controlará una sirena.

Para Arduino, esto no es un problema y, como verá en el código del programa y el diagrama del dispositivo, puede aumentar fácilmente la cantidad de puntos de acceso protegidos y la cantidad de dispositivos de advertencia o indicación.
Sistema de seguridad se puede utilizar para proteger tanto objetos grandes (edificios y estructuras) como pequeños (cajas, cajas fuertes), e incluso maletas y maletas portátiles. Aunque debes tener más cuidado con esto último, si instalas un sistema de seguridad, por ejemplo, en una maleta con la que decides irte de viaje, y el sistema de alerta se dispara en algún aeropuerto, entonces creo que tendrás una conversación seria con el servicio de seguridad local :-)

De forma simplificada, el principio de funcionamiento del dispositivo es el siguiente (Fig. 1). Después de encender la energía, el dispositivo ingresa al modo de operación y espera el armado. El armado y desarmado se realizan con un solo botón. Para aumentar la seguridad, es mejor colocar este botón dentro del área protegida (caja fuerte o caja). Antes de activar el modo de seguridad, la puerta debe estar ligeramente abierta. Cuando el modo de seguridad está activado (presionando el botón) circuito electrónico espera hasta que cierre la puerta de la habitación (puerta de la caja fuerte, tapa de la caja, etc.).

Se debe instalar un interruptor de límite de cualquier tipo en la puerta (o puerta), más sobre eso más adelante. Al cerrarse (o abrirse), el interruptor de límite informará al dispositivo que el circuito protegido está cerrado y el dispositivo cambiará al modo armado. El sistema notificará sobre la transición al modo armado con dos señales cortas (como en alarmas de coche). En este modo, el dispositivo "atrapa" la apertura de la puerta. Después de abrir la puerta, el sistema espera unos segundos (este es un valor configurable, para habitaciones unos diez segundos, para una caja uno o dos) para desarmar, si esto no sucede, la sirena se enciende. El algoritmo y el circuito están diseñados de tal manera que puede apagar la sirena solo desarmando completamente la carcasa y apagando la corriente.

Dispositivo sistema de seguridad muy simple (fig. 2). En el corazón de la tarifa Arduino... Los interruptores de límite están conectados como un botón normal a través de resistencias pull-up. Me detendré en los interruptores de límite por separado. Normalmente están cerrados y normalmente abiertos. Puede encender un botón ordinario como interruptor de límite, solo el recorrido del botón ordinario es muy grande, el juego de la puerta suele ser mayor. Por lo tanto, es necesario idear algún tipo de empujador para el botón y soltarlo para no romper el botón con la puerta. Bueno, si no es la pereza, entonces puede caminar a la tienda y comprar un interruptor magnético (interruptor de lengüeta) (Fig. 3), no le teme al polvo y la suciedad.

También es adecuado un interruptor de límite para alarmas de automóviles (Fig. 4). Cabe señalar que el programa está escrito para un interruptor de láminas. En puerta cerrada su contacto está cerrado. Si usa un interruptor de la alarma de un automóvil, cuando la puerta esté cerrada, lo más probable es que esté abierta, y en los lugares apropiados del código deberá cambiar de 0 a 1 y viceversa.

Como sirena, propongo utilizar un anunciador de sonido PKI-1 IVOLGA fabricado en Bielorrusia (Fig. 5). Tensión de alimentación de 9 a 15 V, corriente de funcionamiento de 20 a 30 mA. Esto permite que se utilice con batería. Al mismo tiempo, "emite" 95 - 105 dB.

Con tales características de la batería "Krona", sonará durante varias decenas de minutos. Lo encontré en Internet por 110 rublos. Allí, un interruptor de lengüeta con un imán cuesta unos 30 rublos. El interruptor de alarma del automóvil en autopartes se compró por 28 rublos. El transistor KT315 puede tomarse con cualquier letra o reemplazarse con cualquier transistor de silicio moderno de baja potencia de conductividad adecuada. Si el volumen de una sirena no es suficiente (quién sabe, tal vez quieras que se escuche durante muchos kilómetros), puedes conectar varias sirenas en paralelo o tomar una más potente, solo que en este caso el transistor debe ser reemplazado por un uno más potente (por ejemplo, el conocido conjunto de transistores ULN2003). Como conectores para conectar un interruptor de lengüeta y una sirena, utilicé los conectores más simples para dispositivos de audio / video: el precio en el mercado de la radio es de 5 rublos. para una pareja.

El cuerpo del dispositivo se puede pegar de plástico o madera contrachapada; si se protege un objeto serio, es mejor convertirlo en metal. Las baterías o baterías recargables deben colocarse dentro del estuche para aumentar la confiabilidad y seguridad.

Para simplificar el código del programa, no se utilizaron elementos de ahorro de energía y las baterías no son suficientes durante mucho tiempo. Puede optimizar el código, o incluso mejor, alterarlo radicalmente aplicando el manejo de eventos de interrupción y la hibernación MK. En este caso, la alimentación de dos baterías cuadradas conectadas en serie (9 V) debería durar varios meses.

Ahora el codigo

// constantes
botón int const = 12; // pin para el botón
const int gerkon = 3; // pin para interruptor de lengüeta
const int sirena = 2; // pin control de la sirena
const int led = 13; // pin indicador
// variables
int buttonState = 0; // estado del botón
int gerkonState = 0; // estado del interruptor de lengüeta
int N = 0; // contador del botón de desarmado
configuración vacía () (
// control de sirenas e indicadores - salida
pinMode (sirena, SALIDA);
pinMode (led, SALIDA); // El pulsador y el interruptor de lengüeta son entradas
pinMode (gerkon, ENTRADA);
pinMode (botón, ENTRADA);
}
bucle vacío () (
digitalWrite (led, ALTO);
while (buttonState = = 0) (// esperar el bucle hasta que presionemos el botón
buttonState = digitalRead (botón); // para cambiar al modo de seguridad
}
digitalWrite (led, BAJO);
buttonState = 0; // cero el valor del botón
while (gerkonState = = 0) (// bucle hasta que cerramos la puerta

}
retraso (500); // :-)
digitalWrite (sirena, ALTO); // El código
retraso (100); // indicaciones
digitalWrite (sirena, BAJO); // incluir
retraso (70); // modo
digitalWrite (sirena, ALTO); // Guardia
retraso (100); // alerta
digitalWrite (sirena, BAJO); // sonar
while (gerkonState = = 1) (// espera a que se abra la puerta
gerkonState = digitalRead (gerkon);
}
para (int i = 0; i<= 5; i++){ // 7,5 секунды на нажатие
buttonState = digitalRead (botón); // botón secreto
if (buttonState = = HIGH) (// realizar un seguimiento de los nuestros - extraño
N = N + 1;
}
retraso (1500); // característica secreta :-)))
}
if (N> 0) (// más importante
digitalWrite (sirena, BAJO); // no enciendas la sirena
}
demás (
digitalWrite (sirena, ALTO); // o enciende la sirena
}
digitalWrite (led, ALTO); // enciende el indicador N = 0;
buttonState = 0;
retraso (15000); // recordatorio para tontos a quienes les gusta
digitalWrite (led, BAJO); // presione los botones sin demora de interrupción (1000);

Durante la última década, los robos de automóviles han ocupado uno de los lugares más importantes en la estructura de los delitos cometidos en el mundo. Esto se debe no tanto al peso específico de esta categoría de hurto en relación al número total de delitos, sino a la importancia de los daños ocasionados por el elevado coste de los coches. La escasa efectividad de las medidas adoptadas en el ámbito de la lucha contra el robo de vehículos a finales de la década de los 90 llevó a la creación de grupos estables especializados en la comisión de estos delitos y poseedores de características distintivas crimen organizado; Probablemente haya escuchado el término "negocio de automóviles negros". El aparcamiento de los países europeos pierde anualmente el ≈ 2% de los coches que se convierten en objeto de usurpaciones delictivas. Por lo tanto, tuve la idea de hacer una alarma gsm para mi auto en Base Arduino Uno.

¡Empecemos!

Que coleccionaremos

Debemos elegir el corazón de nuestro sistema. En mi opinión, no hay nada mejor para tal señalización que el Arduino Uno. El criterio principal es una cantidad suficiente de pines y un precio.


Características clave de Arduino Uno

Microcontrolador - ATmega328
Voltaje de trabajo - 5 V
Voltaje de entrada (recomendado) - 7-12 V
Voltaje de entrada (límite) - 6-20 V
Entradas / salidas digitales: 14 (de las cuales 6 se pueden usar como salidas PWM)
Entradas analógicas - 6
Corriente CC a través de entrada / salida - 40 mA
Corriente CC para pin de 3.3 V - 50 mA
Memoria Flash: 32 KB (ATmega328) de los cuales 0,5 KB se utilizan para el gestor de arranque
RAM - 2 KB (ATmega328)
EEPROM - 1 KB (ATmega328)
Frecuencia de reloj: 16 MHz


¡Encaja!

Ahora debe seleccionar un módulo gsm, porque nuestro sistema de alarma debería poder notificar al propietario del automóvil. Entonces, necesitas buscar en Google ... Aquí, un sensor excelente: SIM800L, el tamaño es simplemente maravilloso.


Lo pensé y lo pedí desde China. Sin embargo, todo resultó no ser tan color de rosa. El sensor simplemente se negó a registrar la tarjeta SIM en la red. Se intentó todo lo que fue posible, el resultado fue cero.
Hubo gente amable que me brindó más cosas interesantes- Escudo Sim900. Esto ya es algo serio. El Shield tiene un conector para micrófono y auriculares, un teléfono completo.


Características principales de Sim900 Shield

4 estándares de frecuencia de trabajo 850/900/1800/1900 MHz
Clase 10/8 de ranuras múltiples GPRS
Estación móvil GPRS clase B
Cumple con GSM fase 2/2 +
Clase 4 (2 W @ 850/900 MHz)
Clase 1 (1 W a 1800/1900 MHz)
Controlado por comandos AT (GSM 07.07, 07.05 y comandos AT extendidos SIMCOM)
Bajo consumo de energía: 1,5 mA (modo de suspensión)
Rango de temperatura de funcionamiento: -40 ° C a +85 ° C


¡Encaja!

Ok, pero tienes que tomar lecturas de algunos sensores para notificar al propietario. De repente, el automóvil es evacuado, entonces la posición del automóvil obviamente cambiará en el espacio. Tomemos un acelerómetro y un giroscopio. Multa. Perro salchicha, ahora estamos buscando un sensor.

Creo que el GY-521 MPU6050 definitivamente encajará. Resultó que también tiene un sensor de temperatura. Sería necesario usarlo, habrá tal "característica asesina". Suponga que el dueño del automóvil lo puso debajo de la casa y se fue. La temperatura dentro del automóvil cambiará "suavemente". ¿Qué sucede si un intruso intenta entrar en un automóvil? Por ejemplo, podrá abrir la puerta. La temperatura en el automóvil comenzará a cambiar rápidamente, a medida que el aire de la cabina comience a mezclarse con el aire. ambiente... Creo que funcionará.


Características principales de GY-521 MPU6050

Módulo de giroscopio de 3 ejes + acelerómetro de 3 ejes GY-521 en el chip MPU-6050. Le permite determinar la posición y el movimiento de un objeto en el espacio, velocidad angular al girar. También tiene un sensor de temperatura incorporado. Se utiliza en varios helicópteros y modelos de aeronaves, también es posible montar un sistema de captura de movimiento basado en estos sensores.

Microcircuito - MPU-6050
Voltaje de suministro: de 3,5 V a 6 V (CC);
Rango del giroscopio - ± 250500 1000 2000 ° / s
Rango del acelerómetro - ± 2 ± 4 ± 8 ± 16g
Interfaz de comunicación - I2C
Tamaño - 15x20 mm.
Peso - 5 g


¡Encaja!

Un sensor de vibraciones también es útil. De repente, intentarán abrir el coche con "fuerza bruta" o, en el aparcamiento, otro coche tocará tu coche. Coge el sensor de vibraciones SW-420 (ajustable).


Características principales SW-420

Voltaje de suministro - 3.3 - 5V
Señal de salida: digital alta / baja (normalmente cerrada)
Sensor usado - SW-420
Comparador utilizado - LM393
Dimensiones: 32x14 mm
Además, hay una resistencia de ajuste.


¡Encaja!

Atornille el módulo de la tarjeta de memoria SD. También escribiremos un archivo de registro.


Características principales del módulo de tarjeta de memoria SD

El módulo le permite almacenar, leer y escribir en la tarjeta SD los datos necesarios para el funcionamiento del dispositivo basado en el microcontrolador. El uso del dispositivo es relevante cuando se almacenan archivos de decenas de megabytes a dos gigabytes. La placa contiene un contenedor de tarjeta SD, un estabilizador de energía de la tarjeta, un enchufe para la interfaz y líneas eléctricas. Si necesita trabajar con sonido, video u otros datos volumétricos, por ejemplo, para mantener un registro de eventos, datos de sensores o almacenar información de un servidor web, entonces el módulo de tarjeta de memoria SD para Arduino hará posible el uso de una tarjeta SD. tarjeta para estos fines. Con el módulo, puede estudiar las características de la tarjeta SD.
Voltaje de suministro - 5 o 3,3 V
Capacidad de memoria de la tarjeta SD: hasta 2 GB
Dimensiones: 46 x 30 mm


¡Encaja!

Y agregue un servo, cuando se activen los sensores, el servo con el DVR girará y grabará un video del incidente. Toma el servo MG996R.


Características principales del servo MG996R

Estable y protección confiable de daño
- Impulsión de metal
- Rodamiento de bolas de doble hilera
- Longitud del cable 300 mm
- Dimensiones 40x19x43mm
- Masa 55 gr
- Ángulo de rotación: 120 grados.
- Velocidad de trabajo: 0,17 segundos / 60 grados (4,8 V sin carga)
- Velocidad de trabajo: 0,13 segundos / 60 grados (6 V sin carga)
- Par de arranque: 9,4 kg / cm a una fuente de alimentación de 4,8 V
- Par de arranque: 11 kg / cm a una fuente de alimentación de 6 V
- Voltaje de funcionamiento: 4,8 - 7,2 V
- Todas las partes de la transmisión están hechas de metal.


¡Encaja!

Nosotros coleccionamos

Hay muchos artículos sobre la conexión de cada sensor en Google. Y no tengo ganas de proponer nuevas bicicletas, así que dejaré enlaces a opciones sencillas y funcionales.

Hola a todos, hoy vamos a ver un dispositivo llamado sensor de movimiento. Muchos de nosotros hemos oído hablar de esto, alguien incluso se ocupó de este dispositivo. ¿Qué es un sensor de movimiento? Intentemos resolverlo, entonces:

Sensor de movimiento o sensor de desplazamiento - un dispositivo (dispositivo) que detecta el movimiento de cualquier objeto. Muy a menudo, estos dispositivos se utilizan en sistemas de seguridad, alarma y monitoreo. Hay muchas formas de factores de estos sensores, pero consideraremos precisamente el módulo de sensor de movimiento para conectar a las placas. Arduinoy es de la firma RobotDyn. ¿Por qué esta empresa en particular? No quiero publicitar esta tienda y sus productos, pero fueron los productos de esta tienda los que fueron elegidos como muestras de laboratorio debido a la presentación de alta calidad de sus productos al consumidor final. Entonces, nos encontramos - el sensor de movimiento(Sensor PIR) de RobotDyn:


Estos sensores son de tamaño pequeño, consumen poca energía y son fáciles de usar. Además, los sensores de movimiento de RobotDyn también tienen contactos marcados con serigrafía, lo cual es ciertamente un poco insignificante, pero muy agradable. Bueno, aquellos que usan los mismos sensores, pero solo de otras compañías, no deben preocuparse: todos tienen la misma funcionalidad, e incluso si los contactos no están marcados, el pinout de dichos sensores es fácil de encontrar en Internet.

El principal especificaciones sensor de movimiento (sensor PIR):

Área de trabajo del sensor: de 3 a 7 metros

Ángulo de seguimiento: hasta 110 o

Voltaje de funcionamiento: 4,5 ... 6 voltios

Corriente de consumo: hasta 50 μA

Nota: La funcionalidad estándar del sensor se puede ampliar conectando un sensor de luz a los pines IN y GND, y luego el sensor de movimiento solo funcionará en la oscuridad.

Inicialización del dispositivo.

Cuando se enciende, el sensor tarda casi un minuto en inicializarse. Durante este período, el sensor puede dar señales falsas, esto debe tenerse en cuenta al programar el microcontrolador con el sensor conectado a él, o en los circuitos de los dispositivos ejecutivos, si la conexión se realiza sin usar el microcontrolador.

Ángulo y área de detección.

El ángulo de detección (seguimiento) es de 110 grados, el rango de distancia de detección es de 3 a 7 metros, la siguiente ilustración muestra todo esto:

Ajuste de sensibilidad (distancia de detección) y retardo de tiempo.

La siguiente tabla muestra los principales ajustes del sensor de movimiento, a la izquierda hay un regulador de retardo de tiempo, respectivamente, en la columna de la izquierda hay una descripción de los posibles ajustes. La columna de la derecha describe los ajustes de la distancia de detección.


Conexión del sensor:

  • Sensor PIR - Arduino Nano
  • Sensor PIR - Arduino Nano
  • Sensor PIR - Arduino Nano
  • Sensor PIR - para sensor de luz
  • Sensor PIR - para sensor de luz

En el diagrama siguiente se muestra un diagrama de conexión típico, en nuestro caso, el sensor se muestra convencionalmente con parte trasera y conectado a la placa Arduino Nano.

Un boceto que demuestra el funcionamiento del sensor de movimiento (use el programa):

/ * * Sensor PIR -> Arduino Nano * Sensor PIR -> Arduino Nano * Sensor PIR -> Arduino Nano * / void setup () (// Establezca una conexión con el monitor del puerto serie.begin (9600);) void loop ( ) (// Leer el valor de umbral del puerto A0 // normalmente es superior a 500 si hay una señal if (analogRead (A0)> 500) (// Señal del sensor de movimiento Serial.println ("¡Hay movimiento! !! ");) else (/ / No hay señal Serial.println (" Todo está en silencio ... ");))

El boceto es una prueba de rutina del sensor de movimiento, tiene muchos inconvenientes, tales como:

  1. Posibles falsas alarmas, el sensor debe autoinicializarse en un minuto.
  2. Enlace rígido al monitor de puerto, sin dispositivos ejecutivos de salida (relé, sirena, indicación de luz)
  3. Demasiado un tiempo corto señal en la salida del sensor, cuando se detecta movimiento, es necesario retrasar programáticamente la señal para más período largo hora.

Al complicar el circuito y expandir la funcionalidad del sensor, se pueden evitar las desventajas anteriores. Para hacer esto, deberá complementar el circuito con un módulo de relé y conectar una lámpara ordinaria de 220 voltios a través de este modulo... El módulo de relé en sí se conectará al pin 3 de la placa Arduino Nano. Entonces el diagrama esquemático:

Ahora es el momento de perfeccionar el boceto utilizado para probar el sensor de movimiento. Es en el boceto donde se implementará el retardo de apagado del relé, ya que el sensor de movimiento en sí tiene un tiempo de señal demasiado corto en la salida cuando se activa. El programa implementa un retraso de 10 segundos cuando se activa el sensor. Si lo desea, este tiempo se puede aumentar o disminuir cambiando el valor de la variable DelayValue... A continuación se muestra un boceto y un video del trabajo del conjunto. circuito ensamblado:

/ * * Sensor PIR -> Arduino Nano * Sensor PIR -> Arduino Nano * Sensor PIR -> Arduino Nano * Módulo de relé -> Arduino Nano * / // relout - pin (señal de salida) para el módulo de relé const int relout = 3 ; // prevMillis - variable para almacenar el tiempo del ciclo de exploración del programa anterior // intervalo - intervalo de tiempo para contar los segundos hasta que el relé se apaga unsigned long prevMillis = 0; int intervalo = 1000; // DelayValue - el período durante el cual el relé se mantiene en el estado encendido int DelayValue = 10; // initSecond - Variable de iteración del ciclo de inicialización int initSecond = 60; // countDelayOff - contador de intervalos de tiempo static int countDelayOff = 0; // disparador - bandera del sensor de movimiento que activa el disparador bool estático = falso; void setup () (// El procedimiento estándar para inicializar el puerto al que está conectado el módulo de relé // ¡¡¡IMPORTANTE !!! - para que el módulo de relé permanezca en el estado inicialmente apagado // y no se active durante la inicialización, es necesario escribir el valor ALTO en el puerto de E / S //, esto evitará un falso "volteo" y guardará // el estado del relé como estaba antes de que todo el circuito se activara pinMode (relout, OUTPUT ); digitalWrite (relout, HIGH); // Aquí todo es simple - esperamos hasta el final de 60 ciclos (variable initSecond) // que dura 1 segundo, durante este tiempo el sensor se "autoinicializa" para (int i = 0 ; I< initSecond; i ++) { delay(1000); } } void loop() { //Считать значение с аналогового порта А0 //Если значение выше 500 if(analogRead(A0) >500) (// Establecer el indicador de disparo del sensor de movimiento if (! Trigger) (trigger = true;)) // Mientras el indicador de disparo del sensor de movimiento está configurado while (trigger) (// Ejecutar las siguientes instrucciones // Almacenar en el currMillis variable // valor en milisegundos transcurrido desde el inicio de // ejecución del programa unsigned long currMillis = millis (); // Compare con el valor anterior de milisegundos // si la diferencia es mayor que el intervalo especificado, entonces: if (currMillis - prevMillis > intervalo) (// Almacenamos el valor actual de milisegundos en una variable prevMillis prevMillis = currMillis; // Comprobamos el contador de retardo comparándolo con el valor del período // durante el cual el relé debe mantenerse en estado activado / / if (countDelayOff> = DelayValue) (// Si el valor es igual, entonces: // restablecer el movimiento de la bandera de activación del sensor trigger = false; // Restablecer el contador de retardo countDelayOff = 0; // Apagar el relé digitalWrite (relout , HIGH); // Abortar la ruptura del bucle;) else (// Si el valor es aún menor, entonces // Incrementar el contador de retardo en un countDelayOff ++; // Mantenga el relé en digitalWrite (relout, LOW); ))))

El programa contiene una construcción:

unsigned long prevMillis = 0;

int intervalo = 1000;

...

currMillis largo sin firmar = millis ();

si (currMillis - prevMillis> intervalo)

{

prevMillis = currMillis;

....

// Nuestras operaciones están encerradas en el cuerpo de la estructura

....

}

Para aclarar, se decidió comentar por separado sobre esta construcción. Entonces, este diseño le permite realizar una especie de tarea paralela en el programa. El cuerpo de la estructura se activa aproximadamente una vez por segundo, esto es facilitado por la variable intervalo... Primero, la variable currMillis asignó el valor devuelto al llamar a la función millis ()... Función millis () devuelve el número de milisegundos desde el comienzo del programa. Si la diferencia currMillis - prevMillis mayor que el valor de la variable intervalo entonces esto significa que ha pasado más de un segundo desde el inicio de la ejecución del programa, y ​​necesita almacenar el valor de la variable currMillis en una variable prevMillis luego realice las operaciones encerradas en el cuerpo de la estructura. Si la diferencia currMillis - prevMillis menor que el valor de la variable intervalo, entonces todavía no ha pasado un segundo entre los ciclos de exploración del programa y se omiten las operaciones incluidas en el cuerpo de la estructura.

Bueno, al final del artículo, un video del autor:

Habilite javascript para que los comentarios funcionen.

Este proyecto se refiere al desarrollo y mejora de un sistema para prevenir / controlar cualquier intento de entrada por parte de ladrones. Desarrollado por dispositivo de seguridad Utiliza un sistema integrado (incluye un microcontrolador de hardware que utiliza software de código abierto y un módem gsm) basado en tecnología GSM (Sistema global para comunicaciones móviles).

Se puede instalar un dispositivo de seguridad en la casa. Sensor de interfaz alarma antirrobo también conectado a un sistema de seguridad basado en controlador.
Cuando se intenta penetrar, el sistema envía un mensaje de advertencia (por ejemplo, sms) al propietario en teléfono móvil oa cualquier teléfono móvil preconfigurado para su posterior procesamiento.

El sistema de seguridad consta de un microcontrolador Arduino Uno y un módem estándar SIM900A basado en GSM / GPRS. Todo el sistema puede ser alimentado por cualquier fuente de alimentación / batería de 12V 2A.

A continuación se muestra un diagrama de un sistema de seguridad basado en Arduino.

El funcionamiento del sistema es muy sencillo y autoexplicativo. Cuando se aplica energía al sistema, entra en modo de espera. Cuando los pines del conector J2 están en cortocircuito, se envía un mensaje de advertencia preprogramado al número de móvil requerido. Puede conectar cualquier detector de intrusión (como un protector de luz o un detector de movimiento) al conector de entrada J2. Tenga en cuenta que la señal activa baja (L) en el pin 1 de J2 activará la alarma antirrobo.

Además, se ha añadido al sistema un dispositivo opcional de "alarma de llamada". Activa llamada telefónica cuando el usuario presiona el botón S2 (o cuando otra unidad electrónica activa una alarma). Después de presionar el botón "llamar" (S2), la llamada puede cancelarse presionando otro botón S3 - el botón "finalizar". Esta opción se puede utilizar para generar una alarma de "llamada perdida" en caso de intrusión.

El circuito es muy flexible, por lo que puede utilizar cualquier módem SIM900A (y por supuesto Placa arduino Uno). Lea atentamente la documentación de su módem antes de comenzar a ensamblar. Esto hará que el proceso de hacer el sistema sea más fácil y agradable.

Lista de radioelementos

Designacion Un tipo Denominación Cantidad NotaPuntajeMi cuaderno
Placa arduino

Arduino Uno

1 En el bloc de notas
Módem GSM / GPRSSIM900A1 En el bloc de notas
IC1 Regulador lineal

LM7805

1 En el bloc de notas
C1 100μF 25V1 En el bloc de notas
C2 Capacitor electrolítico10mkF 16V1 En el bloc de notas
R1 Resistor

1 kΩ

1 En el bloc de notas
LED1 Diodo emisor de luz 1 En el bloc de notas
S1 BotónCon fijación1

Alarma GSM en Arduino

En este artículo, aprenderá cómo (comprar) hacer usted mismo un sistema de alarma GSM con usando GSM El módulo y Arduino son muy baratos. El objeto de protección del sistema de alarma GSM es ideal para una residencia de verano, casa, garaje, apartamento.


Paso 1: elementos
Para este proyecto necesitará:


Escudo GSM

Zumbador
Sirena de alarma 12V
Fuente de alimentación 12V

Teclado arduino
Marco.

Paso 2: Conexión de los componentes


Primero pones Módulo GSM en el Arduino Uno, deberá soldar los cables GND y VCC junto con los dos sensores, un zumbador y la entrada del módulo de relé. Luego conecte estos cables soldados al conector correspondiente en el blindaje GSM. A continuación, creará un conector de E / S de señal a partir de estas partes, y lo último que debe hacer es conectar un teclado

Terminales Arduino Uno / GSM:

Conclusión 0: no vinculado;
Conclusión 1: no vinculado;
Pin 2: desatado (GSM utilizará este pin);
Pin 3: desatado (GSM utilizará este pin);
Pin 4: la última línea usando el teclado (pin del teclado 4 - desde 8);
Conclusión 5: no vinculado;
Pin 6: segunda columna usando el teclado (pin del teclado 6 - desde 8);
Conclusión 7: la tercera columna del teclado (teclados del dedo 7 - de 8);
Pin 8: desatado (GSM utilizará este pin);
Pin 9: desatado (GSM utilizará este pin);
Conclusión 10: datos del sensor PIR nº 2;
Conclusión 11: señal de sonido de sirena (va a la entrada del módulo de relés);
Conclusión 12: datos del sensor PIR # 1;
Pin 13: Entrada de señal de zumbador;

Como puede ver, aunque el teclado tiene 8 pines, solo tres están conectados (una fila y dos columnas, lo que permite leer dos números, matrices 1 × 2), por lo que puedo hacer contraseñas usando estos tres cables, y hay no es necesario utilizar todos los contactos del teclado. Esto se debe a que después de que el sensor de movimiento detecta a una persona caminando en la habitación, la persona solo tendrá 5 segundos para apagar la alarma. Después de que la alarma no suena en un momento dado, el escudo GSM le envía un SMS o llama a su número de teléfono. El Arduino ha sido programado para hacer una llamada y tan pronto como conteste el teléfono, cuelga.

Por supuesto, puede obtener lecturas de sensor falsas, por lo que hay una opción para deshabilitar la alarma simplemente enviando SMS desde su teléfono al Arduino. Además, otra opción que puede hacer es configurar su escudo para que le envíe un mensaje al día para que sepa que está funcionando correctamente.

Paso 3: Código

Simplemente descargue el siguiente código y compile. Utiliza las bibliotecas Keypad.hy GSM.h.
Descargar archivo: (Descargas: 181)
Descargar archivo: (Descargas: 104)

Paso 4: Conclusión


Dado que el código Arduino Uno enviará mensajes SMS y hará sonar su teléfono en solo cinco segundos después de que alguien ingrese a su casa, supongo que tendrá tiempo suficiente para llamar a la policía. Por supuesto, la sirena ahuyentará a los ladrones y su casa u otras instalaciones se volverán más seguras con la ayuda de este artículo.