Buenas tardes a todos, estoy aprendiendo un poco el mundo del GSM, GRPRS y GPS y no logro hacer que mi modulo realize una llamada.
El codigo es el siguiente
#include <SoftwareSerial.h>
SoftwareSerial A7Module(7, 8); // RX TX
void setup() {
//digitalWrite(9, HIGH); // Uncomment to enable card power by Software
//delay(1000);
//digitalWrite(9, LOW);
delay (5000); //Turn on GPS and Sim card
A7Module.begin(19200);
Serial.begin(19200);
Serial.println("OK");
delay (1000);
// A7Module.println("AT + CPIN = \"XXXX\""); //AT command to enter the PIN of the card
delay(25000); //Time to find a network
}
void loop() {
// put your main code here, to run repeatedly:
Call();
while (1);
}
void Call()
{
Serial.println("Making call...");
A7Module.println("ATD ********;"); //AT commando to make a call
delay(30000); //Wait 30 seconds while making the call
A7Module.println();
A7Module.println("ATH"); // end call
delay(1000);
Serial.println("Call end");
}
Si alguien puede darme una mano, estaré agradecido. Saludos
Para darte una mano sería bueno que publiques el manual del A7.
Yo lo he estado mirando y la información es escasa o esta en chino.
Tal vez tu tienes mejor información, asi que poner el enlace del datasheet o algun otro manual que sirva será bienvenido para poder colaborar con tu problema.
Ese es el manual que estaba usando, entiendo que debo poner un level converter entre el arduino y mi modulo.
A parte probé el siguiente código para enviar SMS y funciona a la perfección, no se por que para llamar tengo problemas
#include <SoftwareSerial.h>
SoftwareSerial A7Module(7, 8); // RX TX
void setup() {
//digitalWrite(9, HIGH); // Uncomment to enable card power by Software
//delay(1000);
//digitalWrite(9, LOW);
delay (5000); //Turn on GPS and Sim card
A7Module.begin(19200);
Serial.begin(19200);
Serial.println("OK");
delay (1000);
// A7Module.println("AT + CPIN = \"XXXX\""); //AT command to enter the PIN of the card
delay(25000); //Time to find a network
}
void loop() {
// put your main code here, to run repeatedly:
Message_sms();
}
void Message_sms()
{
Serial.println("Sending SMS...");
A7Module.print("AT+CMGF=1\r"); //Set text mode to send or receive messages
delay(1000);
A7Module.println("AT+CMGS=\"**********\""); //Number to send message
delay(1000);
A7Module.println("SMS enviado desde arduino."); // Text of the SMS
delay(100);
A7Module.println((char)26); //Ending comand ^Z
delay(100);
A7Module.println();
delay(5000); // Wait to send sms
Serial.println("SMS sent");
}
y a tu pagina Jopapa no se puede acceder.
Muchas gracias.
Como que no puedes acceder.
Yo pude y este es el código que jopapa propone
//Llamada de teléfono
void setup(){
Serial.begin(9600);
delay(200);
Serial.println("AT");
delay(1000);
Serial.println("ATD65911****"); //Marca el número
delay(15000); //Espera establecer la llamada y sonar
Serial.println("ATH"); //Corta la llamada
}
void loop()
{
}
No estoy pasando el numero de PIN, no se si eso tendrá que ver (me llama la atención que para mensajes funcione bien) y tampoco estoy enviándole el comando AT antes de llamar. son las únicas diferencias que veo.
De todos modos, muchas gracias por la ayuda.
Cual es el número de PIN?
El ejemplo habla del número al que quieres llamar.
Probaste con el ejemplo de la página de jopapa que yo te reproduje porque dijiste que no podías entrar?
Deja de lado el código tuyo que no funciona. probaste este?