HOLA BUENOS DIAS GRACIAS POR ESTE MARAVILLOSO POR Y SUS PRODUCTOS, LES CUENTO QUE LOGRE PROGRAMAR UN SISTEMA DE ENCENDIDO REMOTO MEDIANTE GSM, USANDO UN ARDUINO UNO UN MODULO A6 GSM Y UN RELAY, EL PROBLEMA QUE TENGO ES QUE A VECES RECONOCE EL SERIAL BAUD Y A VECES NO, LUEGO DEJA DE FUNCIONAR, ESTE ES EL CODIGO PARA VER SI A ALGUIEN SE LE OCURRE ALGO
#include <call.h>
#include <gps.h>
#include <GSM.h>
#include <inetGSM.h>
#include <LOG.h>
#include <SIM900.h>
#include <sms.h>
#include <Streaming.h>
#include <WideTextFinder.h>
#include <SoftwareSerial.h> //Incluimos la libreria SoftwareSerial
SoftwareSerial SIM800L(8, 9); //Declaramos los pines RX(8) y TX(9) que vamos a usar Conexion del 4 al 9 del 5 al 8
//TIERRA DEL ARDUINO A TIERRA DEL MODULO
//PUENTEAR TIERRA DEL MODULO Y VCC PARA QUE SE PRENDA CUANDO SE VA LA LUZ
// RELAY CONEXION POSITIVO NEGATIVO Y LA SENAL AL 13
String Comando; //Declaramos una variable de tipo String para almacenar el texto del SMS recibido
int LED = 13; //Definimos el pin donde esta conectdo el RELAY (Digital 13)
void setup(){
Serial.begin(115200);
Serial.begin(115200); //Iniciamos la comunicacion serie
SIM800L.begin(115200);
SIM800L.begin(115200); //Iniciamos una instancia de la librerÃa SoftwareSerial
SIM800L.println(“AT+CMGF=1”); //Configuramos el módulo para trabajar con los SMS en modo texto
SIM800L.println(“AT+CXXX=?”); //Configuramos el módulo para trabajar con los SMS en modo texto
delay(1000); //Pausa de 1 segundo
SIM800L.println(“AT+CNMI=1,2,0,0,0”); //Configuramos el módulo para que nos muestre los SMS recibidos por comunicacion serie
pinMode(LED, OUTPUT); //Definimos el pin donde esta conectado el RELAY como salida
}
void loop(){
if (SIM800L.available()){ //Si hay datos disponibles
Comando = SIM800L.readString(); //Los almacenamos en la variable Comando
Serial.println("NUEVO SMS ENTRANTE: " + Comando); //Los sacamos por comunicacion serie
}
if(Comando.indexOf(“RING”)>=0){ //Si la variable Comando contiene la palabra RING
Serial.println(“SIRENA ACTIVADA”); //Avisamos por comunicacion serie
digitalWrite(LED, HIGH); //Activamos ACTIVAMOS LA SIRENA
delay(60000); //1 Minuto 60000 1/2 minuto 30000 15 segundos 15000 7.5 segundos 7500
digitalWrite(LED, LOW); //Desactivamos la SIRENA
Serial.println(“SIRENA APAGADA”); //Avisamos por comunicacion serie
Comando = “”; //Vaciamos la variable
}
if(Comando.indexOf(“Off”)>=0){ //Si la variable Comando contiene la palabra OFF
Serial.println(“SIRENA DESACTIVADA”); //Avisamos por comunicacion serie
digitalWrite(LED, LOW); //DESACTIVAMOS LA SIRENA
Comando = “”; //Vaciamos la variable
}
}