» Electrónica » Arduino »Hacemos la señalización más simple en GSM SIM800L y Arduino para dar, garaje

Hacemos la señalización más simple en GSM SIM800L y Arduino para dar, garaje


Con el inicio de la temporada de verano, era necesario proteger la casa de campo. Quería hacer una alarma antirrobo simple pero confiable con una señal transmitida a un teléfono celular. Se decidió ensamblar un dispositivo con transmisión de alarma a un teléfono celular basado en electronica placas de circuito compradas en AliExpress. Como dicen barato pero alegre. Los elementos principales de este diseño son el módulo GSM SIM800L y la placa Arduino (puede usar cualquier Nano, Uno, Pro Mini y similares).

El dispositivo tiene cinco entradas de alarma para sensores de contacto. Se pueden conectar uno o varios sensores conectados en serie a cada entrada. En un boceto, asigne un nombre a cada bucle de seguridad (por ejemplo, una puerta de entrada, ventana 1, ventana 2, etc.). El dispositivo de seguridad funciona así: cuando el circuito eléctrico del primer bucle se interrumpe, la unidad primero llama al primer teléfono del suscriptor, luego detiene la llamada y también al número 2. No. 2 es necesario en vista del hecho de que si de repente el primer suscriptor está fuera de línea o la batería y otros problemas están enganchados) Si se activa el bucle que sigue al primero, se envía un mensaje SMS con el nombre del bucle que funcionó, en el mismo caso, a ambos números de suscriptor.

Enumeración de herramientas y materiales.
batería de iones de litio de un teléfono antiguo 3.7V \ 1600mA-1pc
-los cables de conexión;
soldador
probador
-caja de plástico transparente -1pcs;
pago Arduino Nano -1 piezas;
-resistencias 10kOhm-7pcs;
- placa de pruebas de lámina de textolita;
- Interruptor de encendido 1pcs;
- Módulo SIM800L -1pcs;
- tabla de bajada 1-2A -1pcs;
- conectores de terminal.

Primer paso. Montaje de un circuito de dispositivo GSM de seguridad.
Esquema de fotos.


Soldamos las almohadillas enchufables para el módulo GSM SIM800L y el módulo Arduino en la placa de prueba, esto simplifica la instalación y facilita la sustitución de módulos si es necesario. Resistencias de soldadura y otras conexiones. Las resistencias del pin RX del módulo SIM800L están conectadas a la entrada digital Arduino D3 para que coincida con el voltaje de las entradas de ambos módulos. Las entradas Arduino D4-D8 se extraen a través de resistencias. El interruptor está montado en el espacio de la fuente de alimentación del módulo SIM800 GSM y la placa Arduino para armar todo el sistema. El uso de una batería, que permitirá que el dispositivo funcione durante dos tres días en ausencia de una red de 220 V.En mi caso, el convertidor de voltaje del voltaje de 12 V produce un voltaje de 4.2 V y al mismo tiempo carga la batería (puede usar otra placa, por ejemplo TP4056 con protección).

Segundo paso. Programación del dispositivo.
En la tarjeta SIM, se deben eliminar los códigos PIN y todas las funciones innecesarias.Aún así, primero debe configurar el módulo SIM800L en sí. Hay muchos videos sobre este tema en la red, no hay nada complicado al respecto. En el boceto indicamos sus números de teléfono, ajustamos los nombres de las zonas de seguridad, puede establecer el tiempo para monitorear el sistema (si el dispositivo funciona correctamente después de un tiempo específico, aparecerá un SMS de control). Rellene el boceto en Arduino y verifique el funcionamiento del dispositivo.

Bosquejo:


String numberCall_1 = "79123456789"; // Número de abonado №1 para una llamada
String numberSMS_1 = "+79123456789"; // Número de suscriptor n. ° 1 para SMS (solo difiere en el signo +)

String numberCall_2 = "79123456782"; // Suscriptor número 2 para una llamada
String numberSMS_2 = "+79123456782"; // Número de suscriptor n. ° 2 para SMS (solo difiere en el signo +)

