Hola amigos. Soy nuevo en esto de arduino, se un poco de de programacion java lo que me ha permitido entender algo d arduino. Bien mi problema esque necesito recibir una cadena de texto que envio desde un programa hecho en java a traves de la libreria panamahitek. El problema es que necesito envia un numero de celular de esta forma "+593988968352;" y quiero recibirlo completo para almacenarlo en un sprintbuffer para luego enviarlo en forma de codigo AT hacia un modulo gsm sim900 y no puedo. Eh intentando de varias formas pero nada. Y uno de mis mayores problemas que no se como identficar con algun if que lo q esta leyendo el puerto serie es mi numero porque a parte de ese numero tambien recibo otros datos desde java. Aqui adjunto mi codigo de arduino espero me puedan ayudar.
#include <SoftwareSerial.h>
SoftwareSerial SIM900 ( 2, 3 ) ; // Configurar los puertos de comunicacion serie
int input;
String num;
String auxtamano="";
char auxnum;
char auxcadena[14];
byte index = 0;
char MENSAJE[]="SISTEMA ALARMA RFID: SE SUSTRAJO DE SU HOGAR TV PLASMA LG 65UH8500";
char NUMERO[]="+593988968351";
//String NUMEROLLAMAR;
//char NUMEROLLAMAR[]="+593988968351";
char mibuffer[100];
char bufferllamar[100];
void setup ( )
{
SIM900 . begin ( 19200 ) ;
// SIM900power ( ) ;
// delay ( 20000 ) ; // Dar tiempo para iniciar y conseguir RED.
// numero.begin(9600) ;
Serial.begin(9600);
delay(1000);
// sprintf(bufferllamar, "ATD + %s ", auxnum);
sprintf(mibuffer, "AT+CMGS = \"%s\"\r", NUMERO);
}
void loop ( )
{
SIM900power();
if(Serial.available()>0){
// if(input=='+'){
/* if(index < 12) // One less than the size of the array
{
auxnum = Serial.read(); // Read a character
auxcadena[index] = auxnum; // Store it
index++; // Increment where to write next
auxcadena[index] = '\0'; // Null terminate the string
}*/
auxtamano=Serial.readString();
if(auxnum==';'){
auxtamano.toCharArray(auxcadena,14);
sprintf(bufferllamar, "ATD + %s ", auxcadena);
}
//}
input=Serial.read();
if(input=='f'){
callSomeone ( ) ; // Llama
// SIM900power ( ) ; // Apaga el telefon
//do { } while ( 1 ) ; // Hazlo
delay(500);
llamarpoli( );
}
delay ( 500 );
if(input=='g'){
sendSMS ( );
// do { } while ( 1 ) ;
}
delay ( 500 );
if(input=='a'){
sendSMSpoli ( );
// do { } while ( 1 ) ;
}
delay ( 500 );
if(input=='h'){
sendSMS3 ( );
// do { } while ( 1 ) ;
}
delay ( 500 );
if(input=='b'){
sendSMSpoli2 ( );
// do { } while ( 1 ) ;
}
delay ( 500 );
if(input=='i'){
sendSMS4 ( );
// do { } while ( 1 ) ;
}
delay ( 500 );
if(input=='c'){
sendSMSpoli3 ( );
// do { } while ( 1 ) ;
}
delay ( 500 );
if(input=='j'){
sendSMS5 ( );
// do { } while ( 1 ) ;
}
delay ( 500 );
if(input=='d'){
sendSMSpoli4 ( );
// do { } while ( 1 ) ;
}
delay ( 500 );
if(input=='k'){
sendSMS6 ( );
// do { } while ( 1 ) ;
}
delay ( 500 );
if(input=='e'){
sendSMSpoli5 ( );
// do { } while ( 1 ) ;
}
}
}
disculpen el desorden