Professional Documents
Culture Documents
(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:
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.
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:
#include <"lcd5110_graph.h">
#include <"softwareserial.h">
LCD5110 myGLCD(9,10,11,12,13);
#define rxPin 2
#define txPin 3
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();
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();
}
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.
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:
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