Go Down

Topic: SOLVED: Turning on/off Linksprite SIM900 shield (Read 9712 times) previous topic - next topic

pgmartin

Oct 27, 2013, 03:14 pm Last Edit: Oct 28, 2013, 09:43 pm by pgmartin Reason: 1
Hi,
I have a Linksprite SIM900 shield, that I got to work except for one thing: I´m not able to turn it on and off usig the D9 pin.
This is the shield: http://linksprite.com/wiki/index.php5?title=SIM900_GPRS/GSM_Shield
The sim900 datasheet states that a pulse > 1.1sec would get the shield on or off. Since the D9 pin is wired to a transistor, I´m seting the pin HIGH for 2 seconds and then back to low. But nothing happens..not on and not off.
As an alternative to turn it off I´ve used the AT+CPOWD=1 command, which works fine.
The powerkey works with no problem. I have to hold it for almost 3 seconds to turn the shield on or off.
I found this page, but the solution doesn´t work either: http://tijaquim.blogspot.com/2011/11/how-to-turn-on-sim900-with-arduino.html

Anyone has the same experience?

gershwinv

I am using an arduino uno and with Linksprite SIM900 shield here is my sketch that's working.
// Example 55.1

#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8); // configure software serial port

void setup()
{
  SIM900.begin(9600);               
  SIM900power(); 
  delay(20000);  // give time to log on to network.
}

void SIM900power()
// software equivalent of pressing the GSM shield "power" button
{
  digitalWrite(9, HIGH);
  delay(1000);
  digitalWrite(9, LOW);
  delay(5000);
}

void callSomeone()
{
  SIM900.println("ATD + +27xxxxxxxxx;"); //
  delay(100);
  SIM900.println();
  delay(10000);            // wait for 30 seconds...
  SIM900.println("ATH");   // hang up
}

void loop()
{
  callSomeone(); // call someone
  SIM900power();   // power off GSM shield
  do {} while (1); // do nothing
}

pgmartin

Thanks gerschwin. I see that the sketch I was using is like yours and is ok.
I tested it in another shield and it works. It was a hardware problem.

Go Up