Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

¿Te gustaría aprender cómo utilizar el Escudo GPRS GSM SIM900 con Arduino? En este artículo te ofrecemos todas las instrucciones que necesitas para poder aprovechar al máximo este dispositivo y desarrollar tus propios proyectos de comunicación inalámbrica. ¡No te lo pierdas!

Esta publicación es una guía completa de SIM900 GSM GPRS Shield con Arduino. Aprenda a enviar y recibir SMS y a realizar y recibir llamadas con Arduino.

Instrucciones para el Escudo GPRS GSM SIM900 con ArduinoEn esta guía cubrimos:

  • Presentamos el escudo GPRS GSM SIM900
  • Hardware del escudo SIM900 GSM GPRS
  • Comandos SIM900 AT
  • Probando el escudo
  • Enviar y recibir SMS – ejemplo
  • Hacer y recibir llamadas – ejemplo

Presentamos el escudo GPRS GSM SIM900

El SIM900 GSM GPRS Shield se muestra en la siguiente imagen.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

GSM representa GRAMOglobal Ssistema para METROComunicaciones móviles y es el estándar mundial para las comunicaciones móviles.

GPRS representa GRAMOgeneralmente PAGacta RAudio SServicio. GPRS es un servicio móvil para comunicaciones celulares 2G y 3G.

Aplicaciones:

El GSM GPRS Shield es particularmente útil porque le permite:

  • Conéctese a Internet a través de la red GPRS
  • Enviar y recibir SMS
  • Realizar y recibir llamadas telefónicas

Sus capacidades lo hacen perfecto para proyectos con Arduino como:

  • Control remoto de dispositivos electrónicos: enviar un SMS para encender algo;
  • Reciba alertas: envíe un mensaje de texto a su teléfono móvil cuando se detecte movimiento en su hogar;
  • Reciba datos de sensores: envíe SMS periódicamente con datos meteorológicos diarios a su teléfono móvil.

características

Estas son algunas de las características clave del escudo:

  • Compatible con Arduino y clones
  • Basado en el módulo SIM900 de SIMCOM
  • Le permite enviar SMS, MMS, GPRS y audio a través de UART usando comandos AT.
  • Tiene 12 GPIO, 2 PWM y un ADC incorporado del módulo SIM900
  • Cuatribanda: 850, 900, 1800 y 1900 MHz, por lo que debería funcionar en todos los países con redes GSM (2G).
  • Control mediante comandos AT
  • Admite RTC (reloj en tiempo real): hay un soporte para una batería CR1220 de 3 V en la parte posterior

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

  • Cuenta con tomas de micrófono y auriculares para llamadas telefónicas.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

¿Donde comprar?

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

tu puedes el Escudo SIM900 GSM GPRS en Maker Advisor y encuentra el mejor precio.

Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

Pasos preparatorios

Antes de comenzar a utilizar su módulo GSM GPRS SIM900, debe considerar algunos aspectos relacionados con la tarjeta SIM y la fuente de alimentación del escudo.

Cobertura GSM

Asegúrese de tener recepción en una red GSM 850 MHz, GSM 900 MHz, DCS 1800 MHz o PCS 1900 MHz. Por GSM nos referimos a 2G.

Tarjeta SIM prepago

Le recomendamos que utilice un plan prepago o un plan con SMS ilimitados para realizar pruebas. De lo contrario, si algo sale mal, podría terminar pagando una factura considerable por cientos de mensajes de texto SMS enviados accidentalmente. En este tutorial usaremos un plan prepago con SMS ilimitados.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

El Shield utiliza el tamaño de la tarjeta SIM original, no Micro o Nano. Si tienes Micro o Nano, quizás quieras considerar uno Adaptador de tamaño de tarjeta SIM.

Desactivar el bloqueo de PIN

Para utilizar la tarjeta SIM con el Shield, debes desactivar el bloqueo de PIN. La forma más sencilla de hacerlo es insertar la tarjeta SIM en su teléfono inteligente y desactivar el bloqueo con PIN en la configuración de seguridad del teléfono.

En mi caso tuve que pasar por lo siguiente: Ajustes > Progresivo Ajustes > Seguridad > bloqueo de tarjeta SIM y desactive el bloqueo de la tarjeta SIM con PIN.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

