Buenas, estoy intentando utilizar el módulo SIM800L. La alimentacion es adecuada (de 3,3v y sin ruido alguno, medido con osciloscopio). El codigo que estoy cargando en el arduino MEGA es el siguiente:
#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);
//Begin serial communication with Arduino and SIM800L
mySerial.begin(9600);
Serial.println("Initializing...");
delay(1000);
mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
updateSerial();
mySerial.println("AT+CSQ"); //Signal quality test, value range is 0-31 , 31 is the best
updateSerial();
mySerial.println("AT+CCID"); //Read SIM information to confirm whether the SIM is plugged
updateSerial();
mySerial.println("AT+CREG?"); //Check whether it has registered in the network
updateSerial();
}
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
}
}
Las conexiones son las siguientes:
El problema es que en el monitor serial (con el metodo NL & CR) solo se muestra el mensaje "Initializing..." pero de ahí ya nada, cuando se tendría que mostrar las configuraciones AT. Si envio desde el monitor serial el comando "AT" de forma manual, no sucede nada, solo parpadea el LED TX del arduino, pero en el monitor serial no se muestra nada.