Señores buen dia
Tengo un problema
Por Favor necesito de su ayuda....
Encontre un fichero de codigos para programar un leonardo con XBEE gsm (M95), el cual adapte a mis necesidades, este seria para utilizarlo como alarma donde el pin 4 activa el sistema para envie mensajes de texto indicando como se encuentra el sistema con respecto al valor del pin 4 donde conectare un contacto No de un termostato.
Los mensajes me los envia bien al numero descrito pero una vez que comienza a enviar los mensajes no paran y envia uno tras otro, el loop es infinito. trate de hacer que se detenga con un WHILE pero no me resulto
el programa que tengo configurado es el siguiente:
#include "GPRSbee.h"
#include <SoftwareSerial.h>
const int CMD_DELAY = 2000;
int onPin = A1; // Pin para encender el módulo
int tempPin = A2; // Pin de lectura TMP36
char PIN[5] = "12"; // XXXX --> Reemplazar por el PIN
const char AUTHNUMBER[] = "+569543XXXXX"; // Reemplazar por su número telefónico
const int Relay_8 = 8;
const int Relay_9 = 9;
const int Relay_10 = 10;
const int Relay_11 = 11;
const int temp1 = 4;
const int temp2 = 5;
const int bombain = 6;
int val = 0 ;
int numeroSMSEnviar = 1;
int contador = 0;
// IMPORTANTE
// Para Arduino + XBee Shield los pines de RX y TX corresponden al 3 y 2 respectivamente.
// Descomentar línea 20 del archivo GPRSbee.h (#define SERIAL_SOFT)
//const int TX = 2;
//const int RX = 3;
// Para Xbee IO Pro los pines de RX y TX corresponden al 2 y 3 respectivamente.
// Descomentar línea 20 del archivo GPRSbee.h (#define SERIAL_SOFT)
//const int TX = 3;
//const int RX = 2;
// Para Xbee IO Pro V2 o Leonardo + XBee Shield comentar la línea 20 del archivo GPRSbee.h (#define SERIAL_SOFT)
#ifdef SERIAL_SOFT
GPRSbee modem(RX, TX, onPin, PIN); // Inicialización de librería usando Arduino Uno
#else
GPRSbee modem(onPin, PIN); // Inicialización de librería usando Leonardo
#endif
sms_struct *smsDATA = NULL;
char message[50];
int i;
void setup()
{
// Configuración de las salidas (relés)
pinMode(Relay_8, OUTPUT);
pinMode(Relay_9, OUTPUT);
pinMode(Relay_10, OUTPUT);
pinMode(Relay_11, OUTPUT);
pinMode(temp1,INPUT);
pinMode(temp2,INPUT);
pinMode(bombain,INPUT);
// Inicialización de la UART
Serial.begin(115200);
Serial.println(F("GPRS SMS test"));
do
{
modem.switchOn(); // Encender módulo
} while (!modem.isOn());
delay(5000);
modem.initSMS(); // Encender móduloS
while (!modem.isRegistered()) {
delay(CMD_DELAY);
modem.checkNetwork(); // Revisando disponibilidad de la red
}
Serial.println(F("--------------------------------------------------"
"------------------------------"));
Serial.println(F("ready"));
}
void loop()
{
char result[15];
char TCPbuf[100];
{
// Lectura del sensor
{
while (contador > numeroSMSEnviar)
if(digitalRead (temp1) == LOW)
{
digitalWrite (Relay_11,HIGH ) ;
Serial.println(F("Baja Temp Precaucion"));
modem.sendSMS("+569543XXXX","Baja Temp Precaucion"); // Reemplazar por su número telefónico
delay(500);
Serial.println(F("Temperatura Critica"));
modem.sendSMS("+56954XXXXX","Temperatura Critica"); // Reemplazar por su número telefónico
Serial.println(F("Bomba Funcionando"));
modem.sendSMS("+56954XXXXX","Bomba Funcionando"); // Reemplazar por su número telefónico
}
else
{
digitalWrite (Relay_11,LOW ) ;
Serial.println(F("Temperatura Segura"));
modem.sendSMS("+56954XXXXX","Temperatura Segura"); // Reemplazar por su número telefónico
Serial.println(F("Bomba Detenida"));
modem.sendSMS("+5695XXXXX","Bomba Detenida"); // Reemplazar por su número telefónico
Serial.println(F("Bomba Detenida"));
modem.sendSMS("+56954XXXXX","Alarma OFF"); // Reemplazar por su número telefónico
}
contador++;
}
}