Encuentre la fuente de alimentación adecuada

El Shield tiene un conector DC para fuente de alimentación, como se muestra en la imagen a continuación.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

Al lado de la toma de corriente hay un interruptor para seleccionar la fuente de alimentación. Hay una flecha al lado del interruptor de palanca en el tablero que indica la posición del interruptor de palanca para usar una fuente de alimentación externa. Mueva el interruptor de palanca para usar energía externa como se muestra arriba.

Para encender el escudo, recomendamos usar una fuente de alimentación de 5V, 2A como la que se muestra a continuación. También puede funcionar con 9V 1A o 12V 1A.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

Puede encontrar la fuente de alimentación adecuada para este escudo aquí Aquí. Asegúrese de seleccionar el modelo 5V 2A.

Hardware del escudo SIM900 GSM GPRS

La siguiente imagen muestra la parte posterior del escudo. Dispone de soporte para la tarjeta SIM y batería CR1220 de 3V para el RTC (reloj en tiempo real).

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

La siguiente imagen muestra los componentes clave del escudo de la placa a los que debe prestar atención.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

Primeros pasos

1) Inserte la tarjeta SIM en el soporte de la tarjeta SIM; asegúrese de haber leído los pasos preparatorios en la sección anterior.Instrucciones para el Escudo GPRS GSM SIM900 con Arduino2) Asegúrese de que la antena esté bien conectada.

3) Al seleccionar el puerto serie, asegúrese de que la tapa del puente esté conectada como se muestra en la figura siguiente para utilizar el software serie.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino4) Alimente el escudo con una fuente de alimentación externa de 5V. Asegúrese de seleccionar la fuente de alimentación externa usando el interruptor de palanca al lado del conector de CC.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

5) Para encender/apagar el Shield, presione el botón de encendido durante aproximadamente 2 segundos.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino6) Luego, el LED de estado se enciende y el LED NetLight parpadea cada 800 ms hasta que se encuentra la red. Cuando se encuentre la red, el LED NetLight comenzará a parpadear cada tres segundos.

Nota: Puedes encender el Shield automáticamente a través del software. Puedes descubrir cómo hacer esto en Enciende automáticamente el escudo. Sección, después de los ejemplos de código.

7) Puede probar que el escudo funciona correctamente enviando comandos AT desde el IDE de Arduino utilizando un programador FTDI, como mostraremos más adelante en esta guía.

Comandos SIM900 AT

  • Configure el SIM900 en modo texto: AT+CMGF=1r
  • Enviar SMS a un número: EN+CMGS=NÚMERO DE TELÉFONO (en formato internacional)
  • Lee el primer SMS de tu bandeja de entrada: AT+CMGR=1r
  • Leer el segundo SMS desde la bandeja de entrada: AT+CMGR=2r
  • Lea todos los SMS de su bandeja de entrada: AT+CMGR=TODOSr
  • Llame a un número: ATDP+ NÚMERO DE TELÉFONO (en formato internacional)
  • colgar una llamada: ATH
  • contestar una llamada entrante: EN UN

Para obtener más información, consulte el manual de comandos AT del SIM900. Aquí.

Probando el escudo con el programador FTDI

Para probar si todo funciona correctamente, puede probar el escudo enviando comandos AT desde el monitor serie del IDE de Arduino. Para hacer esto necesitarás un programador FTDI como el que se muestra en la imagen a continuación. Puedes conseguir un programador FTDI como este. Aquí.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

1) Conecte el programador FTDI al escudo GSM como se muestra en la siguiente figura.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

2) Abra el IDE de Arduino y seleccione el puerto COM correcto.

3) Abrir el monitor serie Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

4) Elegir 19200 Velocidad de baudios (la configuración predeterminada del escudo es 19200) y Retorno de carro. Escribir EN Haga clic en el cuadro resaltado en rojo y luego presione Enter. Vea la imagen a continuación. Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

5) El escudo reacciona con DE ACUERDOsi todo funciona correctamente.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

Conectando el escudo a Arduino

Conecte el Shield al Arduino como se muestra en los esquemas a continuación.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

Enviar un SMS

Para enviar un SMS, cargue el siguiente código en su placa Arduino.

/*********
  Complete project details at https://randomnerdtutorials.com  
*********/

#include <SoftwareSerial.h>

