SOLVED: Turning on/off Linksprite SIM900 shield

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: NothingMuch: How to Turn On SIM900 with arduino.

Anyone has the same experience?

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
}

1 Like

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.