I am using a GSM SIM800L EVB Module w/ SMA Antenna shield with a Arduino Uno and fail to get it so send a SMS.
I have read many reports on solving the problem on Youtube without finding a solution.
The Arduino is supplied from my PC via USB.
The shield is supplied with 4 V from a switching regulator and has a 2200 uF capacitor across the supply. All connections are very short.
I wonder of the Sim cards used in South Africa might cause the problem?
Running a sketch to check the shield and Sim card the card and network is recognized but an error is received when I check if the Sim card is ready.
The sketch is:
/*
Sketch from https://lastminuteengineers.com/sim800l-gsm-module-
arduino-tutorial/
*/
#include <SoftwareSerial.h>
//Create software serial object to communicate with SIM800L
SoftwareSerial mySerial(3, 2); //SIM800L Tx & Rx is connected to Arduino #3 & #2
void setup()
{
//Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
Serial.println("SendSmsW3b");
//Begin serial communication with Arduino and SIM800L
mySerial.begin(9600);
Serial.println("Initializing...");
delay(1000);
// mySerial.println("AT Moet OK wees"); //Once the handshake test is successful, it will back to OK
Serial.print(" Moet OK wees - ");
mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
updateSerial();
mySerial.println("AT+CSQ"); //Signal quals 0-31 , 31 is the best
Serial.print(" Check the ‘signal strength’ 18,0 - ");
updateSerial(); // lees 22,0
mySerial.println("AT+CCID"); //Read SIM information to confirm whether the SIM is plugged
Serial.print(" get the SIM card number - ");
updateSerial(); // Error
mySerial.println("AT+CREG?"); //Check whether it has registered in the network
Serial.print(" Registered on the network? MOET 0,2 WEES - ");
updateSerial(); // 0,0
mySerial.println("AT+CPIN"); //Check whether it has registered in the network
updateSerial(); // 0,0
mySerial.println("AT+COPS=?"); //Check whether it has registered in the network
Serial.print(" Return list operators on network neem 'n ruk. - ");
Serial.println(" ");
updateSerial(); // 0,0
}
void loop()
{
updateSerial();
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
}
while (mySerial.available())
{
Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
}
}
The results of running the sketch is:
Initializing...
AT
OK
RDY
+CFUN: 1
Check the ‘signal strength’ 18,0 - AT+CSQ
+CSQ: 0,0
OK
get the SIM card number - AT+CCID
89270200180082637084
OK
+CPIN: READY
Registered on the network?
AT+CREG?
+CREG: 0,2
OK
Is Sim ready -
AT+CPIN
ERROR
Return list operators on network -
AT+COPS=?
Call Ready
SMS Ready
+COPS: (3,"VodaCom","VODA","65501"),(3,"Mobile Telephone Netw
Hope someone can solve the problem.