// Configure software serial port
SoftwareSerial SIM900(7, 8); 

void setup() {
  // Arduino communicates with SIM900 GSM shield at a baud rate of 19200
  // Make sure that corresponds to the baud rate of your module
  SIM900.begin(19200);
  // Give time to your GSM shield log on to network
  delay(20000);   
  
  // Send the SMS
  sendSMS();
}

void loop() { 
  
}

void sendSMS() {
  // AT command to set SIM900 to SMS mode
  SIM900.print("AT+CMGF=1r"); 
  delay(100);

  // REPLACE THE X's WITH THE RECIPIENT'S MOBILE NUMBER
  // USE INTERNATIONAL FORMAT CODE FOR MOBILE NUMBERS
  SIM900.println("AT+CMGS="+XXXXXXXXXXXX""); 
  delay(100);
  
  // REPLACE WITH YOUR OWN SMS MESSAGE CONTENT
  SIM900.println("Message example from Arduino Uno."); 
  delay(100);

  // End AT command with a ^Z, ASCII code 26
  SIM900.println((char)26); 
  delay(100);
  SIM900.println();
  // Give module time to send SMS
  delay(5000); 
}

Ver código sin formato

En este código primero vinculas el SoftwareSerial.h Biblioteca y crea un puerto serie de software en los pines 7 y 8. (El pin 7 está configurado como RX y el 8 como TX)

#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8);

El Enviar un SMS() La función creada envía el SMS. Esta función utiliza los comandos AT: EN+CMGF=1alrededor AT+CMGS.

