arduinouno+sim800l problemi sketch Call [risolto]

Ciao a tutti ,

Dopo aver acquistato questo,

http://www.ebay.it/itm/SIM-800L-GPRS-GSM-MODULO-MICRO-SIM-CORE-BOARD-QUAD-BAND-PORTA-TTL-PER-ARDUINO-/291631422607?hash=item43e6965c8f:g:BjYAAOSwv-NWYaw-

tramite guide varie trovate su google e anche qui nel forum riesco a mandare sms e a fare chiamate con AT COMMAND,
tramite arduino e serialprint…

ma non sto riuscendo a far fare la chiamate da sketch…

questo il code che sto provando

#include <SoftwareSerial.h>
 
//SIM800 TX is connected to Arduino D8
#define SIM800_TX_PIN 8
 
//SIM800 RX is connected to Arduino D7
#define SIM800_RX_PIN 7
 
//Create software serial object to communicate with SIM800
SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);
 
void  setup() {
  //Begin serial comunication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);
   while (!Serial);
   
  //Being serial communication witj Arduino and SIM800
  serialSIM800.begin(9600);
  delay(1000);
   
  Serial.println("Setup Complete!");
  delay(10000);
 
  Serial.println("making call...");
  
  serialSIM800.write("ATD335xxxxxxx;");
  delay(30000);
   
 
   
  
  serialSIM800.write("ATH");
  delay(1000);
     
  Serial.println("HANG UP!");
 }
 
void  loop() {
}

su google ho cercato ma non ho trovato niente …spero di non aver aperto inutilmente un nuovo topic… in caso…scusate tutti

Beh, non sono esperto di questi moduli, ma... non bisogna dare prima qualche comando AT per "attivarlo" ?
ATD poi fa chiamata, quel modulo non ha microfono. Al massimo puoi mandare SMS.
Qui un tutorial sul sito di Adafruit (in inglese), vedi sezione "Test Send SMS":

P.S. nel codice togli quelle mila righe vuote che NON servono a nulla e allungano solo il codice inutilmente. Poi nell'IDE usa CTRL+T che lo indenta meglio.

#include <SoftwareSerial.h>
 
//SIM800 TX is connected to Arduino D8
#define SIM800_TX_PIN 8
 
//SIM800 RX is connected to Arduino D7
#define SIM800_RX_PIN 7
 
//Create software serial object to communicate with SIM800
SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);
 
void  setup() {
  //Begin serial comunication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);
   while (!Serial);
   
  //Being serial communication witj Arduino and SIM800
  serialSIM800.begin(9600);
  delay(1000);
   
  Serial.println("Setup Complete!");
}
 
void  loop() {
  //Read SIM800 output (if available) and print it in Arduino IDE Serial Monitor
   if (serialSIM800.available()){
    Serial.write(serialSIM800.read());
  }
  //Read Arduino IDE Serial Monitor inputs (if available) and send them to SIM800
   if (Serial.available()){    
    serialSIM800.write(Serial.read());
   }}

si scusa colpa mia è partita x sbaglio eheeheh
grazie per la risposta e per la dritta degli spazi vuoti (per i prox sketch ne terro’ conto),
nel caso degli sms si è vero è come dici te ( //Set SMS format to ASCII )
ma quando riesco a fare la chiamata usando AT command e serialmonitor come terminale ,
prima carico lo sketch postato prima,
poi da monitor mi printa “setup complete”
aspetto 3 secondi poi da monitor scrivo:

ATD335XXXXX;
OK

fa la chiamata che i poi interrompo scrivendo sempre da monitor:

ATH
OK

e lui chiude la call.

ho notato che se non aspettavo un istante e davo subito ATD ricevevo NO CARRIER (quindi presumo ci sia un initializzazion)
ho notato anche che per il primo comando ATD; bisogna mettere ; alla fine mentre per ATH non serve.

RIsolto ;D

per la spiegazione vi rimando qui :

http://letmeknow.fr/blog/2015/10/14/tuto-module-gsm-sim800l-appeler/

sbagliavo a dare il comando ATD

#include <SoftwareSerial.h>

//SIM800 TX is connected to Arduino D8
#define SIM800_TX_PIN 8

//SIM800 RX is connected to Arduino D7
#define SIM800_RX_PIN 7

//Create software serial object to communicate with SIM800
SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);

void  setup() {
  //Begin serial comunication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);
  while (!Serial);

  //Being serial communication witj Arduino and SIM800
  serialSIM800.begin(9600);
  delay(1000);

  Serial.println("Setup Complete!");
  delay(10000);

  Serial.println("making call...");

  serialSIM800.write("ATD");
  serialSIM800.print("335xxxxxx");
  serialSIM800.print(";\r");

  delay(10000);


  serialSIM800.write("ATH\r");
  delay(1000);

  Serial.println("HANG UP!");
}

void  loop() {
}

mi sa che il titolo del post comunque non è dei migliori dopo vedo di capire come si fa a modificarlo

Probabilmente allora basta anche che nello sketch iniziale sostituisci write con println.