Trasteando con el modulo GSM Efcom v1.2

Hola de nuevo:

Me he puesto nuevamente a intentar sacar provecho al modulo GSM Efcom v1.2.
http://www.elecfreaks.com/3080.html

En principio y por lo que fui haciendo durante unos meses, se hacer una llamada y enviar un sms con un texto preestablecido.
Otro gallo cantaría, que me tenga que enviar un SMS, indicandome el valor de una variable.

Os pongo los códigos:

LLAMADA DE TELEFONO.

#include <SoftwareSerial.h> 
SoftwareSerial SIM900 ( 0 , 1 ) ; // Configurar los puertos de comunicacion serie
 
void setup ( ) 
{ 
   SIM900 . begin ( 19200 ) ;                
   SIM900power ( ) ;   
   delay ( 20000 ) ;    // Dar tiempo para iniciar y conseguir RED. 
} 
 
void SIM900power ( ) 
// Softwatre equivalente a presionar en el escudo GSM el botón "Power"

{ 
   digitalWrite ( 6 , HIGH ) ; 
   delay ( 1000 ) ; 
   digitalWrite ( 6 , LOW ) ; 
   delay ( 5000 ) ; 
} 
 
void callSomeone ( ) 
{ 
   SIM900 . println ( "ATD + +34612345678;" ) ; // Número de telefono. Formato Internacional
   delay ( 100 ) ; 
   SIM900 . println ( ) ; 
   delay ( 30000 ) ;              // Esperar 30 segundos... 
   SIM900 . println ( "ATH" ) ;    // Colgar 
} 
 
void loop ( ) 
{ 
   callSomeone ( ) ; // Llama 
   SIM900power ( ) ;    // Apaga el telefon 
   do { } while ( 1 ) ; // Hazlo
}

ENVIO DE SMS:

#include <SoftwareSerial.h>

SoftwareSerial SIM900 ( 0 , 1 ) ;
 
void setup ( )
{
   SIM900 . begin ( 19200 ) ;
   SIM900power ( ) ;   
   delay ( 20000 ) ;    // give time to log on to network.
}
 
void SIM900power ( )
// Secuencia equivalente a darle al Botón "Power" del GSM ---- Un pulso mediante el pin6 

{
   digitalWrite ( 6 , HIGH ) ;
   delay ( 1000 ) ;
   digitalWrite ( 6 , LOW ) ;
   delay ( 5000 ) ;
}
 
void sendSMS ( )
{
   SIM900 . print ("AT+CMGF=1\r");                                    // AT command para enviar SMS
   delay ( 100 ) ;
   SIM900 . println ("AT + CMGS = \"+34612345678\"");                // Numero de telefono con numeracIon internacional
   delay ( 100 ) ;
   SIM900 . println ("Hola Mundo. Mensaje desde Arduino");          // mensaje a enviar
   delay ( 100 ) ;
   SIM900 . println ( ( char ) 26 );                        // Fin Comando AT con un ^Z, ASCII code 26
   delay ( 100 ) ;
   SIM900 . println ( );
   delay ( 5000 );                                      // Tiempo del módulo para enviar el SMS
   SIM900power ( );                                    // Lo mandamos de nuevo a SIM900Powe para apagar el modulo GSM
}
 
void loop ( )
{
   sendSMS ( ) ;
   do { } while ( 1 ) ;
}

Ahora lo que pretendo es:

1.- Enviar un mesaje y que encienda o apague un LED en el PIN13.
2.- Que me envíe un valor de una variable.

Para estos ejemplos, encuentro documentación por internet, pero son demasiado complejos como para conocer la base de la programación.

Unos encienden LED´s a patadas, o simplemente el módulo GSM no es el mismo, y en el otro caso no encontré mucho.

Espero que entre todos podamos hacer una Guia practica de este Módulo.

Graciñas.
Seguiré investigando

Amigo una pregunta al mirar tus codigos veo que tiene una parte que dice void sim900 power con eso logra encender la shield automaticamente?????? veo que dice por el pin 6, pero ese pin se debe conectar a la shield tambien ??? disculpe pero es que soy nuevo en esto de arduino y quisiera aprender....