Este proceso, si detecta presencia con sensor pir en digital 12, enciende led en pin 13 y hacew una llamada al móvil que queramos poner en el programa. Probado y funcionando.No necesita sobrealimentación el escudo sim900. OK
#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8);
int pinSensor = 12;
int pinLed = 13;
void setup()
{
//digitalWrite(9, HIGH); // Descomentar para activar la alimentación de la tarjeta por Software
//delay(1000);
//digitalWrite(9, LOW);
pinMode(pinSensor,INPUT);
pinMode(pinLed,OUTPUT);
delay (5000); //Nos damos un tiempo para encender el GPRS y la alimentación de la tarjeta
SIM900.begin(19200); //Configura velocidad del puerto serie para el SIM900
Serial.begin(19200); //Configura velocidad del puerto serie del Arduino
Serial.println("OK");
delay (1000);
SIM900.println("AT + CPIN = \"1472\""); //Comando AT para introducir el PIN de la tarjeta
delay(25000); //Tiempo para que encuentre una RED
}
void llamar()
{
Serial.println("Realizando llamada...");
SIM900.println("ATD676677815;"); //Comando AT para realizar una llamada
delay(30000); // Espera 30 segundos mientras realiza la llamada
SIM900.println("ATH"); // Cuelga la llamada
delay(1000);
Serial.println("Llamada finalizada");
}
void loop()
{
int lectura = digitalRead(pinSensor);
if(lectura==HIGH)
{
digitalWrite(pinLed,HIGH);
Serial.println("INTRUSO");
llamar(); //Realiza la llamada
// while (1); para que se quede en bucle y no haga mas llamada
}
if(lectura==LOW);
{
digitalWrite(pinLed,LOW);
Serial.println("DESPEJADO");
}
}