#include <GSM.h> // PIN Number #define PINNUMBER "" // initialize the library instance GSM gsmAccess; // include a 'true' parameter to enable debugging GSMScanner scannerNetworks; GSMModem modemTest; // Save data variables String IMEI = ""; // serial monitor result messages String errortext = "ERROR"; void setup() { // initialize serial communications and wait for port to open: Serial.begin(9600); Serial.println("GSM networks scanner"); scannerNetworks.begin(); // connection state boolean notConnected = true; // Start GSM shield // If your SIM has PIN, pass it as a parameter of begin() in quotes while (notConnected) { if (gsmAccess.begin(PINNUMBER) == GSM_READY) { notConnected = false; } else { Serial.println("Not connected"); delay(1000); } } // get modem parameters // IMEI, modem unique identifier Serial.print("Modem IMEI: "); IMEI = modemTest.getIMEI(); IMEI.replace("\n", ""); if (IMEI != NULL) { Serial.println(IMEI); } } void loop() { // scan for existing networks, displays a list of networks Serial.println("Scanning available networks. May take some seconds."); Serial.println(scannerNetworks.readNetworks()); // currently connected carrier Serial.print("Current carrier: "); Serial.println(scannerNetworks.getCurrentCarrier()); // returns strength and ber // signal strength in 0-31 scale. 31 means power > 51dBm // BER is the Bit Error Rate. 0-7 scale. 99=not detectable Serial.print("Signal Strength: "); Serial.print(scannerNetworks.getSignalStrength()); Serial.println(" [0-31]"); } WhenResults: When I run the program, I can see the "GSM networks scanner" message appear on my serial monitor, but it does not display anything else after that. Also, the NET and STATUS LEDs turn off after some few seconds when the program starts running. I already made the minor adjustments necessary for the Arduino Mega, and the power supply is temporarily from the USB port of my laptop connected to the Arduino Mega. I am using a SIM card that has been activated.
This is the program that I am using:
*/
// libraries #include <GSM.h>
// PIN Number #define PINNUMBER ""
// initialize the library instance GSM gsmAccess; // include a 'true' parameter to enable debugging GSMScanner scannerNetworks; GSMModem modemTest;
// Save data variables String IMEI = "";
// serial monitor result messages String errortext = "ERROR";
void setup() { // initialize serial communications and wait for port to open: Serial.begin(9600);
Serial.println("GSM networks scanner"); scannerNetworks.begin();
// connection state boolean notConnected = true;
// Start GSM shield // If your SIM has PIN, pass it as a parameter of begin() in quotes while (notConnected) { if (gsmAccess.begin(PINNUMBER) == GSM_READY) { notConnected = false; } else { Serial.println("Not connected"); delay(1000); } }
// get modem parameters // IMEI, modem unique identifier Serial.print("Modem IMEI: "); IMEI = modemTest.getIMEI(); IMEI.replace("\n", ""); if (IMEI != NULL) { Serial.println(IMEI); } }
void loop() { // scan for existing networks, displays a list of networks Serial.println("Scanning available networks. May take some seconds."); Serial.println(scannerNetworks.readNetworks());
// currently connected carrier Serial.print("Current carrier: "); Serial.println(scannerNetworks.getCurrentCarrier());
// returns strength and ber // signal strength in 0-31 scale. 31 means power > 51dBm // BER is the Bit Error Rate. 0-7 scale. 99=not detectable Serial.print("Signal Strengththink my program stops at this stage: "); Serial.print(scannerNetworks.getSignalStrength()); Serial.println(" [0-31]");
}
It would be great if you could be more specific when providing helpful information.
// connection state boolean notConnected = true; // Start GSM shield // If your SIM has PIN, pass it as a parameter of begin() in quotes while (notConnected) { if (gsmAccess.begin(PINNUMBER) == GSM_READY) { notConnected = false; } else { Serial.println("Not connected"); delay(1000); } } I tried this program as well https://www.arduino.cc/en/Guide/ArduinoGSMShield#toc9 and it has the same problem (i.e. stops at the same stage as the previous program)

