SIM900 if(........) Mega 2560

Buongiorno a tutti!!
Ho un problema di non invio da parte della shield sim900.
Ecco il codice



Qualcuno può darmi indicazioni? Grazie mille!!!

Quale caso?

non sei molto chiaro

prova a spiegarti meglio

Ciao Standardoil è un piacere sentirti.

Tra l'altro vorrei impostare un minimo di isteresi. I DS18 qualche lettura la saltano.

ti sei accorto che questa riga

    if (SIM900.available() > 0)

è dentro a questa?

  if (SIM900.available() == 0)

inoltre c'è troppo lavoro doppio tra i due casi e usi troppi oggetti stringa, oltretutto inutilmente

altra cosa,
il test

  if (SIM900.available() ...

dovrebbe indicare l'arrivo di uno SMS?

e se sì, cosa ti garantisce che ricevi un solo carattere e che questo carattere è una 'v'?
se ne ricevessi altri?
hai verificato dalla documentazione?

Lo sketch non è farina del mio sacco, lo solo adattato alle mie esigenze. Ho comunque separato le righe in due a sè stanti senza alcun risultato. Per quanto riguarda il carattere ciò che garantisce la "v" è che sono io dal mio cell che la invio. Per quanto concerne la documentazione possiamo farci 4 risate. Feci una prova con quasi tutti i comandi AT, ne funzionano si e no 5 o 6.

Quindi spedire sms funziona, ho capito bene?

E anche ricevere ricevi, ma non sembra che tu ricevi quello che ti aspetti

Un passo per volta ci arriviamo...

Ah, e poi, la domanda esistenziale #1
Ma perché avendo una MEGA2560 usi una softserial?

Edit

Questa la so io:
Perchè è una shield ed ha i pin obbligati

}
//EOL :slight_smile:


Questo è il codice su Arduino 2 che con la seriale comunica al modulo GSM:

/*
Arduino Mega 2560 controllo shield SIM900 140922
Quando si collega un sensore a un pin configurato con INPUT_PULLUP, l'altra estremità deve essere collegata a terra.
Nel caso di un interruttore semplice: ALTO quando l'interruttore è aperto, BASSO quando l'interruttore è premuto.
Dal MEGA I
pinMode(23, OUTPUT);//DHT UR arancio cavo 6x0.22
pinMode(25, OUTPUT);//DHT TEMP giallo

//EOL :slight_smile:

Perdona, hai un link esatto alla scheda con il SIM900 che stai utilizzando? Così magari vediamo se ha qualche ponticello per la configurazione ... :roll_eyes:

Guglielmo

Ciao Guglielmo!! Sto utilizzando un 2560. La shield, sì ha 2 ponticelli.

Un link esatto? No. Credo che sia una o al massimo due aziende cinesi che fabbricano sta scheda. Gli altri ci mettono sopra il loro marchio. Pensa che nemeno i tedeschi di AZdelevery nel loro book non scrivono niente che non sappiano anche i muri.
Grazie!!!!!

:grin: :grin: :grin: ... hai cominciato prima con il tutorial di base, QUESTO qui?

Comunque ... mi spiace, ma NON puoi usare i pin 7 ed 8 su Arduino MEGA con la SoftwareSerial ... leggete sempre i references delle librerie:

Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).

Devi per forza ... spostare i segnali che escono dai due pin 7 e 8 su altri pin e, a questo punto, dovendo fare taglia e cuci ... tanto vale che scegli due pin dove la MEGA ha veramente una seriale hardware :wink:

Guglielmo

Secondo me non è moto difficile ... si tratta di partire con due cavetti femmina/maschio dai due pin in colonna al centro (che sono quelli che vanno sulla seriale del SIM900) e NON inserendo alcun ponticello (altrimenti, a destra li collegli ai pin 0 e 1 e a sinistra ai pin 7 e 8) portarli a due pin dove c'è la seriale HW di Arduino MEGA 18/19, 16/17 o 14/15.

Guglielmo

Grazie della dritta per la parte hardware. Una domanda quali sono i pin in centro? Ti riferisci a questi in foto?

Non c'è nulla di difficile. Ho eseguito il cablaggio come in foto all'interno di un case.

NO, mi riferisco a quelli sulla scheda SIM900 ...

... è quello che decide i pin TX e RX del SIM900 dove vanno a finire!

Guglielmo

D8 D7 e D1 D0

Ecco, appunto, NESSUNO DEI DUE ... devi pescare con due fili (F/M) i due pin centrali di quei sei e portarli ad una delle seriali vere del MEGA. Leggi attentamente quanto ho scritto al post #13.

Guglielmo

Ok

È intervenuto Guglielmo e io lascio il campo libero