You are on page 1of 4

Arduino GSM/GPRS Shield, más facil, imposible!

(1/1)

patolin:
Si como yo, has estado jugando un poco con tu Arduino, tarde o temprano llega un
momento donde es necesario conectarlo al mundo exterior. Lo mas usual es conectarlo
mediante Ethernet o WiFi si te dá el presupuesto, para poder enviar información hacia el
mundo exterior.

Pero estas no son las únicas opciones de comunicación. En esta ocasión, vamos a revisar el
Shield GPRS/GSM EF-Com fabricado por la Elekfreaks, y distribuido por www.dx.com.

Este shield, permite que nuestro arduino opere como un teléfono GSM, obviamente
debiendo programar todas las funciones del mismo. Dentro del hardware de este shield,
podemos encontrar los siguientes dispositivos:

Modem GSM/GPRS basado en el chip SIM900Conectores de entrada y salida de audio


(para realizar o recibir llamadas)Reloj RTC, con batería de respaldoVarios pines de GPIO
libres controlables mediante comandos ATOpción para conexión RS232 via hardware o
software en el Arduino
Al recibir el paquete, pude notar inicialmente, que el empaque era bastante grande para un
shield de Arduino, por lo que definitivamente debía tener varios items en su interior. Dentro
del paquete, al abrirlo pude encontrar:

Shield GSM / GPRSAntena externaAdaptador de 9V / 1ADisplay Nokia 5100 con


backlight Azul

El display es un extra inesperado. En el sitio web no indica que se incluye este display, pero
el Shield tiene un header instalado propiamente para éste. Es un extra que da valor
agregado al producto.

El adaptador de 9V es necesario, porque alimentando directamente al Arduino y al Shield


desde el puerto USB, éste no alcanza a proveer la corriente necesaria para su operación.
Según el fabricante, el módulo en picos de consumo de corriente, puede superar 1A
facilmente.

Algo a tomar muy en cuenta, es la posición del display LCD en el shield. Lastimosamente
no existen marcas del Pin 1 del header, y en el Wiki del fabricante, menciona que el LCD
con backlight azul (existen 2 versiones, una con backlight azul y otra con backlight blanco)
debe ir como se muestra en las fotos, con el display sobre el chip SIM900. Esta posición es
incorrecta, ya que el display con backlight azul debe ir montado en la posición exterior del
Shield. Esto lo veremos en las imágenes posteriores.

Programación

Como lo mencionabamos, el Shield GPRS funciona como un modem GSM serial, es decir,
para su uso, únicamente requerimos los pines Rx, Tx y Gnd del puerto serie de nuestro
arduino, o de un puerto serial por Software, en los pines que nosotros definamos

Tomando en cuenta esto, vamos a programar un pequeño Sketch, que ejecutará las
siguientes tareas:

Mostrará un mensaje de bienvenida en el LCD Nokia 5100Esperará un caracter en el puerto


serial del ArduinoMediante un Puerto Serial de Software inicializará la comunicación con
el Shield GSMEnviará un mensaje de texto (SMS) a un número colocado en el softwareEl
código que vamos a usar en nuestro arduino es el siguiente:Code:

#include <"lcd5110_graph.h">
#include <"softwareserial.h">

LCD5110 myGLCD(9,10,11,12,13);

extern uint8_t SmallFont[];

#define rxPin 2
#define txPin 3

SoftwareSerial mySerial(rxPin, txPin);

char *init1="AT+IPR=19200"; // configuracion del modulo para 19200bps


char *init2="AT+CMGF=1"; // configuracion para modo ascii
unsigned char CR=13; // caracter de retorno de linea
void setup()
{
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);

mySerial.begin(19200); // Velocidad de conexion por defecto del Shield


Serial.begin(19200); // Velocidad del puerto serie
Serial.println("Conexion Serial Ok.");

myGLCD.clrScr();
myGLCD.print("Prueba del", CENTER, 0);
myGLCD.print("GPRS Shield ", LEFT, 12);
myGLCD.print("patolin.com ", LEFT, 30);
myGLCD.update();
}

void loop()
{
// inicializamos el shield

mySerial.write(init1);
mySerial.write(CR);
delay(1000);
mySerial.write(init2);
mySerial.write(CR);
delay(1000);

myGLCD.clrScr();
myGLCD.print("SMS", CENTER, 0);
myGLCD.print("Esperando", LEFT, 12);
myGLCD.print("caracter al ", LEFT, 24);
myGLCD.print("RS232", LEFT, 36);
myGLCD.update();

// esperamos un caracter cualquiera en el puerto serie

if (Serial.available()) {
if (mySerial.available()) Serial.write(mySerial.read());
// limpiamos el buffer de lectura
Serial.read();

// enviamos el sms
myGLCD.clrScr();
myGLCD.print("SMS", CENTER, 0);
myGLCD.print("Enviando....", LEFT, 12);
myGLCD.update();

mySerial.write("AT+CMGS=\"099XXXXXXX\""); // reemplace por el numero de


celular de destino
mySerial.write(CR);
delay(1000);
mySerial.write("Prueba de SMS desde Arduino!");
mySerial.write(CR);
delay(1000);
mySerial.write(26); // Ctrl+Z para finalizar el mensaje y enviar
myGLCD.print("enviado!", LEFT, 30);
myGLCD.update();

}
Bastante sencillo cierto? El código se explica solo. Basta con configurar la comunicación
con el Shield a la misma velocidad (19200bps en este caso) y enviar los respectivos
comandos. Al ser un modem GRPS, responde a una amplia variedad de comandos AT, que
podemos revisarlos en este manual propio del fabricante.

Les dejo un video de la prueba de este código sobre mi Arduino.

Para concluir, las aplicaciones para este Shield son varias! Desde una alarma de seguridad
de hogar con notificaciones por SMS, hasta un dispositivo remoto que pueda contestar
llamadas y devolver información.

Para concluir, podemos resumir las características de este Shield, en las siguientes:

Shield GSM/GPRS Quad-Band 850/900/1800/1900 MHz, con el chip SIM900


GSMCompatible con Arduino Uno / MegaVoltaje de Operación 5VccSocket plástico para
el Chip GSM ubicado en la parte inferior del ShieldAntena externa, en L para mayor
facilidad de ubicaciónAdaptador de alimentación incluidoJacks de Entrada y Salida de
Audio, para la generación de llamadas telefónicas via celularReloj en tiempo real
incluidoDisplay LCD Nokia 5100 incluido
Para los entusiastas de la electrónica y del Arduino, puedo comentarles que el precio de este
Shield es un poco elevado. El costo es de USD. 57,70 incluido el envío desde China. Si
descontamos el valor del LCD y del adaptador, podríamos llegar a los USD. 50,00 que
sigue siendo algo elevado, tomando en cuenta el costo del Arduino. Pero si vamos a usar
este Shield en una aplicación profesional, Si resulta muchísimo más barato que otras
soluciones de comunicación GSM que existen en el mercado.

Les dejo algunos enlaces correspondientes a este producto. Espero les sean de interés

Arduino GSM / GPRS Shield Wireless Extension Board Module w / antena / adaptador
GSM Shield WIKI
SIM900 AT Command Reference
Post Original en www.patolin.com

Navigation

[0] Message Index

You might also like