void setup()
{
// El pin 13 en Arduino tiene un LED que nos servirá para darnos alguna pista de por donde va el programa
pinMode(13, OUTPUT);
// El pin 12 es el que activa el relé
pinMode(12, OUTPUT);
Serial.begin(9600);
}
void loop()
{
// El LED de la patilla 13 parpadea 3 veces para indicar que empezamos
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
// Se activa el relé durante un segundo. Esto enciende el móvil.
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
// Esperamos 15 segundos a que termine de encenderse
delay(15000);
// Este comando permite que controlemos el teclado del móvil por el puerto serie
Serial.println("AT+CMEC=2");
delay(1000); // Esperamos un segundo porque si no no acepta el siguiente comando
// Hace que se pulse la tecla soft izquierda. Es para que diga OK al mensaje de conexión.
// Es un mensaje de protección de avión. Sale porque hemos desactivado la petición de PIN de la SIM
Serial.println("AT+CKPD=[");
delay(10000); // 10 segundos para que conecte a algún servicio GSM
// Usa el listín telefónico de la SIM
Serial.println("AT+CPBS=SM");
delay(5000); // 5 segundos para que lo trague
// Y hace una llamada al número de teléfono de la primera entrada del listín
Serial.println("ATD>1;");
// Serial.println("ATDT123456789;"); // Así sería si marcaramos un número concreto
delay(60000UL); // Un minuto para que llame
// Cuelga todas las llamadas
Serial.println("AT+CHUP");
delay(5000);
// Apaga el móvil
Serial.println("AT^SMSO");
// Arduino ya no tiene más que hacer. Como no se hacerle un halt lo meto en un bucle infinito
for(;;);
}
No hay comentarios:
Publicar un comentario