Добрый вечер. Имеется GPRS Shield, и Iskra Neo. Собрал схему согласно инструкции. Но сеть не находит, светодиод моргает каждые 800мс. Ревизия GPRS Shield - вторая. Код из инструкции Код (C++): // библиотека для работы с GPRS устройством #include <GPRS_Shield_Arduino.h> // создаём объект класса GPRS и передаём в него объект Serial1 GPRS gprs(Serial1); // можно указать дополнительные параметры — пины PK и ST // по умолчанию: PK = 2, ST = 3 // GPRS gprs(Serial1, 2, 3); void setup() { // открываем последовательный порт для мониторинга действий в программе Serial.begin(9600); // открываем Serial-соединение с GPRS Shield Serial1.begin(9600); // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе while (!Serial) { } Serial.print("Serial init OK\r\n"); // включаем GPRS шилд gprs.powerOn(); // проверяем есть ли связь с GPRS устройством while (!gprs.init()) { // если связи нет, ждём 1 секунду // и выводим сообщение об ошибке // процесс повторяется в цикле // пока не появится ответ от GPRS устройства delay(1000); Serial.print("Init error\r\n"); } // выводим сообщение об удачной инициализации GPRS Shield Serial.println("GPRS init success"); // отправляем сообщение по указанному номеру с заданным текстом gprs.sendSMS("+79263995140", "Hello SMS from Amperka!"); } void loop() { } С Uno тоже самое, сделал на 10, 11 pin. И ошибка снова. Сим карта рабочая..
Ситуация была аналогичная - 1/ Запитал сборку шилдов блоком питания, USB не хватало 2/ Изменил код, может и избыточно, но работает стабильно
какая ошибка-то? "Init error" ? - это не значит, что нет сети. Такая ошибка возникает, когда у платы нет связи с модемом. Он хотя бы включается? И что за манера при первой же ошибке бежать на форум? а порыться в гугле? а перепробовать все режимы? а посидеть пару ночей на иностранных форумах?
Я так и сделал, перепробовал и mega и uno. У модуля есть два информационных светодиода — ON, который загорается после включения модуля и AIR, который мигает в зависимости от состояния сети. Возможные режимы AIR (Горит/Не горит): 64мс/800мс — сеть не найдена; 64мс/3000мс — сеть найдена; 64мс/300мс — идет обмен по GPRS. AIR моргает в районе 1 раза в секунду, соответственно сеть не найдена. Сим карта работает в GSM/GPRS/GPS Shield (B) работает и модуль соответственно принимает сообщения. Тут я ставил источники питания 12В 1А, 2А - все равно не помогает. Есть какой-то скетч, который показывает ответы с платы? Я пишу АТ ей, а в ответ тишина.
Код (C++): // библиотека для работы с GPRS устройством #include <GPRS_Shield_Arduino.h> // создаём объект класса GPRS и передаём в него объект Serial1 GPRS gprs(Serial1); // можно указать дополнительные параметры — пины PK и ST // по умолчанию: PK = 2, ST = 3 // GPRS gprs(Serial1, 2, 3); void setup() { Serial.begin(9600); //Скорость порта для связи Arduino с компьютером Serial.println("Goodnight moon!"); Serial1.begin(9600); //Скорость порта для связи Arduino с GSM модулем Serial1.println("AT"); } void loop() { if (Serial1.available()) Serial.write(Serial1.read()); if (Serial.available()) Serial1.write(Serial.read()); } Отвечает OK
Ну вот пока сеть не найдется, дальше можно не продолжать. Проверьте питание SIM-карты, на картинке отмечено место, где это можно сделать.
Модуль показывает состояние неизвестно OK AT+COPS=? +COPS: (1,"MegaFon RUS","MegaFon","25002"),(1,"Beeline","Beeline","25099"),(1,"MTS-RUS","MTS","25001"),,(0,1,4),(0,1,2) OK AT+CPAS +CPAS: 2 OK AT+CREG? +CREG: 0,0 Что на конденсаторе должно быть?