InicioTarjetas de DesarrolloArduinoModulo SIM900 enviar SMS con Arduino Uno

Modulo SIM900 enviar SMS con Arduino Uno

Módulo SIM900 en este tutorial aprenderás a como conectar a un Arduino Uno y programarlo para enviar mensajes de SMS.

Los materiales a utilizar son los siguientes:

¿Cómo conectar el SIM900 a Arduino Uno?

Para conectar el Módulo SIM900 a Arduino Uno es muy sencillo, solo hay definir los 2 pines que se usarán para la comunicación serial, en el módulo se tienen 2 tipos de configuraciones, por defecto se usan los pines tx-1 y rx-0 pero te recomendamos usar los pines D8(RX) y D7(TX) del módulo, para usar estos pines solo tienes que cambiar los puentes que bien el módulo y de igual manera conectar los pines de VCC y GND de ambos módulos, solo recuerda que el SIM900 funciona 5v. En la siguiente imagen tendrás un ejemplo de como conectar ambos módulos.
Modulo SIM900
Conexión del Módulo SIM900 con Arduino Uno

¿Cómo programar el SIM900?

Para programar el SIM900 te recomendamos hacerlo con el IDE de Arduino ya que solo se utiliza la librería SoftwareSerial para comunicarnos con el módulo mediante comando reservados para que se envíen mensajes SMS, realizar llamadas o se conecte el módulo a Internet, estos comandos se llaman AT. A continuación tendrás un código de prueba el cual te permite enviar SMS y hacer llamadas, pero antes de cargar el código debes de verificar y hacer lo siguiente.

1- Verificar que sean correctas las conexiones entre el Arduino Uno y el SIM900, después colocar cuidadosamente el “SIM” en la parte trasera del Módulo SIM900.

2- Conectar al PC el Arduino Uno, si el Módulo SIM900 no enciende mover el interruptor de Power.

3- Para activar la alimentación de la tarjeta SIM, tendrás que hacerlo manualmente presionando el pulsador KEY durante uno o dos segundos y se encenderán los leds de estado y de conexión a red, después el led de conexión empezará a parpadear una vez por segundo. Este parpadeo indica que está buscando la red. Cuando la encuentre y se conecte cambiará la frecuencia de parpadeo y lo hará cada 3 o 4 segundos.

4-Por último carga el siguiente código a tu Arduino Uno, abre el monitor serie y selecciona 19200 baudios. Para enviar el mensaje sms manda la letra “s” y para llamar manda la letra “c”.
#include <SoftwareSerial.h> //Se incluye la librería de "SoftwareSerial"
SoftwareSerial sim900(7, 8); // Se define los pines para la comunicación serial 
void setup() {

 sim900.begin(19200);   // Configuración de la velocidad en baudios del módulo SIM900
 Serial.begin(19200);    // Configuración de la velocidad en baudios del monitor serie (Arduino)

} 

void loop() {
  if (Serial.available()>0) //  Verifica si hay datos en el puerto serie de Arduino.
   switch(Serial.read())   
  {
case 's': // Si hay algo en el monitor serie, si es una letra "s" se ejecutara los comando AT que se definen en la funcion "envio_sms"
envio_sms();
break;
case 'c': // Pero si una letra "c" se ejecutara los comando AT que se definen en la función "hacer_llamada"
hacer_llamada();
break;
}
if (sim900.available()>0)
Serial.write(sim900.read()); // Imprime los datos recopilados del puerto serie
}

void envio_sms()
{
Serial.println("Enviado sms...");
sim900.print("AT+CMGF=1\r"); // Establecer en modo envió de sms
delay(100);
/* Se le asigna el numero, debes cambiar la clave de acuerdo al país si eres de México 
solo agrega el numero al que enviaras el sms */
sim900.print("AT+CMGS=\"+5255.........\"\r"); 
delay(200);
sim900.print("Hola, Saludos de CDMXELECTRONICA"); // Contenido que llevara el sms
sim900.print("\r"); 
delay(500);
sim900.print((char)26);
delay(100);
sim900.println();
Serial.println("SMS Enviado...");
delay(500);
}

void hacer_llamada()
{
/* Se marca al numero, debes cambiar la clave de acuerdo al país si eres de México 
solo agrega el numero al que llamaras */
sim900.println("ATD+5255.........;"); 
delay(100);
sim900.println();
}

TUTORIALES RELACIONADOS