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:
- Módulo SIM900
- Arduino Uno
- Cables dupont MM – MM
- SIM de compañía celular
¿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.¿Cómo programar el SIM900?
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(); }