I am using SIM900A GSM module to send sms/make calls . I use an external power supply (4 batteries) and a step down buck converter to adjust the voltage to 5V . The issue now is , when the led on GSM module has been blinking every 1/2 seconds , it was able to transmit data to my Arduino UNO ( Responds "OK" to "AT" command) . But when I provide external power supply and the led now blinks every 3 second (indicating connection to network) , it is now no more able to transmit data to my Arduino .
Below is the code I use for debugging :
#include <SoftwareSerial.h>
// Create software serial object to communicate with SIM800L
SoftwareSerial mySerial(3, 2); // GSM Module Rx & Tx is connected to Arduino #2 & #3
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
Serial.println("Serial communication started");
mySerial.begin(9600);
Serial.println("SIM800L communication started");
}
void loop() {
// Forward data from Serial Monitor to GSM module
while (Serial.available()) {
char inByte = Serial.read();
Serial.print("Sending to GSM: ");
Serial.println(inByte);
mySerial.write(inByte);
}
// Forward data from GSM module to Serial Monitor
while (mySerial.available()) {
char inByte = mySerial.read();
Serial.print("Received from GSM: ");
Serial.println(inByte);
Serial.write(inByte);
}
}
When the network is connected ( led blinks every 3s) , serial monitor is not able to print out "Received from GSM" for AT command . However , when the led blinks every 1/2 s , it is able to print out "Received from GSM" . I really cannot understand what's going on , please help .