Arduino MEGA + SIM900 + Librería GSMSHIELD (Marcos) + REboot

Estimados, tengo las siguiente situacion quiero saber si se puede hacer:

Tengo conectado un arduino alimentado por jack un sim 900 alimentado por el jack.
En el arduino tengo conectado al usb un power bank

Hasta ahi todo bien…

Desconecto el cargador, y el arduino sigue prendido, es lo que quiero…

El sim900 se apagó, esta bien

Vuelvo a conectar el cargador, el sim900 tiene energia… pero no queda en línea.

La pregunta es??? como puedo hacer para ponerlo en linea???, debería ser algo en el loop ya que el arduino nunca se apagó.

gracias

Tienes que agregar a tu arduino el comando de un pin digital que lo ponga en linea. Es el PowerKEY mira este link Le llaman POWER UP y POWER DOWN para que economice si estas con batería

Si eso lo hago, con este código:

void powerUpOrDown()
{
    pinMode(9, OUTPUT);
    digitalWrite(9,LOW);
    Alarm.delay(1000);
    digitalWrite(9,HIGH);
    Alarm.delay(5000); //era 5000
    digitalWrite(9,LOW);
    Alarm.delay(3000);
}

En el loop, tengo el siguiente código:

if(started)
  {
///codigo .........
}

en el setup tengo esto:

if (gsm.begin(2400)){
    Serial.println("\nstatus=READY");
    started=true; 
    //elimina algun sms trancado
    char position;
    position = sms.IsSMSPresent(SMS_UNREAD); 
    if (position != NULL){
    sms.DeleteSMS(position);}
  }

En el else llamo al proc: void powerUpOrDown()

pero no hace nada ....

se les ocurre algo?????

Hi,
El power supply que suple el voltaje para el sim 900 tiene capacidad para suplir 2 amperios. Recomienda que el power supply pueda suplir 2 amperios. Adjunto especs.

Tauro hace tiempo que esta haciendo consultas por el tema SIM900 de modo que la fuente debe ser de 2A sino ya lo hubiera preguntado. El powerup se ejecuta en el arranque, ahi supongo que no haría falta usar Alarm.delay() Verificaste que el pin 9 hace lo que dice el código? Lo hiciste manual y lo pone en marcha?

Pero llamas al powerUpOrDown en el else del setup?? O en el loop, porque el Arduino no se apaga.