0% encontró este documento útil (0 votos)
5 vistas5 páginas

Alarma de Apertura con Arduino y SIM800L

El documento describe un código de Arduino para implementar una alarma de apertura que activa un zumbador cuando se detecta una apertura y también puede realizar llamadas o enviar mensajes de texto. El código utiliza un sensor de apertura, un zumbador, un módulo SIM y un Arduino.

Cargado por

stebanalex22
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas5 páginas

Alarma de Apertura con Arduino y SIM800L

El documento describe un código de Arduino para implementar una alarma de apertura que activa un zumbador cuando se detecta una apertura y también puede realizar llamadas o enviar mensajes de texto. El código utiliza un sensor de apertura, un zumbador, un módulo SIM y un Arduino.

Cargado por

stebanalex22
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

INFORME: IMPLEMENTACIÓN DE CÓDIGO PARA ALERTA DE ALARMA DE

APERTURA CON ARDUINO


Nombre: Esteban Alexander Viracucha Puetate.

Fecha: 12-02-2024.

Codigo:

#include <SoftwareSerial.h>
// Crear objeto de comunicación serie por software para comunicarse con el módulo SIM800L
SoftwareSerial mySerial(3, 2); // Tx & Rx del SIM800L conectados a los pines #3 y #2 del
Arduino
#define sensor A3
#define buzzer 6
void setup()
{
// Configurar los pines del sensor y del zumbador
pinMode(sensor, INPUT);
pinMode(buzzer, OUTPUT);
// Iniciar comunicación serie con el monitor serie del Arduino
[Link](9600);
// Iniciar comunicación serie con el módulo SIM800L
[Link](9600);
// Imprimir mensaje de inicialización en el monitor serie
[Link]("Inicializando...");
delay(1000);
// Enviar comando AT al módulo SIM800L para probar la conexión
[Link]("AT"); // Se espera un "OK" si la comunicación es exitosa
updateSerial();
// Esperar hasta que el sensor cambie su estado (de acuerdo a cómo está conectado
físicamente)
while(digitalRead(sensor) == 1)
{
// No hace nada mientras el sensor está activado
}
// Activar el zumbador
tone(buzzer, 500);
// Llamar a la función llamar() para realizar una llamada telefónica
llamar();
// Desactivar el zumbador
noTone(buzzer);
}
void loop()
{
// El bucle principal está vacío ya que la funcionalidad principal se ejecuta en el setup()
}
// Función para realizar una llamada telefónica
void llamar()
{
// Enviar el comando ATD seguido del número de teléfono al que se desea llamar
[Link]("ATD+ +593996595979;"); // El número de teléfono debe reemplazarse por
el número al que se desea llamar
updateSerial();
// Esperar 15 segundos (tiempo suficiente para que la llamada se realice)
delay(15000);
// Enviar el comando ATH para finalizar la llamada
[Link]("ATH"); // Comando para colgar la llamada
delay(1000);
updateSerial();
}
// Función para enviar un mensaje de texto
void sms()
{
// Configurar el módulo SIM800L en modo texto
[Link]("AT+CMGF=1"); // Configuración para modo texto
delay(100);
// Enviar comando AT+CMGS seguido del número de teléfono al que se desea enviar el
mensaje
[Link]("AT+CMGS=\"+593996595979\""); // El número de teléfono debe
reemplazarse por el número al que se desea enviar el mensaje
delay(100);
// Enviar el contenido del mensaje (en este caso, "ON")
[Link]("ON"); // Contenido del mensaje
delay(100);
// Enviar Ctrl+Z para indicar el final del mensaje
[Link](26); // Ctrl+Z
delay(100);
}
// Función para actualizar la comunicación serie entre el monitor serie del Arduino y el módulo
SIM800L
void updateSerial()
{
// Esperar un corto período de tiempo para permitir que los datos se envíen completamente
delay(500);
// Leer datos del monitor serie y enviarlos al módulo SIM800L
while ([Link]())
{
[Link]([Link]());
}
// Leer datos del módulo SIM800L y enviarlos al monitor serie
while([Link]())
{
[Link]([Link]());
}
}
El código proporcionado tiene como objetivo principal detectar la apertura de un sensor y
activar una alarma de manera simultánea. Para esto, se utiliza un Arduino junto con un sensor
de apertura y un zumbador. Cuando el sensor detecta una apertura, el zumbador emite un
sonido de alarma. Este código es ideal para implementaciones de seguridad doméstica o
monitoreo de acceso.

Componentes Utilizados:

- Arduino Uno
- Sensor de apertura

- buzz

- LM2596

- MODULO SIM

- Conexiones eléctricas (cables, resistencias, etc.)

Detalles de Implementación:

1. Inclusión de Bibliotecas:

- Se incluye la biblioteca `SoftwareSerial.h`, que permite la comunicación serie por software


necesaria para interactuar con el módulo SIM800L.

2. Definición de Pines:

- Se define el pin del sensor de apertura y el pin del zumbador para facilitar su referencia en el
código.

3. Configuración Inicial:

- En la función `setup()`, se establecen los pines del sensor y del zumbador como entrada y
salida, respectivamente.

- Se inicia la comunicación serie con el monitor serie del Arduino y con el módulo SIM800L a
una velocidad de 9600 baudios.

- Se realiza una prueba de conexión enviando el comando AT al módulo SIM800L.

4. Activación de la Alarma:

- Cuando el sensor detecta una apertura (cambio en el estado), se activa la alarma.

- Se emite un sonido de alarma utilizando la función `tone()` para activar el zumbador.

5. Función de Actualización Serial:

- La función `updateSerial()` se utiliza para mantener la comunicación entre el monitor serie


del Arduino y el módulo SIM800L.

- Lee los datos que llegan del monitor serie y los envía al módulo SIM800L, y viceversa.

6. Bucle Principal:
- El `loop()` está vacío ya que la funcionalidad principal se ejecuta en la función `setup()` cuando
se detecta una apertura en el sensor.

Conclusiones:

Este código proporciona una solución simple pero efectiva para alertar sobre la apertura de una
puerta, ventana u otro dispositivo utilizando un Arduino. La implementación es económica y
fácil de configurar, lo que la hace adecuada para aplicaciones de seguridad residencial o de
pequeñas empresas.

Anexos:

También podría gustarte