String textZone_1 = "¡Alarma! Zona1"; // Su nombre está en latín.
String textZone_2 = "¡Alarma! Zona2"; // Su nombre está en latín.
String textZone_3 = "Alarma! Zone3"; // Su nombre está en latín.
String textZone_4 = "Alarma! Zone4"; // Su nombre está en latín.

#include 
SoftwareSerial mySerial (2, 3);

#define pinSensor_0 4
#define pinSensor_1 5
#define pinSensor_2 6
#define pinSensor_3 7
#define pinSensor_4 8

nulo initGSM (nulo) {
  retraso (2000);
  mySerial.begin (9600); // Establezca la velocidad de comunicación con el módulo GSM 9600 Baud / seg.
  mySerial.println ("AT + CLIP = 1");
  retraso (300);
  mySerial.println ("AT + CMGF = 1");
  retraso (300);
  mySerial.println ("AT + CSCS = \" GSM \ "");
  retraso (300);
  mySerial.println ("AT + CNMI = 2,2,0,0,0");
  retraso (300);
}

/ * Envío de SMS * /
nulo sendSMS (texto de cadena, teléfono de cadena) {
  mySerial.println ("AT + CMGS = \" "+ phone +" \ "");
  retraso (500);
  mySerial.print (texto);
  retraso (500);
  mySerial.print ((char) 26);
  retraso (2500);
}


unsigned long timerTemp = 0;
uint8_t horas = 0;

uint8_t flagSensor_0 = 0;
uint8_t flagSensor_1 = 0;
uint8_t flagSensor_2 = 0;
uint8_t flagSensor_3 = 0;
uint8_t flagSensor_4 = 0;

configuración nula () {
  mySerial.begin (9600);
  initGSM ();
  
  pinMode (pinSensor_0, INPUT);
  pinMode (pinSensor_1, INPUT);
  pinMode (pinSensor_2, INPUT);
  pinMode (pinSensor_3, INPUT);
  pinMode (pinSensor_4, INPUT);

  timerTemp = millis ();
}

bucle vacío () {
    if (millis () - timerTemp> = 3600000) {timerTemp = millis (); horas ++;}

  if (hours> = 144) {// Cambia el tiempo de control del sistema a nuestro propio número de 144 horas.
    sendSMS (String ("El sistema funciona normalmente.OK"), númeroSMS_1);
    retraso (10000);
    sendSMS (String ("El sistema funciona normalmente.OK"), númeroSMS_2);
    retraso (10000);
    horas = 0;
    timerTemp = millis ();
  }
 
  if (flagSensor_0 == 0 && digitalRead (pinSensor_0) == 0) flagSensor_0 = 1;
  if (flagSensor_1 == 0 && digitalRead (pinSensor_1) == 0) flagSensor_1 = 1;
  if (flagSensor_2 == 0 && digitalRead (pinSensor_2) == 0) flagSensor_2 = 1;
  if (flagSensor_3 == 0 && digitalRead (pinSensor_3) == 0) flagSensor_3 = 1;
  if (flagSensor_4 == 0 && digitalRead (pinSensor_4) == 0) flagSensor_4 = 1;

  if (flagSensor_0 == 1) {
    Comando de cadena;

    comando = "ATD +" + numberCall_1 + ";"
    mySerial.println (comando);
    retraso (20000);
    mySerial.println ("ATH");
    retraso (1000);

   
    comando = "ATD +" + numberCall_2 + ";";
    mySerial.println (comando);
    retraso (20000);
    mySerial.println ("ATH");
    retraso (1000);

    flagSensor_0 = 2;
  }


  if (flagSensor_1 == 1) {
    sendSMS (textZone_1, numberSMS_1);
    retraso (10000);
    sendSMS (textZone_1, numberSMS_2);
    retraso (10000);
    flagSensor_1 = 2;
  }


  if (flagSensor_2 == 1) {
    sendSMS (textZone_2, numberSMS_1);
    retraso (10000);
    sendSMS (textZone_2, numberSMS_2);
    retraso (10000);
    flagSensor_2 = 2;
  }


  if (flagSensor_3 == 1) {
    sendSMS (textZone_3, numberSMS_1);
    retraso (10000);
    sendSMS (textZone_3, numberSMS_2);
    retraso (10000);
    flagSensor_3 = 2;
  }


  if (flagSensor_4 == 1) {
    sendSMS (textZone_4, numberSMS_1);
    retraso (10000);
    sendSMS (textZone_4, numberSMS_2);
    retraso (10000);
    flagSensor_4 = 2;
  }

  if (flagSensor_0 == 2 && digitalRead (pinSensor_0)! = 0) flagSensor_0 = 0;
  if (flagSensor_1 == 2 && digitalRead (pinSensor_1)! = 0) flagSensor_1 = 0;
  if (flagSensor_2 == 2 && digitalRead (pinSensor_2)! = 0) flagSensor_2 = 0;
  if (flagSensor_3 == 2 && digitalRead (pinSensor_3)! = 0) flagSensor_3 = 0;
  if (flagSensor_4 == 2 && digitalRead (pinSensor_4)! = 0) flagSensor_4 = 0;
}


Paso tres. Comprobando el estado del dispositivo.
Hacemos la señalización más simple en GSM SIM800L y Arduino para dar, garaje

Cuando se aplica energía, mientras el módulo SIM800L y la placa Arduino se están cargando, tiene aproximadamente 20 segundos para salir de la habitación protegida. En el módulo SIM800L, el LED indica la actividad de la red; a menudo busca una red; una vez cada cinco segundos indica el funcionamiento de la red. Cuando el dispositivo encuentre una red, desconecte las entradas de seguridad correspondientes, después de esto habrá un marcado o envío de SMS. Entonces el dispositivo está funcionando bien.

Foto SMS. Será posible incluir cualquier detector de seguridad con salidas en forma de contactos, relés de actuadores, solo de acuerdo con sus necesidades e imaginación. En general, fabricamos un dispositivo de seguridad simple. Tal vigilante casero se puede hacer para organizar la protección de cualquier objeto. Para encender el dispositivo de alarma, debe suministrar 4,2 voltios a través del interruptor en el SIM800 y Arduino. En la primera entrada, pasará una llamada al suscriptor n. ° 1, después de lo cual cambiará al n. ° 2. Se proporciona el número 2 adicional para la duplicación. El número de bucle abierto 2,3,4,5 realiza la emisión de SMS con el nombre específico del bucle roto, respectivamente, en ambos teléfonos. Colocaremos todos los tableros en cualquiera de los casos adecuados. En general, creo que este es un buen dispositivo interesante que puede desarrollarse aún más: agregue las funciones de un socket GSM, control DMTF y mucho más.

Se pueden ver más detalles en el video

¡Les deseo a todos salud y éxito en la vida y el trabajo!
8.8
8.4
8.4

Agrega un comentario

    • sonriesonrisasxaxaokno sabesyahoonea
      jeferascarsetontosisi-siagresivosecreto
      lo sientobailardance2dance3perdónayudabebidas
      pararamigosbuenobuenosilbatodesmayarselengua
      fumaraplaudirllorardeclararburlóndon-t_mentiondescargar
      calorfuriosorisa1mdareuniónMoskingnegativo
      not_ipalomitas de maizcastigarleerasustarasustabuscar
      burlagraciasestoto_clueumnikagudode acuerdo
      malbeeeojo negroblum3ruborpresumiraburrimiento
      censuradocortesíasecreto2amenazarvictoriaYusun_bespectacled
      shokrespektjajajaPrevedbienvenidokrutoyya_za
      ya_dobryiayudantene_huliganne_othodigolpearprohibircerrar
3 comentario
Alexander invitado
Hay una pregunta, ¿se necesitan resistencias de 10kΩ 10W o ​​0.25W o qué?
Buen dia ¿Pero puedo agregar algo para que con un acceso telefónico exitoso, las entradas se bloqueen? para evitar la marcación cíclica en presencia de un nivel bajo en una de las entradas!
puede usar otra placa, por ejemplo TP4056 con protección
No es posible pero necesita. Además, no de todos modos, pero, como se dice con razón, con protección, es decir, además de TP4056, debería haber dos IC más pequeños, incluido DW01 o su análogo.
Además de los bucles de seguridad, es muy deseable controlar el voltaje en la entrada de TP4056.

Le recomendamos que lea:

Pásalo por el teléfono inteligente ...