Modulo SIM900 che non risponde ai comandi AT ed agli SMS

Ciao a tutti, premetto che mi sono da poco tuffato nel mondo di arduino e sto cercando di apprendere il possibile dai vari esempi che trovo e cercando poi di sperimentarli, il progetto che cerco di realizzare è un controllo remoto di temperatura, umidità(interna ed esterna) e peso di un,arnia.
La prima parte del progetto sono riuscito a portarlo a termine, ovvero la lettura di questi valori e il relativo invio ad un display lcd,in modo da poter verificare questi dati senza recar troppo disturbo alle api, ora è da un paio di settimane che mi sto frullando il cervello per cercar di inviare questi dati tramite SMS, su relativo comando sempre con un SMS.
Ho comprato un modulo SIM900 nello specifico(S2-1040S-Z1K18) che mi sta dando notevoli grattacapi…
Si connette perfettamente alla rete WIND però non riesco a fargli eseguire comandi tramite SMS e neanche riesco a colloquiare tramite comandi AT…
questo è un codice che ho copiato (per cercare di farmi un po di esperienza), tra i vari esempi che si trovano, però nessuno mi ha dato esiti positivi.

#include <SIM900.h>
#include <sms.h>
#include <SoftwareSerial.h>

SMSGSM sms;
int led = 13;
int numdata;

boolean started=false;
char smsbuffer[160];
char Mittente[20];

void setup() 
{
  //Serial connection.
  Serial.begin(9600);
  Serial.println("VERIFICA SE LA SCHEDA GSM E' CONNESSA.");
  pinMode(led, OUTPUT);
  digitalWrite(led, LOW);
 

  //Inizializzo la connessione impostando il baurate
   
  if (gsm.begin(2400)){
    Serial.println("STATUS Modulo GSM = CONNESSO");
    started=true;  
  }
  else Serial.println("STATUS Modulo GSM = NON CONNESS0");
}

//Legge una stringa del serial monitor
//Questa procedura serve solo nella fase di TEST ovvero
//quando provo a simulare i comandi SMS tramite il Serial Monitor
boolean SerialRead(char s[])
{
  int i=0;
  if (Serial.available() > 0)
  {
    while (Serial.available() > 0)
    {
      s[i]=Serial.read();
      delay(10);
      i++;
    }
  }
  s[i]='\0';  //Metto il terminatore di stringa
  return (i!=0);
}

   void SIM900power()
  {
    digitalWrite(9,HIGH);
    delay(2000);
    digitalWrite(9,LOW);
    delay(5000);
  
  
  //if(strcmp(smsbuffer,"STATO")==0){
  //if(started){
  //Enable this two lines if you want to send an SMS.
  //  sms.SendSMS("338*******", "Arduino SMS");
  //    Serial.println("\nSMS sent OK");
  //}
  }

 


void loop()  
{
  char inSerial[50];
  char position;
  if (started)
  {
    strcpy(Mittente,"+39338*******");
    if (SerialRead(smsbuffer))

    // Legge se ci sono messaggi disponibili sulla SIM Card
    // e li visualizza sul Serial Monitor.
    position = sms.IsSMSPresent(SMS_ALL); // Valore da 1..20
    if (position)
    {
      // Leggo il messaggio SMS e stabilisco chi sia il mittente
      sms.GetSMS(position, Mittente, smsbuffer, 160);
      Serial.print("Comando Ricevuto [tel. "+String(Mittente)+String("]: ") + String(smsbuffer));
      if (strcmp(smsbuffer,"ON")==0)
      {
       digitalWrite(led, HIGH);   // Accende il LED impostando il voltaggio a HIGH
       Serial.println(" => Accendo il LED"); 
      }
     else if (strcmp(smsbuffer,"OFF")==0)
      {
        digitalWrite(led, LOW);    // Spengo il LED impostando il voltaggio a LOW
        Serial.println(" => Spengo il LED");
      }
     else if (strcmp(smsbuffer,"STATUS")==0)
      {
        if (digitalRead(led)==HIGH)
        {
          sms.SendSMS(Mittente, "STATUS: LED Acceso");
          Serial.println(" => il LED e' Acceso");
        }
        else
        {
          sms.SendSMS(Mittente,"STATUS: LED Spento");
          Serial.println(" => il LED e' Spento");
        }
      }
      else
      Serial.println(" => non riconosciuto!");
      sms.DeleteSMS(position);
    }
    delay(1000);
  }
}

le uniche cose che riesco a visualizzare correttamente sul serial monitor sono la scritta di verifica connessione e successivamente lo stato di connesso del modulo gsm, ma se invio sms vedo solamente una variazione del led “status” sulla SIM900 che si spegne e riaccende velocemente ma non ho alcun ulteriore riscontro,mentre con i comandi AT non ricevo alcuna risposta.
Mentre se “decommento” questo sketch:

//if(strcmp(smsbuffer,"STATO")==0){
  //if(started){
  //Enable this two lines if you want to send an SMS.
  //  sms.SendSMS("338*******", "Arduino SMS");
  //    Serial.println("\nSMS sent OK");
  //}

ecco che il messaggio “Arduino SMS” mi viene inviato correttamente ed anche sul serial monitor compare il messaggio “SMS sent OK”, quindi il modulo GSM funziona, però non capisco come mai tutto il resto no…
Mi stò fulminando la testa su stà cosa…se ci fosse qualche anima buona che potesse darmi una mano per risolvere la questione, gliene sarei veramente grato…

Grazie per l'interessamento ma ho gia trovato la soluzione.