Problema Arduino mega 2560 + GSM/GPRS&GPS SHIELD V2

ok grazie Michele in questi giorno provo a fare quello che mi hai consigliato tu e vediamo come va
ti aggiorno grazie di tutto

Mi spiace non poter fare di più, avendoli qui ti ricontrollerei le saldature e tutto quanto, purtroppo ancora non riesco a saldare oltre i 30cm e mi sa che da qui a casa tua la distanza è maggiore :grin:
Scherzi a parte non hai un amico esperto a saldare a cui far ricontrollare tutto? Sono certo che i problemi li risolveresti in un istante.

Scusate se riapro la discussione.

ho seguito tutte le info e sono riuscito a far funzionare gsm-shield versione 1 su arduino mega

SERIALE HW
pin RX gsm su PIN 19 mega
pin TX gsm su PIN 18 mega

funziona quasi tutto , ho utilizzato questo codice

#include "SIM900.h"
#include <SoftwareSerial.h>
//If not used, is better to exclude the HTTP library,
//for RAM saving.
//If your sketch reboots itself proprably you have finished,
//your memory available.
//#include "inetGSM.h"

//If you want to use the Arduino functions to manage SMS, uncomment the lines below.
#include "sms.h"
SMSGSM sms;

//To change pins for Software Serial, use the two lines in GSM.cpp.

//GSM Shield for Arduino
//www.open-electronics.org
//this code is based on the example of Arduino Labs.

//Simple sketch to send and receive SMS.

int numdata;
boolean started=false;
char smsbuffer[160];
char n[20];

void setup() 
{
  //Serial connection.
  Serial.begin(9600);
  Serial.println("GSM Shield testing.");
  //Start configuration of shield with baudrate.
  //For http uses is raccomanded to use 4800 or slower.
  if (gsm.begin(2400)){
    Serial.println("\nstatus=READY");
    started=true;  
  }
  else Serial.println("\nstatus=IDLE");
  
  if(started){
    //Enable this two lines if you want to send an SMS.
    if (sms.SendSMS("3334445566", "Arduino SMS"))
      Serial.println("\nSMS sent OK");
  }

};

void loop() 
{
  if(started){
    //Read if there are messages on SIM card and print them.
    if(gsm.readSMS(smsbuffer, 160, n, 20))
    {
      Serial.println("letto");
      Serial.println(n);
      Serial.println(smsbuffer);
    }
    delay(1000);
  }
};

parte , mi invia il messaggio e rimane in attesa di ricevere un SMS

io invio un SMS ma lui non me lo stampa a video !!!??

HELP me

Grazie

Nessuna Idea ?? le ho provate tutte ma nulla da fare!!

dovresti debuggare la libreria, capire se arriva qualcosa in errore o se proprio non arriva nulla. magari provando anche a inserire la sim in un vero cellulare, è infatti possibile bloccare la ricezione di SMS da parte dell'operatore telefonico

perdona , ho fatto confusione... rifaccio tutto :

void loop() 
{
  if(started){
    //Read if there are messages on SIM card and print them.
    if(gsm.readSMS(smsbuffer, 160, n, 20))
    {
      Serial.println(n);
      Serial.println(smsbuffer);
    }
    delay(1000);
  }
};

questa parte di codice dovrebbe stampare a video il messaggio che ricevo , ma ciò non accade

se attivo il DEBUG e invio il messaggio vedo :

OK

ATT:
+CMGLRIC:
+CMT: "+393464751XXX","","12/07/02,00:35:25+08"
ciao

ma comunque non stampa a video il contenuto del LOOP()

Grazie

allora devi aprire i file della libreria e iniziare a mettere qualche println anche lì.. per capire cosa accade

E si ... credo proprio sia la strada da percorrere... ma purtroppo non sono un "espertone" e quindi credo che avrò non pochi problemi ... comunque ci provo

Grazie

bhe inizia a capire dove si blocca, poi vediamo che possiamo fare.

ok grazie... devo spegnere tutto perché sta venendo giù il diluvio ... prima che mi si bruci qualcosa... a domani grazie ancora

Diluvio? :astonished:

maxvetro:
ok grazie... devo spegnere tutto perché sta venendo giù il diluvio ... prima che mi si bruci qualcosa... a domani grazie ancora

diluvio? spegnere?

lesto:

