Go Down

Topic: SIM800L (Read 1 time) previous topic - next topic

jesus71gonzalez

Oct 17, 2017, 11:38 pm Last Edit: Oct 23, 2017, 03:04 pm by surbyte Reason: Errores o códigos con etiqueta de códigos </>
Hola. Alguien me puede ayudar?
Tengo un problema que llevo semanas intentar solucionar.
He conectado un módulo SIN800L al Arduino Uno. Los alimento de forma esterna. Todo me funciona genial, tanto enviar como recibir SMS.
Pero el problema viene cuando también conecto un sensor de movimiento PIR al arduino, también alimentado externamente.
El PIR lo conecto al pin digitar 2.
El problema es que cuando recibo un SMS el pin 2 se pone HIGH y no se por qué. Y además el SMS no lo leo en la variable Comando hasta que no ha ejecutado el código que está en la ALARMA del PIR.
aquí dejo el código del Void para que lo vea:

Code: [Select]
void loop()
{  
    //Comprueba el SIM800 a ver si hay SMS +++++++++++++++++++++++++++++++++++
    if (SIM800.available()){
        Comando=SIM800.readString();
        Serial.println("COMANDO LEIDO: " + Comando);        
       
        //Si recibe cualquier SMS que no es ATH lo reenvía al teléfono de llamadas.
        if (Comando!="" && Comando.indexOf("ATH")<0){        
          mensaje_sms(Comando);
        }
        Comando="";
    }
   
    //Si no recibe ningún SMS testea el sensor de movimiento +++++++++++++++++
    if (Comando==""){
        if (digitalRead(vPinMovimiento) == HIGH){
          Serial.println("ALARMA MOVIMIENTO");
          delay(1000);
          digitalWrite(vPinMovimiento, LOW);
        }
    }

    // Limpia el buffer del SIM800 ++++++++++++++++++++++++++++++++++++++++++
    if (SIM800.available()) Serial.write(SIM800.read());
}


Si yo le envío un SMS desde con mi móvil, siempre siempre lo promero que hace es escribir ALARMA MOVIMIENTO y luego me reenvia el SMS.
Me activa el pin 2 y no lee el comando del SMS.
Es como si al recibir un SMS hubiese movimiento en el PIR y eso NO es así.
He hecho muchas variaciones del código pero siempre funciona igual. Llevo semanas con este problema.
¿Sabe que podría ser?
Muchas gracias

surbyte

Primero lee las normas del foro y edita tu post inicial.
El código debe ir con etiquetas (</>)


Solo has pegado el código desde el loop no permitiéndonos ver como se inicializa SIM800 que por lo visto es usando SoftwareSerial y seguramente esta usando pines 2 y 3 y ahi esta tu problema.

Has conectado el PIR a los mismos pines que tienen que ver con la comunicación del SIM800 con el Arduino y por eso al recibir un SMS tu código confunde eso con la lectura de un movimiento del PIR.

Mueve el pir a un pin como el 4 en adelante.



Go Up