Ir a contenido
Tienda de electrónica en México. Whatsapp. 33 26 13 22 69 Tel. (33) 20 16 51 95. Atención de Lunes a Viernes de 9:30am a 5:30pm.
Tienda de electrónica en México. Whatsapp. 33 26 13 22 69 Tel. (33) 20 16 51 95. Atención de Lunes a Viernes de 9:30am a 5:30pm.
¿Como mandar SMS desde arduino y SIM800L?

¿Como mandar SMS desde arduino y SIM800L?

El modulo sim800L sirve para mandar mensajes de texto (SMS), hacer llamadas, enviar y recibir datos GPRS (TCP/IP, HTTP).

Material

Especificaciones

  • Voltaje de Operación: 3.4V - 4.4V DC
  • Nivel Lógico de 3V a 5V
  • Consumo de corriente (máx): 500 mA
  • Consumo de corriente (modo de reposo): 0.7 mA
  • Interfaz: Serial UART
  • Quad-band 850/900/18
  • Velocidades de transmisión serial desde 1200bps hasta 115 200 bps
  • SIM: Micro SIM

Desarrollo

Para poder mandar un SMS a un numero especifico es necesario configurar el módulo. Para ello se utilizan comandos AT específicos. Los comandos más útiles son los siguientes.

Comandos AT

  • println("AT"); //Verifica que el modulo responda con OK.
  • println("ATI"); //Muestra la versión del modulo.
  • println("AT+CSQ"); // Calidad de la señal, 0-31.
  • println("AT+CBC"); // Regresa el status de la batería, % y voltaje.
  • println("AT+CMGF=1 "); //Activa el modo sms.

Diagrama de conexión

Opción fuente de alimentación con step down

Opción 2 con batería lipo 1celda

 

Nota: Cuando el sim800L se conecte a la red el led comenzara a parpadear lento. En cambio, si no tiene señal el led parpadea rápidamente.

Buscando señal. 

 

Conexión establecida.

Para poder mandar comandos AT vamos a crear simular un nuevo puerto serial utilizando la librería softwareserial.h

Por ese puerto mandaremos los comandos AT necesarios para mandar un msj. Vamos a crear una función para que mande msj, la función necesitara dos parámetros, el numero al que se le va a mandar el msj y claramente el mensaje que queramos mandar.

//prototipo de la función.

void Enviar_msj(String numero, String msj)

Mandar el comando para configurar el modulo para mandar msj:

MOD_SIM800L.write("AT+CMGF=1\r\n");

//Enviar comando para un nuevos SMS al número establecido

MOD_SIM800L.print(config_numero);

//Enviar contenido del SMS

MOD_SIM800L.print(msj);

Por ultimo para saber que el msj termino es ncesario mandar un ctrl+Z

//Enviar Ctrl+Z

MOD_SIM800L.write((char)26);

Ahora cada que se quiera mandar un msj solo basta con mandar llamar a la función que creamos:

Enviar_msj(“XXXXXXXXX”, "Inicializacion completa");

Donde las XXXXXXXXXX son el numero a 10 digitos del numero,

NOTA: es importante esta función solo es para mandar sms a números de MEXICO, para usarlos para números de otros países es necesario consultar la tabla de prefijos internacionales

REPOSITORIO GIT

Bibliografía

https://es.wikipedia.org/wiki/Anexo:Prefijos_telef%C3%B3nicos_mundiales

https://www.arduino.cc/en/Reference/SoftwareSerial

https://lastminuteengineers.com/sim800l-gsm-module-arduino-tutorial/#:~:text=Hardware%20Overview%20of%20SIM800L%20GSM,without%20a%20lot%20of%20space.

 

Artículo anterior ¿Como controlar un motor NEMA 17?
Artículo siguiente ¿Como usar analizador lógico con windows 10?

Comentarios

Rafael Lozano - octubre 9, 2020

Que tal Joseph , que se te complica?

Joseph - octubre 9, 2020

no entiendo el diagrama de la conexion en lo absoluto

Kharis Escobedo - mayo 28, 2020

Que tal! He leído que los 5V que Arduino proporciona es demasiado para el módulo SIM800L, según veo en el diagrama no tienen una alimentación aparte para el modulo SIM, hacer el circuito como en el diagrama no lo dañará?

Rafael Lozano - febrero 28, 2020

Buen dia, el modulo tiene señal?, recuerde que lo puede verificar por el blink del led del modulo. En ocasiones es necesario utilizar una fuente externa de 4.1v, una opcion pudiera ser una batería lipo de 1 celda.

felipe rocha - febrero 28, 2020

Hola buen dia, estoy tratando de mandar un sms con el modulo sim800l
no he podido enviar el mensaje no se si tenga que ver con que mi sim sea por medio de plan telefonico, y no de prepago

Dejar un comentario

Los comentarios deben ser aprobados antes de aparecer

* Campos requeridos