onlygio
onlygio

Reputation: 35

Arduino : Icomsat 1.1 GSM and Adafruit GPS, why GSM shut down when I connect GPS with software serial?

I've tried to connect two shields with my Arduino 1 R3.

The Shields are :

  • GSM with ICOMSAT 1.1 shield (http://imall.iteadstudio.com/im120417009.html)
  • GPS with Adafruit GPS shield (adafruit products:1272)
  • If I use these modules separated they works great, when I put them together GSM modules doesn't power on, status led shut down and is on only the power led.

    I read a lot of forums and seems that the problem is the softwareSerial, so I tried these solution : http://forums.adafruit.com/viewtopic.php?f=25&t=38764&hilit=gsm+gps&start=15

    => using AltSoftSerial, making a bridge between pin 9 and RX of the GPS Shield, and cutting pin 7 from TX.

    But it doesn't work.

    This is a piece of code

    #include <Adafruit_GPS.h>
    #include <GSM.h>
    #include <AltSoftSerial.h>
    
    
    #define PINNUMBER ""
    #define PMTK_SET_NMEA_OUTPUT_RMCONLY "$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29"
    #define PMTK_Q_RELEASE "$PMTK605*31"
    #define PMTK_SET_NMEA_UPDATE_1HZ  "$PMTK220,1000*1F"
    
    //GPS
    AltSoftSerial gpsSerial;  //rx, tx (softwareSerial is called in GSM.H)
    Adafruit_GPS GPS(&gpsSerial);
    
    //GSM
    GSM gsmAccess;
    GSM_SMS sms;
    
    void setup(){
       Serial.begin(9600);
       GPS.begin(9600);
       ...
    }
    
    void loop(){
    ...
    }
    

    If I put the switch of GPS Shield on "Direct", GSM power on, but I can't read GPS data.

    Upvotes: 0

    Views: 1400

    Answers (2)

    AndyMall
    AndyMall

    Reputation: 1

    You can create a working GPS and GSM system on Arduino R3 using AltSoftSerial and TinyGPSPlus. Here is a link to a project doing this http://www.mallinson-electrical.com/shop/gpsgsm Hope this helps

    Upvotes: 0

    stanlee
    stanlee

    Reputation: 11

    First of all, you need to know you can't use two software serial at the same time. Secondly, the icomsat uses D8 and D9 as the software power control and reset, you shouldn't use D9 as software serial pins.

    The best way to do it is to use iteaduino mega 2560, and iteaduino gps shield.

    http://imall.iteadstudio.com/development-platform/arduino/arduino-compatible-mainboard/im120410003.html

    http://imall.iteadstudio.com/im120417017.html

    Connect icomsat to UART1, and connect gps to UART2.

    You can tinygps library and gsm library for sim900, you can find the gsm library under useful links of icomsat website.

    Best Regards!


    Stan Lee

    Hardware Engineer

    [email protected]

    Upvotes: 1

    Related Questions