Go Down

Topic: AYUDA CAMBIAR ENVIAR MSM POR LLAMADA EN SENSO PIR GSM900 (Read 63 times) previous topic - next topic

DAVIDROS

HOLA ALGUIEAN ME PODRIA AYUDARA QUE EN VEZ DE MANDARME UN MENSAJE ME REALICE UNA LLAMADA GRACIAS SOY NOVATO EN ESTO

SENSOR PIR SMS



#include <SoftwareSerial.h>
SoftwareSerial Sim900Serial(2, 3);
int led = 13;                // Pin 13 encenderá un led al detectar un movimiento
int SensorPir = 4;               // elegir el pin de entrada para el sensor PIR
int pirEstado = LOW;             // suponemos que no hay movimiento
int valor = 0;                    // variable para leer el estado del pin
 
void setup() {
  pinMode(led, OUTPUT);      // declarmos led como salida
  pinMode(SensorPir, INPUT);     // declaramos SensorPir como entrada
//  Sim900Serial.println("AT+IPR=19200");//Seteo de la velocidad del módulo a 19200
//  delay(500);

  Sim900Serial.begin(19200);               // la velocidad de transmisión GPRS 
  delay(1000);
  Serial.begin(9600);
}
 
void loop(){
 
  valor = digitalRead(SensorPir);  // leemos el valor de entrada
  if (valor == HIGH) {            // comprobamos si la entrada es HIGH
    digitalWrite(led, HIGH);  // Enciende el led
    Serial.println("Movimiento detectado!!!");
      EnvioTexto();//Llama a la función EnvioTexto
       
  }
}
void EnvioTexto()
{
  Sim900Serial.print("AT+CMGF=1\r");    //El envío del SMS en modo texto
  delay(100);
  Sim900Serial.println("AT + CMGS = \"XXXXXXXXX\"");//Número de teléfono de destino
  delay(100);
  Sim900Serial.println("Entraron a tu laboratorio");//Contenido del mensaje
  delay(100);
  Sim900Serial.println((char)26);//El código ASCII del ctrl + z es 26
  delay(100);
  Sim900Serial.println();
  delay(10000);//Demora el próximo mensaje
  Serial.println("Sensor listo!!!");
  digitalWrite(led, LOW);
 }

surbyte

Por favor, debes leer las normas del foro inmediatamente y además lee porque no debes usar mayúsculas en títulos o en el mensaje del post.
Ahora luego de hacerlo edita titulo, el párrafo que esta en mayúsculas y ademas usa etiquetas para postear debidamente el código.


Tu pregunta la he respondido varias veces y lo digo de esta forma porque el caso del PIR que se dispara y que quieren que solo una vez llame o envié un SMS esta respondido y lo recuerdo asi.
Solo te diré que uses el mismo criterio que aquel que se usa para detectar el flanco de un botón presionado. Si esta o no pasando de 0 a 1 o de 1 a 0.
Eso mismo requiere de dos variables, la del estado actual y la del estado anterior.
Si pasas de un estado actual viniendo del opuesto anterior entonces solo enviaras un solo SMS.
Ejemplo: Si tu PIR siempre se activa en HIGH al detectar movimiento entonces será un cambio de 0 a 1 o de LOW a HIGH.

Go Up