envios de txt message variable

Buenas, tengo este codigo, el hardware usado es arduino mega 2560, cellular shield

el caso es que el mensaje varia, y se estan enviandos desde una aplicacion via puerto serial
ejemplo
7861111111 su carga 111 llego hoy
3052222222 su pedido 22 sera entregado manana
9543333333 su TV va en camino.

el caso es que el numero recipiente varia y el mensaje puede que sea el mismo hoy, pero mañana sera otro y asi
existe alguna funcion para separar el nro.del telefono del mensaje

#include <NewSoftSerial.h>
NewSoftSerial cell(0,1); // We need to create a serial port on D2/D3 to talk to the GSM module
char mobilenumber = “7863998585”; // Replace xxxxxxxx with the recipient’s mobile number. tambien coloque el numero de telef. asi 7863998545
void setup()
{ //Initialize serial ports for communication.
cell.begin(9600);
delay(35000); //
void loop()
{
cell.println(“AT+CMGF=1”); // set SMS mode to text
cell.print(“AT+CMGS=”); // now send message…
cell.print(34,BYTE); // ASCII equivalent of "
cell.print(mobilenumber);
cell.println(34,BYTE); // ASCII equivalent of "
delay(500); // give the module some thinking time
cell.print(“que tal papa Ah ha ha ha”); // our message to send
cell.println(26,BYTE); // ASCII equivalent of Ctrl-Z
delay(9000); // the SMS module needs time to return to OK status
do // You don’t want to send out multiple SMSs… or do you?
{

no entiendo cual es tu problema. ya tienes el numero de telefono en una variable

char mobilenumber[] = "7863998585";

ahora solo tienes que modificar esa variable para cambiar el numero de telefono. de esa forma te vale todo tu codigo ya que depende de la variable anterior

cell.println("AT+CMGF=1"); // set SMS mode to text
cell.print("AT+CMGS=");  // now send message...
cell.print(34,BYTE); // ASCII equivalent of "
cell.print(mobilenumber);
cell.println(34,BYTE);  // ASCII equivalent of "
delay(500); // give the module some thinking time
cell.print("que tal papa Ah ha ha ha");   // our message to send
cell.println(26,BYTE);  // ASCII equivalent of Ctrl-Z
delay(9000); // the SMS module needs time to return to OK status
do // You don't want to send out multiple SMSs.... or do you?

Gracias por contestar, el numero de telefono viene desde una aplicacion, osea, le doy click al boton y empieza a enviar los mensajes via puerto serial, de uno en uno,osea que los numeros de telefonos recipiente varian y el mensaje tambien.Se van enviar entre 15 o 35 mensajes a numeros diferentes

¿? ¿No entiendo cual es el problema?

¿Estás pidiendo que cambiemos el ejemplo que has colocado para que reciba de la linea serie un teléfono y un mensaje y que después lo envíe por SMS?

fm, eso mismo es "reciba de la linea serie un teléfono y un mensaje y que después lo envíe por SMS", no soy de la parte electronica, lo mio es software.Quizas no supe explicarme. Gracias

Pero si lo que te queda por hacer es solo la parte de software. Si ya tienes la placa, el shield y la has conectado entre si: ahora solo te queda escribir un poquillo de sofwarin que lea de la línea serie, interprete lo que le mandas y enviarselo al modem como te han comentado. Usa Serial para leer de la línea serie como viene en los tutoriales o en los ejemplos de Arduino. Aquí no queda mucho de electrónica que digamos, salvo enchufarlo todo a la parte de los voltios (vamos, alimentarlo)

hola, para separar el número y el texto del mensaje, puedes usar el primer espacio en blanco como punto de referencia,

char mensaje[] = "1234567890 Texto del mensaje";
char *puntero;
char texto[33]; // calcula la longitud máxima que pueda tener

puntero = strchr(mensaje, ' ');
if(puntero != NULL)
{
    strcpy(texto, puntero + 1); // se copia la cadena a partir del espacio en blanco
    *puntero = '\0';  // en 'mensaje' solo se deja el número
}

Perfecto gracias a todos, exactamente lo que necesitaba. Arduino = Lo maximo Gracias de nuevo

chuchu: Arduino = Lo maximo

Arduino + un foro con usuarios mu majos = Lo maximo

jaja