Debe cambiar el número de móvil del destinatario a: (reemplace el X's con el número de teléfono del destinatario)

SIM900.println("AT + CMGS = "++++++++++++++"");

El número de móvil del destinatario debe estar en formato internacional.

Luego podrá editar el texto que desea enviar en la siguiente línea.

// REPLACE WITH YOUR OWN SMS MESSAGE CONTENT
SIM900.println("Message example from Arduino Uno.")

Leer SMS recibidos

Para leer los SMS entrantes, cargue el siguiente código en su Arduino. Después de cargar, espere 20 segundos para que Shield establezca comunicación. Luego pruebe el script enviando un SMS al número de la tarjeta SIM del Shield. El SMS se muestra en el monitor serie del Arduino – velocidad en baudios: 19200.

/*********
  Complete project details at https://randomnerdtutorials.com  
*********/

#include <SoftwareSerial.h>

// Configure software serial port
SoftwareSerial SIM900(7, 8);
//Variable to save incoming SMS characters
char incoming_char=0;

void setup() {
  // Arduino communicates with SIM900 GSM shield at a baud rate of 19200
  // Make sure that corresponds to the baud rate of your module
  SIM900.begin(19200);
  // For serial monitor
  Serial.begin(19200); 
  // Give time to your GSM shield log on to network
  delay(20000);

  // AT command to set SIM900 to SMS mode
  SIM900.print("AT+CMGF=1r"); 
  delay(100);
  // Set module to send SMS data to serial out upon receipt 
  SIM900.print("AT+CNMI=2,2,0,0,0r");
  delay(100);
}

void loop() {
  // Display any text that the GSM shield sends out on the serial monitor
  if(SIM900.available() >0) {
    //Get the character from the cellular serial port
    incoming_char=SIM900.read(); 
    //Print the incoming character to the terminal
    Serial.print(incoming_char); 
  }
}

Ver código sin formato

En este código configuras el módulo para enviar los datos SMS a la salida serie:

SIM900.print("AT+CNMI=2,2,0,0,0r");

Almacena los caracteres entrantes del mensaje SMS en el carácter_entrante Variable. Lees los personajes con el SIM900.leer() Función.

Haz una llamada

Para realizar una llamada, cargue el siguiente código en su Arduino.

No olvides editar el código con el número de teléfono al que deseas llamar.

/*********
  Complete project details at https://randomnerdtutorials.com  
*********/

#include <SoftwareSerial.h>

// Configure software serial port
SoftwareSerial SIM900(7, 8); 

void setup() {
  // Arduino communicates with SIM900 GSM shield at a baud rate of 19200
  // Make sure that corresponds to the baud rate of your module
  SIM900.begin(19200);
  // Give time to your GSM shield log on to network
  delay(20000);

  // Make the phone call
  callSomeone();
}

void loop() {
  
}

void callSomeone() {
  // REPLACE THE X's WITH THE NUMER YOU WANT TO DIAL
  // USE INTERNATIONAL FORMAT CODE FOR MOBILE NUMBERS
  SIM900.println("ATD + +XXXXXXXXX;");
  delay(100);
  SIM900.println();
  
 // In this example, the call only last 30 seconds
 // You can edit the phone call duration in the delay time
  delay(30000);
  // AT command to hang up
  SIM900.println("ATH"); // hang up
}

Ver código sin formato

Para realizar la llamada, utilice el llamá a alguien() Función que ATD Dominio.

SIM900.println("ATD + +XXXXXXXXX;");

Necesitas reemplazar eso X's (resaltado en rojo) con el número de teléfono al que desea llamar.

No olvides conectar un micrófono y auriculares para llamadas telefónicas.

En este ejemplo de código, la llamada finaliza después de 30 segundos. ATH Dominio:

SIM900.println("ATH"); 

Colgar después de 30 segundos no es muy útil, pero funciona bien, por ejemplo. La idea es que tú ATH Comando cuando se activa un evento. Por ejemplo, conecte un botón al Arduino que, cuando se presione, ATH Comando para colgar el teléfono.

Responder llamadas telefónicas entrantes

El siguiente código responde a las llamadas entrantes.

/*********
  Complete project details at https://randomnerdtutorials.com  
*********/

#include <SoftwareSerial.h>

// Configure software serial port
SoftwareSerial SIM900(7, 8); 
char incoming_char=0;

void setup() {
  // Arduino communicates with SIM900 GSM shield at a baud rate of 19200
  // Make sure that corresponds to the baud rate of your module
  SIM900.begin(19200); // for GSM shield
  // For serial monitor
  Serial.begin(19200); 
  // Give time to log on to network.
  delay(20000); 
  
  SIM900.print("AT+CLIP=1r"); // turn on caller ID notification
  delay(100);
}

void loop() {
  // Display any text that the GSM shield sends out on the serial monitor
  if(SIM900.available() >0) {
    // Get the character from the cellular serial por
    // With an incomming call, a "RING" message is sent out
    incoming_char=SIM900.read();
    //  Check if the shield is sending a "RING" message
    if (incoming_char=='R') {
      delay(10);
      Serial.print(incoming_char);
      incoming_char=SIM900.read();
      if (incoming_char =='I') {
        delay(10);
        Serial.print(incoming_char);
        incoming_char=SIM900.read();
        if (incoming_char=='N') {
          delay(10);
          Serial.print(incoming_char);
          incoming_char=SIM900.read();
          if (incoming_char=='G') {
            delay(10);
            Serial.print(incoming_char);
            // If the message received from the shield is RING
            // Send ATA commands to answer the phone
            SIM900.print("ATAr");
          }
        }
      }
    }
  }
}

Ver código sin formato

Cuando alguien llama al número SIM900, envía un mensaje que dice «RING». Para saber si alguien lo está llamando, puede esperar los caracteres entrantes del SIM900 y luego comparar si es un mensaje RING. Eso es lo que se hace en este código. Cuando se recibe un mensaje RING, envíe el EN UN Comando para contestar el teléfono.

Enciende automáticamente el escudo.

En lugar de presionar manualmente el botón «Encendido» para encender el escudo, puede encenderlo automáticamente usando el software.

1) Primero debe soldar los conectores R13 en el escudo como se muestra en la imagen a continuación, resaltada en rojo.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

2) Conecte D9 en el escudo al pin D9 de Arduino como se muestra en la imagen a continuación.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

3) Pegue el siguiente fragmento de código en la función setup(). Esto equivale a presionar el botón de encendido del escudo.

digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(5000);

Solución de problemas

Shield no responde con OK

Verifique sus conexiones TX y RX al Arduino. Intente repetir el proceso intercambiando los pines TX con RX.

Además, verifique que haya seleccionado el número de serie del software colocando la tapa del puente en la ubicación adecuada en el selector de serie.

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

No aparecen mensajes en el monitor serie.

