Explicamos cómo conectar un módulo GPRS a una placa Arduino UNO para dotarla de conexión a la red móvil. Este módulo nos permitirá enviar SMS desde Arduino, hacer y recibir llamadas e incluso conectarnos a Internet. Explicamos todos los requisitos hardware necesarios para este proyecto hardware de ejemplo.

Requisitos para enviar SMS y hacer llamadas desde placa Arduino

En este proyecto hardware de ejemplo usaremos un módulo GPRS específico para Arduino, nos permitirá disponer de un módem GSM con tarjeta SIM de móvil, por lo que podremos realizar cualquier operación como si de un módem GSM se tratase (hacer llamadas, recibir llamadas, enviar SMS, recibir SMS, conectarnos a Internet, etc.) todo ello con comandos AT (Hayes). En el siguiente artículo explicamos estos comandos más en profundidad y cómo usar un módem GSM:

Lo explicado en el artículo anterior será válido para este, salvando las distancias obvias entre VB.Net y Arduino.

Indicamos a continuación los requisitos hardware para enviar SMS y hacer llamadas con nuestra placa Arduino de forma autónoma (sin necesidad de cables ni conexión al PC):

  • Módulo GPRS (unos 75 euros) , en nuestro caso hemos adquirido un GPRS Sagem Quadband Module for Arduino:
Requisitos para enviar SMS y hacer llamadas desde placa Arduino

Para la conexión a la red móvil del módulo GPRS necesitaremos una tarjeta SIM normal (como la de los móviles) activa y disponible para enviar SMS y hacer llamadas.

  • Placa Arduino UNO (unos 25 euros) :
Requisitos para enviar SMS y hacer llamadas desde placa Arduino
  • Como siempre, para cualquier proyecto con Arduino necesitaremos disponer de un cable USB de tipo A-B para conectar Arduino con el PC y necesitaremos el IDE de desarrollo y los drivers (si usamos Microsoft Windows 7, en Linux no son necesarios). En el siguiente artículo explicamos los primeros pasos para conectar Arduino con el PC:

Cómo conectar módulo GPRS a placa Arduino UNO

Prepararemos en primer lugar el módulo GPRS que cuando lo adquirimos incorpora una antena externa que hay que conectar. Por un lado el conector que va al microchip del módulo:

Cómo conectar módulo GPRS a placa Arduino UNO

Conectaremos el chip con la antena al módulo GPRS como se muestra en la imagen:

Cómo conectar módulo GPRS a placa Arduino UNO

Insertaremos también una tarjeta SIM activa, a ser posible sin PIN para evitar tener que enviárselo por comando AT (aunque se puede hacer):

Cómo conectar módulo GPRS a placa Arduino UNO

A continuación conectaremos el módulo GPRS a la placa Arduino, dicho módulo es específico para Arduino por lo que encajará en los pines correspondientes sin problema, con un poco de presión:

Cómo conectar módulo GPRS a placa Arduino UNO

El módulo GPRS quedará perfectamente anclado y conectado a la placa Arduino:

Cómo conectar módulo GPRS a placa Arduino UNO

Todo el hardware conectado (antena externa, módulo GPRS y placa Arduino):

Cómo conectar módulo GPRS a placa Arduino UNO

 Consideraciones importantes a tener en cuenta antes de enviar el programa a Arduino para usar el módulo GPRS

Hay que tener en cuenta que el módulo GPRS tiene «dos posiciones» para la conexión con Arduino:

1. Por un lado hay que indicarle al módulo GPRS cuándo está conectado al PC por el puerto USB (serie emulado), esto se hace colocando dos jumpers que incorpora en la parte superior de la siguiente forma:

Consideraciones importantes a tener en cuenta antes de enviar el programa a Arduino para usar el módulo GPRS

Es muy importante tener esto en cuenta, cuando queramos enviar el programa a Arduino, los dos jumpers deben estar como se indica en la imagen anterior, si no es así el Upload (envío) del programa dará error.

El error que nos mostrará el IDE de desarrollo de Arduino si no hemos colocado los jumpers correctamente será:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

2. Para probar el programa de envío de SMS, de llamadas o cualquier otra tarea que hayamos programado con Arduino y el módulo GPRS deberemos desconectarlo del USB del PC y alimentarlo externamente. Además, deberemos cambiar los jumpers mencionados anteriormente a esta nueva posición:

Consideraciones importantes a tener en cuenta antes de enviar el programa a Arduino para usar el módulo GPRS

Programar Arduino para enviar SMS a móvil

A continuación mostramos el programa para enviar un SMS desde Arduino usando un módulo GPRS, básicamente usa comandos AT para realizar el proceso, como si de un módem GSM se tratase:

Verificaremos la sintaxis del programa, como siempre, pulsando en el botón «Verify» del IDE de Arduino, si todo es correcto nos lo indicará con el mensaje «Done compiling»:

Programar Arduino para enviar SMS a móvil

Recordamos que para enviar el programa a Arduino necesitaremos colocar los jumpers del módulo GPRS como indicamos aquí. Una vez colocados los jumpers en su posición correcta pulsaremos en botón «Upload» del IDE de desarrollo de Arduino para enviar el programa, si todo es correcto y el programa ha sido enviado a la memoria Flash de Arduino nos lo indicará con el mensaje «Done uploading»:

Programar Arduino para enviar SMS a móvil

Para probar el programa y verificar que envía el SMS correctamente al número de móvil indicado habrá que desconectar Arduino del puerto USB, cambiar los jumpers como indicamos aquí y alimentar Arduino con un adaptador como mostramos en la imagen:

Programar Arduino para enviar SMS a móvil

Una vez alimentado Arduino se iniciará el programa y, tras unos 20 segundos (el tiempo de espera que hemos programado), nos llegará el SMS al número de móvil indicado en el programa:

Programar Arduino para enviar SMS a móvil

Programar Arduino para hacer llamadas a móvil

Al igual que hemos explicado cómo enviar SMS con Arduino y el módulo GPRS, mostramos ahora el código para hacer una llamada perdida desde Arduino a un móvil:

Realizando las mismas operaciones que hemos indicado para enviar el programa y para probarlo en el caso del SMS, si todo es correcto, Arduino realizará una llamada perdida al número de móvil indicado:

Conclusión sobre el módulo GPRS y Arduino

Con estas opciones probadas de envío de SMS y llamada perdida y todas las posibles gracias al módem GSM (módulo GPRS) y los comandos AT, podremos dotar a nuestro proyecto hardware con Arduino de una potente herramienta para numerosas funcionalidades: por ejemplo, si desarrollamos una estación meteorológica podremos avisar por SMS a uno o varios números de móvil cuando se den unas determinadas condiciones (temperatura más baja de un valor preestablecido, etc.). Podremos conectarnos, desde Arduino, a cualquier página web y enviar parámetros, podremos incluso hacer una llamada perdida a un móvil cuando se produzca un determinado evento (así ahorramos el coste del SMS), podremos navegar a una URL y obtener determinado código HTML.

Como hemos demostrado se trata de un módulo muy sencillo de conectar y de programar. De hecho hemos desarrollado este proyecto hardware de uso de módulo GPRS sin necesidad de conocimientos en electrónica ni sistemas.

Sin duda Arduino se está convirtiendo en una herramienta muy útil, al alcance de cualquiera por su bajo precio y con una infinidad de funcionalidades, con la gran ventaja de acercar el hardware conectado al PC para usuarios sin apenas conocimientos en electrónica y sistemas.