Hi everyone! I hope there is a solution... I have been on this project for 3 days...
Sim800L module connects to GSM network (if I dial the number of the SIM from a phone, I hear the sound of connected line), so ok, it's working.
But there is no serial connection to Arduino Uno.
E.g.
Serial.println(gsm.moduleManufacturer());
doesn't return any value. Same thing for AT commands.
Reading on several web sites, I found that the problem is that SIM800L works at 3.3 V and not 5 V, so the module could already be fried; is that plausible?
Indeed, I tried to lower voltage through resistors to 3.3 V (or less) but it still doesn't work (too late??); so either I keep doing something wrong or the module is fried.
What do you think? Do I have to buy a new module? Is there something else wrong?
Here is the code.
#include <GSMSim.h>
#include <SoftwareSerial.h>
#define RX 7
#define TX 8
//#define RESET 2
#define BAUD 9600
//GSMSim gsm(RX, TX, RESET);
GSMSim gsm(RX, TX);
/*
* Also you can this types:
* GSMSim gsm;
* GSMSim gsm(RX, TX);
* GSMSim gsm(RX, TX, RESET, LED_PIN, LED_FLAG);
*/
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
while(!Serial){}
Serial.println("GSMSim Library - Module Information");
Serial.println("");
delay(1000);
//gsm.start(); // baud default 9600
gsm.start(BAUD);
Serial.print("Manufacturer:\t\t");
Serial.println(gsm.moduleManufacturer());
delay(250);
Serial.print("Model:\t\t\t");
Serial.println(gsm.moduleModel());
delay(250);
Serial.print("Revision:\t\t");
Serial.println(gsm.moduleRevision());
delay(250);
Serial.print("IMEI:\t\t\t");
Serial.println(gsm.moduleIMEI());
delay(250);
Serial.print("IMSI:\t\t\t");
Serial.println(gsm.moduleIMSI());
delay(250);
Serial.print("ICCID:\t\t\t");
Serial.println(gsm.moduleICCID());
delay(250);
Serial.print("Is Connected?:\t\t");
Serial.println(gsm.isRegistered());
delay(250);
Serial.print("Signal Quality:\t\t");
Serial.println(gsm.signalQuality());
delay(250);
Serial.print("Operator:\t\t");
Serial.println(gsm.operatorName());
delay(250);
Serial.print("Operator From Sim:\t");
Serial.println(gsm.operatorNameFromSim());
delay(250);
}
void loop() {
// put your main code here, to run repeatedly:
}