A0 pin Sensor values through SMS (Arduino and GSM shield)

Hi All,
I am a beginner for Arduino coding. I am using Arduino UNO and GSM/GPRS/BT shield. I am connecting a potentiometer to A0 pin. I want to get the potentiometer values when I send a Predefined SMS text to GSM (in this case “LEDON”). When I SMS “LEDON” to GSM, the device should return the potentiometer value through SMS. I am trying to modify the existing codes, but it didn’t work. I need to complete this not late by coming Friday. Anybody pls help.

Thanks.

Code 1:

#include <SoftwareSerial.h>

SoftwareSerial gsm(7, 8); // RX, TX
//TinyGPS gps;
char numero_cell[]="+60105369493";//meter numero de telefono

int potentiometer=A0;
int value =0;
int i=0;
int j=0;


char DAT;
char DAT_dos;

float flat, flon;
unsigned long age;

char datosSERIAL[30];
//char clave_uno[]= "LEDON"; //OTRA FORMA DE USAR UN ARREGLO
char clave_uno[]={'L','E','D','O','N'};//AQUI CAMBIAMOS TODO EL MENSAJE DE CONTROL

void setup()
{
  
  pinMode(potentiometer,INPUT);
  Serial.begin(9600);
  gsm.begin(9600);
  delay(2000);
  configuracion_inicial();
  Serial.println("sistema de alarma EDITRONIKX SIM808 encendida");
  delay(1000);
}
/////////////////////////
void loop()
{

  value = analogRead(potentiometer);
   Serial.println(value, DEC);
 Serial.println("esperando recibir mensaje...");
while(true)
{
  leer_mensaje(); 
}
 
}
///////////////////////
void configuracion_inicial()//configura los codigos de lectura de mensajes
{
  gsm.println("AT+IPR=9600");
  Serial.println("AT+IPR=9600");
  delay(500);
  gsm.println("AT+CMGF=1");//modo texto
  Serial.println("AT+CMGF=1");//modo texto
  delay(500);
  gsm.println("AT+CMGR=?");//ACTIVAMOS CODIGO PARA RECIBIR MENSAJES
  Serial.println("AT+CMGR=?");//ACTIVAMOS CODIGO PARA RECIBIR MENSAJES
 delay(500);
  gsm.println("AT+CNMI=2,2,0,0");//ACTIVAMOS PARA VER MENSAJES
  Serial.println("AT+CNMI=2,2,0,0");//ACTIVAMOS PARA VER MENSAJES
  
  delay(500);
  Serial.println("configuracion terminada");
  delay(300);
  /////////////////activar gps desde el inicio
  gsm.println("AT+CGNSPWR=1");// activo gps
  Serial.println("AT+CGNSPWR=1");// activo gps
 // gsm.println("AT+CGNSPWR=1");// activo gps
  //Serial.println(" AT + CGNSTST =1");
   delay(400);
    
}
///////////////////
void leer_mensaje()
{
  salir:
    if (gsm.available()>0)
    {
     
      char DAT =gsm.read();
      if(DAT=='@')//the at sign detects the beginning of the code

      {
      Serial.println("I arrive data");//to see if I detect it
      //////////////////////
      while(true)//enter in a while to read only the future codes that are to come after the at
      {
          if (gsm.available()>0)
           {//cierre del segundo if
               char DAT_dos =gsm.read();//@LEDON enter
               datosSERIAL[j]= DAT_dos;//almacena en cadena de caracteres, suma de caracteres     
               j++;
               //////////////////////////
               if (DAT_dos=='\n')//cuando termine de entregar todos los datos dara un enter
               //garantizando el final del codigo
                {
                 
                 Serial.println("Lectura correcta del codigo enviado:");//IMPRIME LOS CARACTERES ALMACENADOS PARA VER SI TODO ESTA OK
                 for(int i=0;i<=j;i++)
                  {
                 Serial.print(datosSERIAL[i]);//IMPRIME TODO EL CODIGO GUARDADO EN EL ARRAY
                  }
                  led_on();//llama a la la funcion y verifica codigo
                //  led_off();//llama ala funcion para ver si es de apagar el led
           //       gps_on();//verifica si es codigo de activacion de gps
                  //digitalWrite(estado,LOW); //apaga el led despues de verificar
                  
                  for(int i=0;i<=j;i++)
                  {
                   datosSERIAL[i]==0;//borro array
                   DAT_dos=0;
                   DAT=0;
                  }
                  j=0;//borra el puntero o acumulador si no se hace esto no detecta los sigueintes codigos
                  goto salir;//sale de todos los ciclos y va al inicio para volver a leer codigo
                 }//CIERRA AL /N
               ////////////////////////     
            } //cierre del segundo if
          }//while
       }//arroba
    
    }//serial available 
  }  


void led_on()
{
  /////////////////////////
  if(datosSERIAL[0]==clave_uno[0] && datosSERIAL[1]==clave_uno[1] && datosSERIAL[2]==clave_uno[2] && datosSERIAL[3]==clave_uno[3] && datosSERIAL[4]==clave_uno[4])
   {
    gsm.print(value);
    //digitalWrite(led,HIGH);
   // Serial.println(" LED ACTIVADO.....");
    mensaje_encendido();
   }
   else Serial.println(" codigo incorrecto led on");               
  
}


 void mensaje_encendido()
    {
      gsm.println("AT+CMGF=1");//modo texto 
      //Imprime los datos al puerto serie como texto ASCII seguido de un retorno de carro
      delay(1000);
      gsm.print("AT+CMGS=");// comando de envio de mensaje a un numero determinado
      delay(1000);
      //Imprime los datos al puerto serie como texto ASCII
      gsm.print((char)34);//ponemos las comillas ", para que lo tome debe ser char de lo contrario el serial envia caracter por caracter
      gsm.print(numero_cell);//colocamos numero de telefono
      gsm.println((char)34);//volvemos a poner el caracter "
      delay(1000);//tiempo para que de respuesta el modulo >
      gsm.print("led encendido");//mensaje que enviare
      gsm.print((char)26);//ponemos el simbolo ascii 26,que corresponde a CTRL+Z,con lo que el modulo sabe que el sms termino
      
      Serial.print("led encendido");//mensaje que enviare
    }

I am trying to modify the existing codes, but it didn't work.

You made some undefined changes to some unknown code, and the code did something. Obviously what it did was not what you expected. But, that is ALL that we know.

I need to complete this not late by coming Friday.

The homework hotline will be offline for the next 72 hours. Please check back on Saturday.

  pinMode(potentiometer,INPUT);

pinMode rarely does what you expect for analog pins. Analog pins are read-only by definition. Read-only pins can not possibly be OUTPUT.

All your while loops are pointless. You never let loop() have an opportunity to iterate.

Sending AT commands, and never reading the modem response is dumb.

I'm not even going to comment on the absolutely stupid use of goto in that rubbish.