Tengo un proyecto simple de arduino y shield sim900 encender y apagar led mediante llamada o mensaje al shield. lo tengo con alimentacion al shield sim900.
Lo que necesito es poder encender el sim900 y que busque señal de operador ya que lo que logro es que encienda pero para que empiece a operar debo dar click o oprimir el boton power.
bueno amigo tal vez este mi respuesta en esas librerias pero soy novato no se interpretarlas. mi codigo es este
#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8); // Configura el puerto serial para el SIM900
char incoming_char = 0; //Variable que guarda los caracteres que envia el SIM900
String agenda[] = {"3504283628" , "XXXXXXXXX"}; //Array con los numeros autorizados
int numtotal = 2; //Cantidad de numeros de telefono autorizados
String mensaje = "";
int LED = 13 ;
bool estado = false ; //Variable para guardar el estado del LED
void setup()
{
pinMode( LED, OUTPUT) ; // LED como salida
inicializaSIM900();
}
void loop()
{
if (SIM900.available() > 0)
{
incoming_char = SIM900.read(); //Guardamos el carácter del GPRS
Serial.print(incoming_char); //Mostramos el carácter en el monitor serie
mensaje = mensaje + incoming_char ; // Añadimos el carácter leído al mensaje
}
identifica_llamada ();
}
void inicializaSIM900()
{
digitalWrite(9, HIGH); // Descomentar para activar la alimentación de la tarjeta por Software
delay(1000);
digitalWrite(9, LOW);
delay (5000);
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 = \"0000\""); //Comando AT para introducir el PIN de la tarjeta
delay(25000); //Tiempo para que encuentre una RED
Serial.println("PIN OK");
SIM900.print("AT+CLIP=1\r"); // Activa la identificación de llamada
delay(100);
SIM900.print("AT+CMGF=1\r"); //Configura el modo texto para enviar o recibir mensajes
delay(1000);
SIM900.print("AT+CNMI=2,2,0,0,0\r"); // Saca el contenido del SMS por el puerto serie del GPRS
delay(1000);
}
void identifica_llamada()
{
int finllamada = mensaje.indexOf("NO CARRIER");
if (finllamada >= 0)
{
for ( int i = 0; i < numtotal; i++)
{
int pos = mensaje.indexOf(agenda[i]);
if (pos >= 0)
{
estado = ! estado ; // cambiamos el estado del LED
digitalWrite(LED, estado) ;
Serial.println("\nEl numero esta autorizado");
}
}
mensaje = "" ; //Bórralo para la próxima vez
}
}
asi esta mi conexion,
lo que sugiere prometec.net es unir o soldar el r13.
si amigo, tengo el codigo en InicializaSim900 de acuerdo a como va.
al igual la conexion, mi pregunta es viable unir el r13 ya que no tengo experiencia y si los uno tal vez cause daño a la sim900 no abra otra manera de iniciar la sim900.