Buenas! algo e conseguido.
funciona a la perfeccion. lo unico que falta aqui, que no e conseguido hacerlo, es que mandandole un sms desde un numero especifico, se sobreescriba una posicion de numero de telefono en el array.
el codigo que tengo es el siguiente:
//------------------------------------------------------------------------------
char* telefonos[]={
"679734177", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000",
"600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "600000000", "619611378"};
//-------------------------------------------------------------------------------
int pulsador = 13;
#include <GSM.h>
#define PINNUMBER ""
GSM_SMS sms;
GSM gsmAccess;
GSMVoiceCall vcs;
char numtel[20]; // el numero entrante de llamada
char senderNumber[20]; // el numero entrante de SMS
void setup()
{
pinMode(pulsador, OUTPUT);
Serial.begin(9600);
Serial.println("Arrancando el programa de recepcion de llamadas");
boolean notConnected = true;
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("No Conectado");
delay(1000);}}
vcs.hangCall();
Serial.println("Esperando la llamada");
}
void loop()
{
//----------------------------------------------------------Cuerpo Del Programa---------------------------------------------------------------
char c; // Donde guardaremos el contenido del mensaje
digitalWrite(pulsador, HIGH); // Encendemos el LED Indicando que el sistema ya esta Operativo
switch (vcs.getvoiceCallStatus()) // Mirar el estado de la llamada
{
case IDLE_CALL: // En caso de que no pase nada
break; // Volvemos al Inicio
case RECEIVINGCALL: // En caso de entrar una llamada
Serial.println("Recibiendo llamada"); // Anunciamos una LLamada entrante
vcs.retrieveCallingNumber(numtel, 20); // Recuperar el número de llamadas
Serial.print("Numero Entrante:"); // Mostramos el numero en la Pantalla
Serial.println(numtel);
delay(500);
vcs.hangCall(); // colgamos
comparador(); // Ejecutamos Modulo Comparador
break; // Finalizamos y volvemos al Principio
}
delay(1000);
//----------------------------------------------------------Fin del cuerpo del Programa---------------------------------------------------
}
//---------------------------------------------------------------Modulo Abrepuerta--------------------------------------------------------
void Puerta() {
digitalWrite(pulsador, HIGH);
delay(1000);
digitalWrite(pulsador, LOW);
delay(1000);
digitalWrite(pulsador, HIGH);
delay(1000);
digitalWrite(pulsador, LOW);
}
//----------------------------------------------------------------Modulo Comparador-----------------------------------------
void comparador() {
for (int i = 0; i < 200; i++){
Serial.println(telefonos[i]);
//delay(500);
if (strcmp(telefonos[i], numtel) == 0) {
Serial.println("Aceptado!");
delay(1500);
Puerta();}}}
recivir_llamada_con_arduino2.ino (5.37 KB)