Enviar SMS con Arduino y módulo GSM SIM800L Deja un comentario

Los celulares y la telefonía móvil son tendencia en la actualidad, por eso en esta página vamos a enseñarte como utilizar el módulo GSM SIM800L de SIMCOM para enviar SMS con Arduino. Los mensajes de texto pueden ser de gran utilidad en diversos proyectos, por ejemplo: para alertarnos de situaciones de alarma en equipos remotos, para alertarnos de intrusiones en un sistema de seguridad casero, enviar datos de telemetría, crear un localizador GPS que se comunique mediante mensajes de texto SMS, creación de alarmas vecinales, etc.

El módulo SIM800L es el componente principal de las tarjetas FONA 800 de Adafruit, por lo que podemos utilizar la librería realizada para estas tarjetas con los módulos económicos que montan el SIM800L, como el que tenemos a la venta en nuestra tienda virtual. En este tutorial nos enfocamos en el uso de la librería de Adafruit, pero también mostramos como puede realizarse el envío de mensajes de texto enviando comandos AT directamente al módulo GSM, esto ultimo es principalmente con fines didácticos, ya que el método preferido será el uso de una librería.

En la foto principal de este artículo vemos el circuito que hemos armado para las pruebas de envío de SMS con arduino. También se observan los equipos que alimentan el experimento.

Materiales necesarios para las prácticas

Para esta experiencia requerimos los siguientes materiales:

De manera alternativa, podemos utilizar los shield de Adafruit:

Conexiones para Enviar SMS con Arduino y SIM800L

Para usar el SIM800 es necesario contar con una fuente de alimentación de 4.0 volts (el SIM800 acepta voltajes en el rango de 3.4 a 4.4 volts). Muchas personas utilizan baterías de polímero de litio para alimentarlo, aunque si no se desea estar cargando constantemente las baterías recomendamos usar una fuente de alimentación ajustable como las que encontramos en nuestra tienda virtual, mismas que estaremos utilizando en nuestras pruebas y que ajustaremos para una salida de 4 volts a partir de los 9 con los que alimentaremos todo el equipo (incluyendo el arduino).

En este punto hay que hacer énfasis en el hecho de que no vale utilizar directamente las salidas de 3.3 volts ni 5 volts de arduino, debido a que 5 volts es demasiado para el SIM800 y 3.3 volts esta por abajo del rango permitido. Además, el puerto USB de la computadora y el arduino en si mismo no es capaz de suministrar la corriente necesaria para el funcionamiento del módulo SIM800L. Para que el experimento tenga éxito, una alimentación impecable para el SIM800L es necesaria.

Nuestra conexión de la energía quedó de la siguiente manera:

Las conexiones de datos con el módulo GSM SIM800L se realizan mediante la UART. Debemos conectar el TX de Arduino al RX del SIM800L y el RX del Arduino al TX del SIM800L (cruzadas). Debemos respetar los niveles de entrada del SIM800L el cual es de 2.8 volts. Para esto podemos usar un simple divisor resistivo en el lado TX del arduino o un adaptador de niveles lógicos, nosotros optamos por un divisor resistivo formado por dos resistencias de 330 ohms: Hemos destacado nuestro convertidor de niveles para la comunicación en dirección al SIM800L, ya que los 5 volts de salida del Arduino pueden dañar el SIM800L.

De manera alternativa a la fuente de alimentación, podemos utilizar una batería de polímero de litio para alimentar el SIM800L, tal como se muestra a continuación.

Programación para envío de mensaje SMS con Arduino y SIM800L

En este caso, vamos a simular que queremos desarrollar una alarma que nos alerte mediante un mensaje de texto a nuestro celular cuando alguien abre una puerta, para simular el sensor de la puerta, podemos utilizar un switch común insertado en el protoboard. Con la librería FONA, el programa queda de la siguiente manera:

Código para envío de SMS con Arduino y SIM800L sin librería (solo comandos AT).

En caso de que deseemos prescindir de la librería, el programa puede quedar como se muestra más abajo. La verdad, estamos simplificando al extremo las cosas aquí y solamente es para ilustrar lo sencillo que es controlar el módulo GSM / GPRS SIM800L mediante los comandos AT. El método más robusto para enviar SMS con arduino es el que se indica más arriba, mediante la librería de Adafruit.

En este programa no hacemos caso a las respuestas del módulo GSM, por lo tanto, no hay una manera sencilla de determinar si algo salio mal al momento de enviar el mensaje, sin embargo, este programa se deja a disposición de los lectores para fines didácticos.

Conclusión y repaso

  • En este tutorial aprendimos como dar alimentación al módulo SIM800L y las conexiones básicas entre este y el arduino.
  • Aprendimos a utilizar la librería FONA de Adafruit para controlar el SIM800L y mandar mensajes SMS.
  • Aprendimos a realizar el envío de mensajes SMS utilizando comandos AT desde arduino en caso de no querer utilizar una librería externa.
  • Este tutorial funciona como introducción a los módulos SIM800 y shields FONA de Adafruit que funcionan gracias al SIM800L.
  • Aprendimos que este programa puede funcionar con otros módulos GSM, ya que los comandos para enviar mensajes de texto son estándar entre los fabricantes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Enviar Whatsapp
Hola 👋
¿En qué podemos ayudarte?