The gsm shield blinks almost every second. The sim-card i am using supports 2G (tried the Orange and Mascom networks providers, both support 2G).
There is excellent network signal(full bars in my mobile phone). Tried several different gsm libraries even the example sketch that comes with the Arduino IDE 1.6.5
Provided the shield with external power supply 6.6V, 2A. I did a lot of research and found out that the shield CAN operate using the PC-USB power from the ArduinoUNO board .
I tried both the D2, D3 jumper setting for software and the D0, D1 for hardware. The antenna is connected to gsm shield.
I disabled the sim-card pin and checked if the sim-card can make calls and send sms with my mobile phone and it did.
bought the shield from Hong Kong via Ebay.
This is the shield: http://www.ebay.com/itm/SIM900-Quad-band-GSM-GPRS-Shield-for-Arduino-UNO-MEGA-Leonardo-/321418410538?pt=LH_DefaultDomain_0&hash=item4ad607ba2a
In the serial monitor, it gets stuck with "SMS Messages Sender" message.
#include <GSM.h>
#define PINNUMBER ""
// initialize the library instance
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSM_SMS sms;
// char array of the telephone number to send SMS
// change the number 1-212-555-1212 to a number
// you have access to
char remoteNumber[20]= "+26777483257";
// char array of the message
char txtMsg[200]="Test";
void setup()
{
// initialize serial communications
Serial.begin(9600);
Serial.println("SMS Messages Sender");
// connection state
boolean notConnected = true;
// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in quotes
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Not connected");
delay(1000);
}
}
Serial.println("GSM initialized");
sendSMS();
}
void loop()
{
// nothing to see here
}
void sendSMS(){
Serial.print("Message to mobile number: ");
Serial.println(remoteNumber);
// sms text
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(txtMsg);
// send the message
sms.beginSMS(remoteNumber);
sms.print(txtMsg);
sms.endSMS();
Serial.println("\nCOMPLETE!\n");
}