SIM900 GSM GPRS Shield con Arduino UNO

GPRS SIMCOM SIM900 GSM Quad band GSM shield

Esta es una tarjeta GPRS ultra compacta de comunicación inalámbrica. La tarjeta es compatible con todos los modelos de Arduino con el formato UNO, además puedes controlarla con otros microcontroladores también. La tarjeta está basada en el módulo SIM900 GSM 4.

La tarjeta GPRS está configurada y controlada por vía UART usando comandos AT. Solo conecta la tarjeta al microcontrolador, Arduino, etc, y comienza a comunicarte a través de comandos AT. Ideal para sistemas remotos, comunicación recursiva, puntos de control, mandar mensajes de texto a celulares, etc.

ESPECIFICACIONES

 

  • Totalmente compatible con Arduino
  • Conexión con el puerto serial
  • Quad-Band 850/ 900/ 1800/ 1900 Mhz
  • GPRS multi-slot clase 10/8
  • GPRS mobile station clase B
  • Compatible GSM fase 2/2+
  • Clase 4 (2 W (AT) 850 / 900 MHz)
  • Clase 1 (1 W (AT) 1800 / 1900MHz)
  • TCP/UP  embebido
  • Soporta RTC
  • Consumo de 1.5 mA (susp)

MATERIAL

  • Shield SIM900 GSM SimCOM
  • ARDUINO UNO
  • CABLES JUMPER MACHO-MACHO

En la tienda virtual de HeTPro puedes encontrar todos los manteriales: hetpro-store.com

Los controladores y software Arduino lo puedes encontrar en: www.arduino.cc

CONEXIÓN

El modelo de tarjeta GPRS GSM que se utilizo no incluye los pines para montarlo directamente sobre el ARDUINO pero no causara problemas en la conexión  ya que es controlado por UART solo necesitamos TX y RX.

DIAGRAMA DE CONEXIÓN DEL SIM900 GSM

DIAGRAMA DE CONEXIÓN DEL SIM900 GSM Y ARDUINO UNO

 

Para la transmisión de datos entre el SIM GPRS y el ARDUINO vamos a utilizar los  pines 7 y 8 así que asegúrate que los jumper de la tarjeta GSM estén posicionados en D7 y D8 para activar estos pines.

tx_rx

JUMPER TX(D7) Y RX(D8)

 

CÓDIGO

Este código básicamente hará una llamada, colgara y en seguida mandara un mensaje de texto a un teléfono móvil y estará.

Ya que se encuentre compilado y cargado encendemos el modulo SIM con el botón de Powerkey y esperamos a que el Netlight  parpadee una ves cada dos segundos

power

NETLIGHT Y POWERKEY

 

Abrimos el puerto serial y al rededor de 30 segundos después deberá hacer las funciones indicadas

Sin título

PUERTO SERIAL SIM

 

 