maxvetro:
ok grazie... devo spegnere tutto perché sta venendo giù il diluvio ... prima che mi si bruci qualcosa... a domani grazie ancora

diluvio? spegnere?

dove abita in patagonia?qui ci sono 40 gradi :fearful:
poi perchè spegnere ha arduino collegato ad un parafulmini? :sweat_smile:

Ragazzi, non fatevi meraviglia di nulla, qui da me ci son 33°, umidità pazzesca, ora il cielo è scuro ed ha iniziato a piovere, e siccome si sentono i primi "botti", segno che non mancheranno i fulmini; in queste condizioni chiunque abbia un po' di buonsenso dovrebbe staccare dalla spiena qualsiasi elettrodomestico (frigo-congelatori esclusi ovviamente, meglio rischiare che morire di fame...), lui è uno di buon senso e noi non lo siamo, tutto qui :grin:

uhhh i fulmini... mi son sempre chiesto se fosse possibile sfruttarli :grin:

io stacco sempre tutto a casa mia, il frigo e il PC :grin:

cmq se da te fa brutto tempo ce ne vuole ora che arriva fino a quì!

magari piovesse anche qui :grin:

lesto:
uhhh i fulmini... mi son sempre chiesto se fosse possibile sfruttarli :grin:

così?

Ciao e scusate se ho interrotto così la discussione l'altra sera ma e sceso il mondo...

Comunque intendevo spegnere tutto , il computer ed accessori per evitare di bruciarli ( come purtroppo è successo alla TV che non ho spento azz.... ) :frowning:

In ogni caso , oggi ho acquistato da FUTURA una shield2 gsm , installata su ARDUINO MEGA e caricato gli esempi proposti.

Funziona , ma ho un paio di problemi :

  1. La seriale da utilizzare con il MEGA sono i PIN 19 RX! e 18 TX1 , chissà se fosse possibile usare RX0 ed RX1 ( pin D0 e D1 ) ???

  2. IL VERO PROBLEMA:

Lo scopo del mio acquisto e poter inviare un SMS alla sim ed attivare delle uscite , ma per fare ciò devo riuscire a visualizzare il contenuto del testo su SerialPrint ( da li in poi è semplice )

carico questo :

void loop() 
{
  delay(2000);
  
  Check_SMS();
  
}
  

void Check_SMS() {  
  char pos_sms_rx;
  pos_sms_rx=sms.IsSMSPresent(type_sms);
  if (pos_sms_rx!=0) {
    sms.GetSMS(pos_sms_rx,number_incoming,sms_rx,120);
    
    Serial.print("Received SMS from ");
    Serial.print(number_incoming);
    Serial.print("(sim position: ");
    Serial.print(word(pos_sms_rx));
    Serial.println(")");
    Serial.println(sms_rx);
    if (del_sms==1) { 
      error=sms.DeleteSMS(pos_sms_rx);
      if (error==1)Serial.println("SMS deleted");
      else Serial.println("SMS not deleted");
    }
  }
  
  return;
}

attivo il DEBUG , invio un SMS con scritto "CIAO" e vedo sul Serial Monitor :

ATT: 
OKRIC: 
+CMT: "+393464751959","","12/07/04,00:23:23+08"
Ciao

ATT: 
OKRIC: 
+CMT: "+393464751959","","12/07/04,00:23:23+08"
Ciao

ATT: 
OKRIC: 
+CMT: "+393464751959","","12/07/04,00:23:23+08"
Ciao

ATT: 
OKRIC: 
+CMT: "+393464751959","","12/07/04,00:23:23+08"
Ciao

ATT: 
OKRIC: 
+CMT: "+393464751959","","12/07/04,00:23:23+08"
Ciao

+CMGL: 30,"REC UNREAD","+39346
ATT: 
OKRIC: 
+CMT: "+393464751959","","12/07/04,00:23:23+08"
Ciao

+CMGL: 30,"REC UNREAD","+393464751959","","12/07/04,00:23:23+08"
Ciao

OK

ATT: 
+CMGL:RIC: 
+CMT: "+393464751959","","12/07/04,00:23:23+08"
Ciao

+CMGL: 30,"REC UNREAD","+393464751959","","12/07/04,00:23:23+08"
Ciao

OK

ma non lo riesco ad estrapolare e visualizzare a video in modo da passarlo ad una variabile e gestirla come serve a me ??

Sono veramente alle prime armi con il mondo ARDUINO. Grazie per gli aiuti