Hi everyone,
I'm Sven and I have a Arduino uno connected to a A6 GSM module with the following connections:
Arduino ---- A6 module
D2 UTX
D3 URX
GND G
5V VCC
5v PWR
In the GSM module I inserted a simcard from which I removed the PINlock and the simcard is able to call someone (I have put the simcard in a cellphone and tried to call myself and I received the call)
I programmed the following code on the arduino uno: (I sensored my phone number)
#include <SoftwareSerial.h>
SoftwareSerial mSerial(2,3);
//char phone_no[]="0499163---"; //papa
char phone_no[]="0470362---"; //sven
void setup()
{
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
mSerial.begin(115200);
delay(5000); //wacht tot modem is opgestart
mSerial.println("AT");
digitalWrite(13,HIGH);
delay(200);
mSerial.print("ATD");
mSerial.println(phone_no);
delay(10000);
mSerial.println("ATH");
digitalWrite(13,LOW);
delay(10000);
}
void loop()
{
digitalWrite(13,HIGH);
mSerial.print("ATD");
mSerial.println(phone_no);
delay(17000);
mSerial.println("ATH");
digitalWrite(13,LOW);
delay(600000); //10 min
}
This code makes (read "should") the arduino uno communicate with the GSM module using a softwareserial connection and should initiate 2 phonecalls to the chosen phonenumber and after this it should call every ten minutes. Instead I don't get any phonecall at all.
Plugging the arduino in a wall adapter (which can deliver more power) doesn't effect my results.
As a test I uploaded following code:
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2,3); // RX | TX
void setup()
{
Serial.begin(9600);
Serial.println("Enter AT commands:");
BTSerial.begin(115200); // HC-05 default speed in AT command more
}
void loop()
{
// Keep reading from HC-05 and send to Arduino Serial Monitor
if (BTSerial.available())
Serial.write(BTSerial.read());
// Keep reading from Arduino Serial Monitor and send to HC-05
if (Serial.available())
BTSerial.write(Serial.read());
}
With this code I can write commands in the monitor and view the response of the module.
It responds 'ok' if I send AT so I guess it's not a communication problem.
When I manually send ATD+phonenumber I get semi-gibberisch (see picture attached) which seems like 'cme error 500'. What I did found about this error is that I might need a country code in my phonenumber so +324.. instead of 04... But changing this didn't affect my results. Other causes of the error that I find on the internet are no connection but I tried in open air and still same results.
Another thing: I have a similar setup that I made in the past with the only differance that I used this module:
https://nl.aliexpress.com/item/A6-GPRS-Pro-Serial-GPRS-GSM-Module-Core-DIY-Developemnt-Board-TTL-RS232-With-Antenna-GPRS/32837194502.html?spm=a2g0s.9042311.0.0.27424c4dUDCk2s
instead of the one from the picture attacted.
So I wonder if anyone can help me to figure out why the module won't make the call!
Thanks Sven!