Para mostrar los mensajes en el monitor serie, las velocidades en baudios del escudo y del puerto serie del Arduino deben ser las mismas. La velocidad en baudios predeterminada del SIM900 GSM GPRS Shield es 19200, así que seleccione la velocidad en baudios de Arduino en 19200.

Sin embargo, si necesita cambiar la velocidad en baudios del escudo, puede enviar el siguiente comando AT para cambiarla a 19200 u otra velocidad en baudios adecuada.

AT+IPR=19200

Envolver

Este tutorial le mostrará cómo enviar y recibir SMS y realizar y recibir llamadas usando Arduino. Puede aplicar los conceptos aprendidos en este tutorial para crear sus propios proyectos para comunicarse a través de una red celular. Tenemos otros proyectos que utilizan GSM. Échales un vistazo a continuación:

  • Controlar una lámpara de 12V mediante SMS
  • Solicitar datos de sensores vía SMS con Arduino

Si te gustan los proyectos de Arduino, asegúrate de consultar nuestros últimos proyectos de Arduino: Proyectos Arduino paso a paso: cree 25 proyectos

Esperamos que esta guía le haya resultado útil.

Gracias por leer.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Instrucciones para el Escudo GPRS GSM SIM900 con Arduino

Este artículo es una guía completa para el uso del Escudo GSM GPRS SIM900 con Arduino. Aprenderás cómo enviar y recibir SMS y cómo hacer y recibir llamadas telefónicas con Arduino.

Introducción al Escudo GSM GPRS SIM900

El Escudo GSM GPRS SIM900 es un componente muy útil que te permite:

  • Conectarte a internet a través de la red GPRS
  • Enviar y recibir SMS
  • Hacer y recibir llamadas telefónicas

Estas capacidades lo hacen perfecto para proyectos con Arduino, como control remoto de electrodomésticos, recibir notificaciones o datos de sensores.

Características

Algunas de las características más importantes del escudo son:

  • Compatible con Arduino y clones
  • Basado en el módulo SIM900 de SIMCOM
  • Permite enviar SMS, MMS, GPRS y Audio a través de UART mediante comandos AT
  • Quad Band: 850; 900; 1800 y 1900 MHZ
  • Control mediante comandos AT
  • Soporta RTC (reloj de tiempo real)
  • Conectores para micrófono y auriculares

Pasos Preliminares

Antes de empezar, aquí tienes algunos aspectos a considerar:

  • Verificar la cobertura GSM
  • Usar una tarjeta SIM prepaga
  • Desactivar el bloqueo PIN de la tarjeta SIM
  • Tener la fuente de alimentacion adecuada

Para más detalles sobre estos pasos, puedes consultar la fuente original.

Comandos AT SIM900

Algunos comandos AT útiles para el SIM900 son:

  • Configurar el SIM900 en modo texto: AT+CMGF=1r
  • Enviar un SMS: AT+CMGS=NUMERO_DE_TELEFONO
  • Leer mensajes de la bandeja: AT+CMGR
  • Hacer una llamada: ATDNUMERO_DE_TELEFONO
  • Responder una llamada: ATA

Puedes encontrar más información en el manual de comandos AT del SIM900.

Conectando el Escudo a Arduino

Para conectar el escudo a Arduino, sigue el esquema detallado en la fuente original.

Envío y Recepción de SMS

Para enviar un SMS desde Arduino, utiliza el código proporcionado en la fuente original. Recuerda cambiar el número de teléfono destinatario y el mensaje a enviar.

Lectura de SMS Recibidos

Para leer los SMS entrantes, carga el código suministrado en la fuente original en tu Arduino.

Realización de Llamadas Telefónicas

Si deseas hacer una llamada, carga el código correspondiente en tu Arduino y no olvides editar el código con el número de teléfono al que deseas llamar.

Respuesta a Llamadas Entrantes

Para responder a llamadas entrantes, utiliza el código proporcionado en la fuente original. Este código contestará automáticamente a las llamadas que reciba el SIM900.

Conclusión

Con estos pasos y ejemplos podrás comenzar a experimentar con el Escudo GSM GPRS SIM900 y Arduino, abriendo un mundo de posibilidades para la comunicación remota. ¡Esperamos que esta guía haya sido útil para ti!

2 comentarios en «Instrucciones para el Escudo GPRS GSM SIM900 con Arduino»

Deja un comentario