VID_20151012_160547[2]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  1. que tal buen dia , intento hacer funcionar GPRS SIMCOM SIM900 Quad band GSM shield pero por alguna razon no funciona , estoy haciendo la misma conexion puesta arriba una y otra vez pero no prende ni siquiera un led , tendras algun manual donde espesifique que hace cada pin. saludo

  2. hola, veo que ese sim900 board tiene unos orificios de lado de los headers hembra donde van los pines q se conectan mediantecable, quisiera para q tiene esos orificios extra, gracias.

  3. Hola

    gusto en saludarte, quisiera molestarte con una duda, en una página muestran un ejemplo parecido con una tarjeta muy parecida a ésta, creo que se llama Linksprite

    http://linksprite.com/wiki/index.php5?title=SIM900_GPRS/GSM_Shield

    La verdad no he encontrado algo más completo para esta placa utilizada en tu ejemplo pero al ser similares me basé en ambos ejemplos.

    Mi pregunta es ¿como enciendo la placa sin el powerkey? … en la otra placa salía un código que levantaba la entrada D9 por unos segunos y eso equivalía a apretar el botón pero acá no me funciona.

    Saludos

    • Tienes la placa blanca? como la del link, si es asi, tiene que funcionar con el D9, según la wiki dice: D9 – Used for software control the power up or down of the SIM900

      • Solucionado … tuve que puentear unos pines para poder ocupar el D9 para realizar un encendido por programa

        • Hola. Tengo un problema similar al tuyo y quisiera pedirte el favor de que me indiques cuáles son los pines que debo puentear para poder encender el módulo con el D9. Muchas gracias!

          • Ninguno, si lo estas usando con el Arduino UNO o Mega, solo activa el D9. Casi todas las versiones de este SIM900 tienen un transistor que automáticamente detecta la entrada del pin D9.

      • HOLA. Gracias por la respuesta, de todas formas descubrí que, en mi versión de Arduino GPRS SHIELD hay un par de soldaduras encima del conector donde está el D9 y se aclara que hay que soldar JP (las mencionadas soldaduras) para habilitar el encendido por software. Efectivamente apoyé el soldador para unir estos dos puntos y funcionó correctamente. Espero que le sirva a alguien. Gracias por el tutorial que me abrió la mente.

  4. Hola mi estimado… Que buen tutorial, pero tengo una duda… En mi trabajo me han pedido que utilice uno de estos & un arduino UNO para poder tener conectividad en internet, pero no obtengo la manera.

    Tenemos un sistema de monitoreo ambiental (Humedad, Temperatura & PH) & queremos que la información se envíe a un serivdor con web service a HTTP, pero según había leído que no era posible, así que pido tu ayuda, a ver si como detalle podráis orientarme hacía donde caminar. SALUDOS.

  5. hola hector , tengo un problema con mi GSM , que conecta la manera que lo hizo , pero no hay luces LED.
    ¿cuál es el problema?

  6. Buenas, creo que he seguido bien los pasos y no me funciona, se apagan las dos luces rojas (la que parpadea y la que está al lado de ésta) pasados unos segundos. Tengo dudas con las conexiones, ya que el esquema “DIAGRAMA DE CONEXIÓN DEL SIM900 Y ARDUINO UNO” y la foto “JUMPER TX(D7) Y RX(D8)” no coinciden. Las conexiones en el Arduino son en los pines 7 y 8 y en las dos GRN?

    • Iñaki, si se apagan las luces es probable que el sistema se este reseteando, esto suele pasar cuando tu fuente de alimentación no es suficiente. 1) Exactamente que módulo estas usando. 2) Que alimentación estas usanado?

  7. Que tal Hector, tengo el shield de elecrow a probar con tu código me aparece esto, que estoy haciendo mal?

    OK
    SMS sent successfully
    ATD xxxxxxxxxx;

    ERROR

    ATH

    OK
    AT+CMGF=1

    OK
    AT + CMGS = “xxxxxxxxxx”

    ERROR
    Saludos desde HetPro

    AT+CMGF=1

    NORMAL POWER DOWN

    • Suponiendo que tus “XXX” sean donde esta el numero que quieres usar, te recomiendo revisar tu fuente de alimentación, revisa que tengas 2A en el eliminador que estas usando y revisa que el LED de estatus este parpadeando (cuando parpadea es que hay red).

  8. hola que tal.
    Espero me puedan ayudar, tengo el mismo sim900 con el arduino UNO.
    Utilozo el mismo codigo y el mismo cableado con 2 fuentes diferentes (una para el sim900 y otro para el arduino) pero no me marca y no me manda mensaje al celular que le indico, no se si tenga error en el numero del celular puesto que el codigo me indica que uno es nuero local y otro es celular pero no se con cuando digitos debe ser el numero y si deberia llevar el codigo de pais y en total cuantos digitos deberian ser.

    Esto es lo unico que me arroja.

    OK
    SMS sent successfully

    • El numero celular va tal cual, no usamos el código de país (creo que funciona con o sin código). Mi recomendación seria la siguiente. 1) Tu SIM900 esta prendido? esto lo revisas con el LED de status que se mantenga parpadeando SIEMPRE y no se apague. 2) Tienes saldo en tu sim?

      • Mi modulo esta alimentado y encienden los leds y no se apagan. el problema es que solo me manda estos errores.

        OK
        SMS sent successfully
        ATD 8992141467;

        ERROR

        ATH

        OK
        AT+CMGF=1

        OK
        AT+CMGS=

        lo estoy cableando exactamente como lo indica en las imagenes y con el mismo programa, al menos que le tenga que modificar algo mas?
        El sim si tiene saldo y es 4g, que crees que pueda ser o alguien tiene un programa que sea capaz de encender el sim900 con una instruccion del arduino, osea que al encender el arduino encienda mi sim900 al mismo tiempo?

        • Sergio, para encender el SIM900 con el arduino tienes que activar el pin digital 9 por 1 segundo o un poco más, viene en la hoja de datos del SIM900 que es la misma acción que cuando presionas el botón. A que te refieres con que no se apagan los LEDs? TIENEN que parpadear para agarrar señal.

          • Hector Torres, lo que pasa que soy nuevo en esto de los arduinos y me es muy desesperante no poder realizar esta etapa puesto que debo realizar la llamada o un mensaje desde el sim900 al ser activados por una señal o al controlar la alimentacion de la sim y el arduino, tu no tendrás un programa que realice una llamada sin tener que conectarme via serial y que sea capaz de encender el sim900 con el pin 9 como lo mencionas?

          • Sergio, siempre vas a ocupar el serial ya que necesitas de los comandos seriales AT para activar el SIM900, no necesita estar conectado a tu PC pero si el serial del micro al SIM900. Para activar por el pin9 solo checa el ejemplo de blink es lo mismo pero en ves de 13 es pin 9. Saludos.

        • Votado, espero no encontrar polonio en mis cereales en los próximos días Solo una cosa. Hay que abrir un &#owd0;cr822founding” para cambiarle el diseño a este blog, con urgencia.

  9. Hola Héctor, gracias por el tutorial. Quería preguntarte por qué en mi SIM900 nunca parpadea “Status” y NetLight se queda fijo en rojo. ¿sabrás algo al respecto? Gracias de antemano.

    • Marco, si no parpadea el status es que no tienes señal, corrobora la señal con un celular y revisa que si tengas la antena bien conectada. Por ultimo revisa que si estes encendiendo el módulo, esto lo haces presionando unos 2 segundos el push que tiene la tarjeta y que tengas una eliminador de 12V 2A.

  10. Muy buen tutorial, estoy utilizando el sim900/A mini y no sé relamente como conectarlo… carge tu programa sin probelas solo que me aparece esto
    (OK
    SMS sent successfully
    ATD 5533489439;

    ERROR)
    Me podrias ayudar ?

  11. una pregunta, cual es el pin para prender el sim por soft, d9 no es. El pin d6 esta marcado como reset pero tampoco funciona. Tienen el esquematico de esta placa?

    • HOLA, TE PUEDO DECIR DOS COSAS: EL PIN 9 NORMALMENTE SE USA PARA EL ENCENDIDO, PERO EN ALGUNAS VERSIONES HAY QUE PUENTEAR CON UN SOLDADOR ENCIMA DEL MENCIONADO PIN 9 (APROXIMADAMENTE 1 CM). TAMBIÉN ALGUNAS VERSIONES DE SHIELD (ICOMSAT, POR EJEMPLO) NO FUNCIONAN CORRÉCTAMENTE POR ENCIMA DE 9600 BAUDIOS.

      • Hola!

        Tengo una version de la placa en que creo q debo pinchar el pin9, pero no estoy seguro de como hacerlo, podrías dar más detalles?

        me adelanto a algunos comentarios: el pin9 no me funciona directamente, y en mi placa no aparece el jp, (tenia otra que si lo tenía).

        • Disculpa que version de tarjeta tienes? y a lo que se refieren es que es solo soldar para realizar un puente entre pines, saludos

        • HOLA!. EN MI VERSIÓN DE PLACA TAMPOCO ESTÁ MARCADO, PERO A 6 mm HACIA EL INTERIOR DE LA PLACA, TOMANDO COMO REFERENCIA EL PIN 8, HAY UNA PEQUEÑA ISLA DE CIRCUITO IMPRESO QUE SOLDÉ PARA HABILITAR EL ENCENDIDO POR SOFTWARE. HE LEÍDO QUE, EN OTRAS VERSIONES, EL PIN DE ENCENDIDO NO ES EL 9.SUERTE.

  12. Hola, te hago una consulta para usar la placa para un sensor que este transmitiendo a una pagina, por ejemplo temperatura cada 5 minutos, que se usa para el envio de datos.
    Yo estoy probando con http post, es con eso o hay algun metodo mas seguro. Por que cada tanto pierdo paquetes de informacion. Se podra utilizar el sim900 para por ejemplo re grabar el arduino en forma remota?

    Saludos y gracias

    • Hola, si se puede realizar la transmisión de datos, desconozco los si es el método mas seguro, pero esta tarjeta no ayuda a re-programar de manera remota lo que puedes utilizar es un programa para manipular una computadora de manera remota y así re-programar tu Arduino

    • Firman Allah bermaksud: “Wahai orang yang beriman, jika datang kepada kamu seorang fasik membawa sesuatu berita, maka selidik (untuk menentukan) kebenarannya, supaya kamu tidak menimpakan sesuatu kaum dengan perkara tidak diingini, dengan sebab kejahilan kamu (mengenainya) sehingga menyebabkan kamu menyesali perkara yang kamu lakukan.” (Surah al-Hujurat, ayat 6)

  13. Hola, una consulta, como puedo hacer que la shield sim900 prenda automaticamente sin tener que presionar el powerkey? estoy diseñando un sistema de alarma pero si se corta la electricidad del arduino, tendré que ir al sistema y apretar el powerkey para que el NETLIGHT quede activo. No se si me explico.
    Quedo atento a tus comentarios.

    Saludos!

    • Hola gracias por cunsultar el tutorial, en esta misma seccion de preguntas se ha solucionado el problema y fue soldar con el pin d9 te recomiendo leer esa pregunta para ver si es lo indicado con lo que requieres, saludos!

  14. tengo la tarjeta, el chip, el codigo y todo, pero solo parpadea el LED de netlight y status no, tengo un chip telcel 4g, ya cheque la antena, la alimentacion la tengo directa del arduino con un eliminador a 12v 2.5A, que es lo que sugeririan o que es lo que se debe hacer en este caso?

    • Es un nombre comun para este disposiivo que conectas al arduino para alimentar de manera externa en este caso con 12v y 2A, saludos

  15. Hola, gracias por la pagina. Estoy probando con un tarjeta sim900, pero aca en Peru, solo me funciona con operador movistar, con claro no me responde. Si alguien le ha pasado eso??

  16. HELLOO HECTOR ! PLEASE TELL THAT WIRING ARDUINO WITH GSM SHIELD AS U SHOWN IS COREECT OR WE HAVE TO CONNECT IT WITH UART TX AND RX….?

  17. Hola, buen dia, ARDUINO me puede servir como Dialer? es decir, so lo conecto a un panel de Alarma, me puede llamar a mi celular?

  18. buenas,

    quisiera saber exactamente que cosa habria que soldar contra el PIN9 tan mencionado.. pues, no me funciona correctamente el modulo. Solamente estos resultados tengo en el monitor serial:

    OK
    SMS sent successfully

    gracias.

  19. Srs, Buenas noches, dias ya

    Pues resolvi el problema, la situacion es el SIM, usaba uno nuevo de la version 6 que es los que venden en 30 pesos, para telcel, pero no funciono por nada, y busque uno entre mis cosas, descartando opciones, me tope con uno ya viejo muchos años podria decir, estaba cortado para usarse con un iphone 4 y funciono de inmediato se gancho a la red y a volar, si es importante lo de las conxiones al SHIELD pero es algo facil, mañana les cuento mas por queya hice lo que buscaba, por hoy.

    Saludos

  20. Hola, muy buen tutorial comprobe tu codigo con mi arduino y gsm y me funciona bien.
    Mi consulta a ver si me podrias ayudar es que estoy haciendo un proyecto que pueda enviar un sms y activar o desactivar un modulo rele.

    Espero que me puedas ayudar gracias

    • Hola agradecemos tus comentarios, lo que puedes realizar es un comando especial que desenergice la parte de tu proyecto, algo asi como una secuencia de codigo que permita hacerlo

  21. ola saul, yo teno la sim900 mini v3.8 las conexiones no son las mismas, sabes como tendría que conectar esta a arduino para que me funcionase tu código?¿ tu código vale para este shield? y otra pregunta, soy de españa y utiliza una tarjeta de orange sin pin, sabes si valdrÁ’ muchas gracias de antemano, un saludo.

  22. Saludos, muy articulo y comentarios. Hace poco me entregaron una de estas tarjetas para un proyecto y hasta ahora no he conseguido documentacion oficial de la tarjeta sino experiencias de otros usuarios. Tengo dos consultas:
    1- Cuales son los niveles max y min para alimentar la tarjeta externamente.
    2- En una de las esquinas de la placa hay una serie de huecos con la nomenclatura del puerto serial UART. En este puerto los niveles de voltaje son TTL o son RS-232 compatibles para conectarlo directamente a un puerto serial de un PC y aplicar los comandos AT via HyperTerminal o PuTTY?

  23. hola buenaS NOCHES
    YO tengo un sim 800c y quisiera usar un contacto del arduino para enviar el mensaje y uno el modulo com como lo puedo hacer con el programa

    • A lo que entendemos, puedes usar la parte del codigo dos veces donde pide enviar el mensaje y solo colocas el numero telefonico y verificas que este indicado de manera correcta

    • One day, kameron found a note in her yard saying that bloody mary is going to come in her home and kill her at night in 3days. kameron threw the note away and three days later her parents found her dead, laying on the bathroom floor with blood evmoowhere.syeerne didn’t forward the message to the three videos and she went to te hospital and got pneumonia and died.5 vids: nothing will happen to u3 videos: u will get pneumonia1 vid: bloody mary wil haunt you

  24. Hola una pregunta para un chip Telcel se maneja con 192000 baudio ya que salen unos simbolo. y solo se marcan los 10 digitos para celular la cual incluye la lada del estado. Muchas gracias y saludos.

  25. SALUDOS, SABES SI SE PUEDEN MANDAR CODIGOS AT SIN NECESIDAD DE ABRIR EL MONITOR SERIAL DE ARDUINO, SINO QUE DE MANERA AUTOMATICA POR PROGRAMACIÓN SE EJECUTEN??

  26. Me podrían ayudar por favor.
    Preciso de enviar un mensaje con dicho módulo, si está conectado bien, el switch en orden para que pueda recibir alimentación desde el arduino, si conecto el chip al modulo y llamo desde mi teléfono funciona, o sea, no se corta al instante, por lo tanto el módulo funciona, sin embargo no puedo hacer llamadas o enviar mensajes a mi teléfono, no sé si está mal conectado o mal programado. Adjunto mi código

    #include
    SoftwareSerial SIM900(7, 8); // 10 y 11 para el Arduino Mega. Configura el puerto serie para el SIM900.
    int ledR = 10;
    int ledV = 11;
    boolean flag = true;
    void setup()
    {
    digitalWrite(9, HIGH); // Descomentar para activar la alimentación de la tarjeta por Software
    delay(1000);
    //digitalWrite(9, LOW);
    pinMode(ledR, OUTPUT);
    pinMode(ledV, OUTPUT);
    delay (5000); //Nos damos un tiempo para encender el GPRS y la alimentación de la tarjeta
    SIM900.begin(19200); //Configura velocidad del puerto serie para el SIM900
    Serial.begin(19200); //Configura velocidad del puerto serie del Arduino
    Serial.println(“OK”);
    delay (1000);
    SIM900.println(“AT + CPIN = \”1111\””); //Comando AT para introducir el PIN de la tarjeta
    delay(25000); //Tiempo para que encuentre una RED
    }

    void llamar()
    {
    Serial.println(“Realizando llamada…”);
    if(flag){
    SIM900.println(“ATD+52———-;”); //Comando AT para realizar una llamada
    delay(30000); // Espera 30 segundos mientras realiza la llamada
    SIM900.println(“ATH”); // Cuelga la llamada
    delay(1000);
    Serial.println(“Llamada finalizada”);
    digitalWrite(ledV, HIGH);
    delay(1000);
    digitalWrite(ledV, LOW);
    }
    }

    void mensaje_sms()
    {
    Serial.println(“Enviando SMS…”);
    SIM900.print(“AT+CMGF=1\r”); //Configura el modo texto para enviar o recibir mensajes
    delay(1000);
    SIM900.println(“AT + CMGS = \”+52———-\””); //Numero al que vamos a enviar el mensaje
    delay(1000);
    SIM900.println(“SMS enviado desde un Arduino. Saludos de Prometec.”); // Texto del SMS
    delay(100);
    SIM900.println((char)26); //Comando de finalización ^Z
    delay(100);
    SIM900.println();
    delay(5000); // Esperamos un tiempo para que envíe el SMS
    Serial.println(“SMS enviado”);
    }

    void loop()
    {
    llamar(); //Realiza la llamada
    mensaje_sms();
    while (1);
    }

  27. No marca errores de salida ni nada, sin embargo a mi teléfono no llegan los mensajes ni las llamadas.

    #include
    SoftwareSerial SIM900(7, 8); // 10 y 11 para el Arduino Mega. Configura el puerto serie para el SIM900.
    int ledR = 10;
    int ledV = 11;
    boolean flag = true;
    void setup()
    {
    digitalWrite(9, HIGH); // Descomentar para activar la alimentación de la tarjeta por Software
    delay(1000);
    //digitalWrite(9, LOW);
    pinMode(ledR, OUTPUT);
    pinMode(ledV, OUTPUT);
    delay (5000); //Nos damos un tiempo para encender el GPRS y la alimentación de la tarjeta
    SIM900.begin(19200); //Configura velocidad del puerto serie para el SIM900
    Serial.begin(19200); //Configura velocidad del puerto serie del Arduino
    Serial.println(“OK”);
    delay (1000);
    SIM900.println(“AT + CPIN = \”1111\””); //Comando AT para introducir el PIN de la tarjeta
    delay(25000); //Tiempo para que encuentre una RED
    }

    void llamar()
    {
    Serial.println(“Realizando llamada…”);
    if(flag){
    SIM900.println(“ATD+52———-;”); //Comando AT para realizar una llamada
    delay(30000); // Espera 30 segundos mientras realiza la llamada
    SIM900.println(“ATH”); // Cuelga la llamada
    delay(1000);
    Serial.println(“Llamada finalizada”);
    digitalWrite(ledV, HIGH);
    delay(1000);
    digitalWrite(ledV, LOW);
    }
    }

    void mensaje_sms()
    {
    Serial.println(“Enviando SMS…”);
    SIM900.print(“AT+CMGF=1\r”); //Configura el modo texto para enviar o recibir mensajes
    delay(1000);
    SIM900.println(“AT + CMGS = \”+52———-\””); //Numero al que vamos a enviar el mensaje
    delay(1000);
    SIM900.println(“SMS enviado desde un Arduino. Saludos de Prometec.”); // Texto del SMS
    delay(100);
    SIM900.println((char)26); //Comando de finalización ^Z
    delay(100);
    SIM900.println();
    delay(5000); // Esperamos un tiempo para que envíe el SMS
    Serial.println(“SMS enviado”);
    }

    void loop()
    {
    llamar(); //Realiza la llamada
    mensaje_sms();
    while (1);
    }

    • Yo tengo el mismo problema, creo que es por que no se a establecido una conexion del modulo sim900, en mi caso aprieto el boton de power key por 2 segundos y solo queda parpadeando el led de NetLight a 800ms, lo eh dejado por 5 min y no establece conexion, ya eh probado con varios chip de telcel, unefon y movistar.

  28. Hola buen dia, yo estoy trabajando con uno de estos pero me da el siguiente error “+CME ERROR 3” tienen idea de por que da ese error? gracias de antemano.

  29. com prendo el gps SIM900 GSM GPRS SHIELD, sin utilizar el power key en automatico con comandos at y la libreria del gps

  30. Buen dia. Saben si definitivamente no es compatible con los chips de telcel v6.2 4g ?

    O tienen alguna solución?

    • Ya me funcionó para chips 4G de México de las telefónicas Movistar, Unefón y Telcel.
      Pero la Shield está alimentada con su propio eliminador, estoy usando uno de Steren de 4.5V a 1200mA.
      Aun así le deje el cable jumper GND que va de la tarjeta a la Shield.

      • JPablo, el jumper a GND si es necesario ya que es la referencia a tierra para la transferencia de datos entre el GSM y el Arduino. El eliminador también es muy recomendado ya que muchas veces que intentan probarlo solo de la PC la corriente no es suficiente. Gracias por tu comentario.

  31. hola amigo existe una comando at para saber si mi targeta sim 900 esta conectada a la red y si no es asi activar el pin d9 para restaurar la coneccion gracias!

    • Prueba con estos 2:

      AT+CREG? -> debe devolver 0,1 ó también 0,5
      AT+COPS? -> devuelve el nombre de la red a la que se conectó

      y quizás este otro:
      AT+CSQ -> devuelve la potencia de la señal, de 0 a 31, ó 99 que no la detecta

  32. Buenas tardes. Es posible saber si la sim900 ha sido homologada para funcionar en las redes de Estados Unidos? Me encuentro en Colombia y aqui se usa el listado de terminales GSM homologados allá. De esto depende un gran proyecto. Gracias por tu respuesta.

    • Gildardo si es un gran proyecto te recomiendo revisar a detalle el mismo. El módulo SIM900 debería de funcionar en Colombia, no me consta por que estoy en México. Solo revisa que se manejen las bandas GSM a 850,900,1800,1900 MHz. También revisa que no sea el SIM900A ese tiene unos bloqueos regionales.

  33. Hola, muy bueno el post, una consulta, esto se podria por ejemplo utilizar para controlar unos relay conectados el arduino?, de esta manera puedo prender o apagar remotamente algun dispositivo o algo que se pueda controlar por relay, tienes algun ejemplo de esto?, MIL gracias por tu aporte!!!

  34. Genial el proyecto, una sola pregunta. Puedo trabajar con otro pin que sean aparte del 7 y 8 del Arduino Uno?? Y si se puede que pines podría utilizar eso es todo Gracias!!!

  35. Necesito un simple codigo para obtener que el GSM+Arduino UNO, envien un mensaje a un numero de celular en cuanto un sensor PIR se active.
    que sea para este shield.
    no importa la posicion de los PIN, eso es secondario.
    donde lo consigo?

    gracias

    • Lorenzo, el sensor PIR da un pulso digital, solo pon la parte del mesnaje dentro de una condición tipo IF y pon if(pin_pir==1) que se active la secuencia de mensaje, mientras que sea 0 no se mandara el msj. Te recomiendo poner un delay despues de mandar el msj para que no se repita mientras el pulso del pir este ene alto.

  36. El modulo GSM funciona en México? Tengo entendido que algunos de los modulos sim900 dependen de la zona geográfica en la que se encuetnran.

  37. me sale este error, me dice: ‘amp’ was not declared in this scope
    Me podrian ayudar? gracias

    C:\Users\marti\Desktop\Programacion_SIM900\Programacion_SIM900.ino:16:28: warning: extra tokens at end of #include directive

    #include ;

    ^

    C:\Users\marti\Desktop\Programacion_SIM900\Programacion_SIM900.ino: In function ‘void loop()’:

    Programacion_SIM900:92: error: ‘amp’ was not declared in this scope

    if(Serial.available()>0)

    ^

    Programacion_SIM900:92: error: expected ‘)’ before ‘;’ token

    if(Serial.available()>0)

    ^

    Programacion_SIM900:92: error: ‘amp’ was not declared in this scope

    if(Serial.available()>0)

    ^

    Programacion_SIM900:92: error: ‘gt’ was not declared in this scope

    if(Serial.available()>0)

    ^

    Programacion_SIM900:92: error: expected ‘;’ before ‘)’ token

    if(Serial.available()>0)

    ^

    exit status 1
    ‘amp’ was not declared in this scope

    • Hola que tal Martin Davila, en ocasiones al colocar el código en el tutorial, cambian algunos signos, puedes sustituir la linea de codigo que te marca error por esta otra

      if(Serial.available() > 0)

  38. Hola intento hacer la practica que ustedes han proporcionado pero me marca el siguiente error:
    C:\Users\xxxx\Desktop\sketch_may16b\sketch_may16b.ino:2:28: warning: extra tokens at end of #include directive

    #include ;

    ^

    C:\Users\rafus\Desktop\sketch_may16b\sketch_may16b.ino: In function ‘void loop()’:

    sketch_may16b:78: error: ‘amp’ was not declared in this scope

    if(Serial.available()>0)

    ^

    sketch_may16b:78: error: expected ‘)’ before ‘;’ token

    if(Serial.available()>0)

    ^

    sketch_may16b:78: error: ‘amp’ was not declared in this scope

    if(Serial.available()>0)

    ^

    sketch_may16b:78: error: ‘gt’ was not declared in this scope

    if(Serial.available()>0)

    ^

    sketch_may16b:78: error: expected ‘;’ before ‘)’ token

    if(Serial.available()>0)

    ^
    exit status 1
    ‘amp’ was not declared in this scope

  39. verificamos el código, y no nos marca ningún error, sin embargo, cuando cargamos al arduino no nos realiza ninguna llamada ni mensaje, pero en el monitor serie solo nos manda las siguientes siglas
    OK
    SMS sent successfully
    y en la tarjeta cuando presiono el boton pwrkey prenden tanto las luces status y nelight, pero no se mantiene encendido el de status. No se que mas hacer porque no hay error en codigo y la tarjeta es nueva, igual no se que tanto tenga que ver el chip que utilizo y la telefonía.

  40. verificamos el código, y no nos marca ningún error, sin embargo, cuando cargamos al arduino no nos realiza ninguna llamada ni mensaje, pero en el monitor serie solo nos manda las siguientes siglas
    OK
    SMS sent successfully
    y en la tarjeta cuando presiono el boton pwrkey prenden tanto las luces status y nelight, pero no se mantiene encendido el de status. No se que mas hacer porque no hay error en codigo y la tarjeta es nueva, igual no se que tanto tenga que ver el chip que utilizo y la telefonía.

    • Jovany, el codigo tenia un pequeño error igual puedes copiarlo y probarlo de nuevo. Te recomiendo revisar el LED de status, este LED TIENE que parpadear para indicar que ya agarro RED. Precisamente tiene que parpadear en la velocidad lenta, ya que inicia un poco más rapido. Te recomiendo lo siguiente: 1) Trata de ponerte en un lugar donde estes seguro que llegue buena señal y 2) Procura prender el módulo antes o subir un poco el delay al inicio del codigo.

  41. Me sale un warning (C:\Users\gateway\AppData\Local\Temp\Rar$DIa0.750\gsm\gsm.ino:1:28: warning: extra tokens at end of #include directive [enabled by default]

    #include 😉
    pero si me deja compilar y al abrir el monitor serial me manda
    OK
    SMS sent successfully
    la luz de estatus no parpadea pero si esta encendida, y la luz nelight si parpadea, si hay datos en el chip y es telcel.
    Al ingresar el numero solo lo ingrese con 10 digitos y otra cosa es vital utilizar la antena?
    Por favor ayudenme…

  42. Bom dia,
    primeiro peço desculpas por não estar perguntando em espanhol. É que não me comunico muito bem em espanhol.
    Sou brasileira e aqui nosso código telefônico é um pouco diferente. Alguém sabe como devo inserir meu numero?
    Estive olhando e tenho um sim900 placa azul. Aparentemente igual ao da imagem.
    Primeiramente qual a diferença entre o azul e o Branco?

    Segundamente, tentei compilar este código e não deu certo. Alguém poderia me ajudar?
    E sobre as conexões o fio vermelho fica ligado no 3.3 ou 5v?

    • Oi eu vou tentar com o tradutor.
      1) Você pode definir o número também marca o seu celular, você não precisa mais.
      2) os fabricantes único cartão azul e branco, mas se você tiver azul bem.
      3) e compila excluir uma linha no final que talvez irá causar erro.
      4) O vermelho vai para 5V.

      • Ola, Gracias! (Sería así en español? 🙂 )
        Gostaria de saber como faço essa definição? Do numero e da marca, em qual parte do código.
        E na número 2, você disse que tanto faz? Azul ou branco?
        E na número 3 qual a linha devo tirar?

        Gracias, Tradutor salvando vidas! rs

          • Desculpe, vou tentar falar com maiores detalhes.

            Perguntei como fazer o número 1. “1) Você pode definir o número também marca o seu celular, você não precisa mais.”
            Na resposta, número 2. Você afirmou que tanto faz ter o azul ou branco, correto?
            Na resposta, número 3, você disse para retirar uma linha, perguntei qual linha seria?

            Obrigada.

  43. Buenas tardes, quiero hacer un sistema que envíe un SMS a varios número de celular. Se puede hacer o sólo aun número se puenden enviar los mensajes?
    Gracias

  44. estimado muy buen aporte mira tengo un problema yo tengo el modulo gsm/grps sim 900 y arduino uno conectado a un sensor peer y un led. pero tengo el siguiente problema:
    el modulo no realiza la llamada. tengo montado el modulo gsm/ grps sim 900 a mi arduino y tambien conectado a un led y un sensor esos si me funcionan pero no realiza la llamada cual crees que sea el error.

    te agradezco tu gran ayuda anticipadamente:
    este es el codigo que tengo:

    #include
    SoftwareSerial SIM900(7, 8);
    int pinSensor = 12;
    int pinLed = 13;

    void setup()
    {
    SIM900.begin(19200);
    SIM900power();
    delay(10000);
    pinMode(pinSensor,INPUT);
    pinMode(pinLed,OUTPUT);
    Serial.begin(9600);
    }

    void SIM900power()

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

    void callSomeone()
    {
    SIM900.println(“ATD+ +51992264386;”);
    delay(100);
    SIM900.println();
    delay(30000);
    SIM900.println(“ATH”);
    }

    void loop()
    {
    int lectura = digitalRead(pinSensor);
    if(lectura==HIGH)
    {
    digitalWrite(pinLed,HIGH);
    Serial.println(“INTRUSO”);
    callSomeone();
    }
    if(lectura==LOW);
    {
    digitalWrite(pinLed,LOW);
    Serial.println(“DESPEJADO”);
    }

    // SIM900power();

    }

  45. buenas noches,
    serian tan amables de informarme si ese proyecto se puede que llame a 2 números diferentes a la ves o con algún tiempo de uno al otro.

    gracias david

  46. Hola.
    a ver si me pueden ayudar.
    Si no declaro pinMode (9, OUTPUT) en el stup mi arduino no prende el pin 9 para poner en marcha el modulo sim900.
    En ninguno de los ejemplos que he visto, nadie declara ese pin como salida y directamente lo utilizan para prender con uno digitalWrite (9, Higt).
    No se, algo debo de tener mal porque yo, si no hago esto no me va.
    Igual deberia estar declarado por defecto, y me falta algo.
    Gracias.

    • Hola para poder utilizar el pin9 como salida TIENES que configurarlo como salida, ya que si no el comportamiento puede ser errático. Saludos. Como dato, revisa el LED de STATUS tiene que parpadear un poco más lento. Yo lo que hago es que leo con los comandos AT parámetros de la red. Te paso un extracto de un código de debug que tengo. (Tienes que declarar los String).
      Serial1.println(“AT+CSQ”);
      delay(10);
      Serial.print(“Fuerza de la senal:”);
      SignalStatus = Serial1.readString();
      Serial.println(SignalStatus.substring(11,20));

      Serial1.println(“AT+CGREG?”);
      delay(10);
      Serial.print(“Estado de la Red:”);
      EstadoDeLaRed = Serial1.readString();
      Serial.println(EstadoDeLaRed.substring(14,25));

      Serial1.println(“AT+CPIN?”);
      delay(10);
      Serial.print(“Estado del SIM:”);
      EstadoDelSim = Serial1.readString();
      Serial.println(EstadoDelSim.substring(13,25));

      Serial1.println(“AT+COPS?”);
      delay(10);
      Serial.print(“Proveedor de red:”);
      ProveedorDeRed = Serial1.readString();

  47. Hola Hector, no me funciona, creo que es por la libreria, podrias decirme de donde bajar la libreria para SIM900, yo tengo el shield para colocar arriba del arduino directamente.

    Gracias por toda la info que brindas.

    • Este ejemplo no hace uso de una librería para el SIM900. Mi recomendación es que comiences por el principio, en este caso manda un comando AT para ver que te responde el sistema, te tiene que responder OK. Algo asi:
      Serial1.println(“AAAAT”);
      delay(10);
      Serial.print(“Respuesta:”);
      Serial.println(SIM900.readString(););
      Inicializa tu serial del SIM900 en 9600 o 19200 (si no funcionan prueba todos los demas ya que puede estar en otra frecuencia).

  48. buenos dias, cordial saludo una pregunta como haria para encender o apagar algo enviendo un pulso positivo o negativo por ejemplo desde mi celular donde quiera que yo este.

    gracias a todos .

    atte: dany

  49. Buenos días, tengo un modulo de estos pero no me detecta ningún chip: +CME ERROR: SIM not inserted, he probado con varios sin éxito, tienen alguna recomendación para revisar si el módulo esta defectuoso? o el chip debe cumplir algún requerimiento? He medio los voltajes en los contactos del zócalo donde se inserta el chip, es normal que todo tenga 0 Voltios?
    Por favor su gentil ayuda.
    Gracias.

      • Hola buenos días,
        Ya resolvi el problema con el chip gsm, pero me he dado cuenta que ejecutando el código el arduino se reinicia, y no es el shield gsm, sino el arduino. A alguno le ha pasado esto?
        Gracias.

  50. Hola buen dia, muchas gracias por el aporte me sirvió mucho y me funciona perfectamente aqui en Ecuador para un proyecto de alarma pero quisiera saber como puedo hacer para encender un led (como ejemplo) mediante un mensaje de texto, seria de gran ayuda si me ayudara a configurara esa parte desde el mismo codigo que fue subido. Muchas Gracias

    • acaso se satura? o se queda leyendo mensaje para cualquier cosa que entre??

      Lo que estoy buscando es que el código se quede en modo leer mensaje para cuando ingrese el carácter que necesito automáticamente me envíe un mensaje pero no busco que se quede dormido.
      saludos.

      ps. se puede encender la sim900 con software?

  51. en la hoja de datos esta como encender la sim900 sin necesidad de oprimir en boton power, informacion por favor? ya que al dar corriente al proyecto necesito que se enciendan el arduino y la sim900 y quede buscando señal.

  52. hola soy de chile el problema que tengo no toma señal al encender la shield gsm… estoy usando un chip o sim 4g movistar