GPRS Shield

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем AGShevtsov, 14 ноя 2013.

  1. AGShevtsov

    AGShevtsov Нуб

    Доброго дня! Может кто то сталкивался с такой проблемой... К Uno подключаю GPRS Shield, дополнительно подключаются датчики температуры, загазованности и экран... через некоторое время GPRS Shield отключается от сети GSM. Приходится через кнопку его снова включать. Потом он снова отключается, и так по кругу. Время работы не постоянное, от 5 сек до 3 минут...
     
  2. Megakoteyka

    Megakoteyka Оракул Модератор

    Какова схема подключения? А с питанием как дела? Без экрана и датчиков работает нормально? А только без экрана? А только без датчиков?
     
  3. -Mark-

    -Mark- Гик

    Я сталкивался с такой проблемой. Питание тут совершенно не причем...у меня при нехватке питания от юэсби подсаживало экран но шилд работал! А вот если был какой-то косяк в скетче (сейчас уже не припомню) то шилд так себя и вел. Смотрите скетч, а лучше его сюда выложите.
     
  4. AGShevtsov

    AGShevtsov Нуб

    скетч простой... в нем уже нет вывода на экран( пока убрал) , но шилд отключается ( при этом питание на шилд идет...), и еще странность он перестал слать смс, хотя звонок делает...
    GPRS Shield воткнут в Uno, сверху Troyka shield, в нее воткнуты датчик температуры, загазованности и кнопка.


    #include <Wire.h>
    #include <SHT1x.h>
    #include <SoftwareSerial.h>

    #define dataPin 6
    #define clockPin 9

    SHT1x sht1x(dataPin, clockPin);

    SoftwareSerial gprsSerial(7, 8);
    int btnPin = 12;

    boolean prevBtn = LOW;

    float temp_c;
    float humidity;


    void setup()
    {
    Serial.begin(9600);
    gprsSerial.begin(19200);
    delay(500);
    }

    void loop()
    {
    printTime();
    delay(100);


    boolean currBtn = digitalRead(btnPin);
    if (prevBtn != currBtn && currBtn == HIGH) {
    sendTextMessage();
    }
    prevBtn = currBtn;

    }

    void printTime()
    {

    temp_c = sht1x.readTemperatureC();
    humidity = sht1x.readHumidity();

    int val;
    val=analogRead(0);
    }


    void sendTextMessage()
    {
    gprsSerial.print("AT+CMGF=1\r");
    delay(100);
    gprsSerial.println("AT + CMGS = \"+7916*******\"");
    delay(100);
    gprsSerial.println(temp_c);
    delay(100);
    gprsSerial.println((char)26);
    }
     
  5. AGShevtsov

    AGShevtsov Нуб

    питание от блока 1000мА
     
  6. -Mark-

    -Mark- Гик

    а что в мониторе порта пишет? у меня как-то было что она отправляла смс и печатала последовательно в монитор значения переменных...а после одной из них выдавала ошибку и вырубалась...через пару часов до меня дошло проверить баланс симки ))))))
     
  7. AGShevtsov

    AGShevtsov Нуб

    Деньги есть ))) Звонки проходят. Команды в шилд уходят и ни какого ответа... Похоже, все таки, на программный сбой. Если загрузить с вики пример, то сеть не падает, хотя смс не отправляет и не принимает, срабатывают только звонки....
     
  8. -Mark-

    -Mark- Гик

    с смс у меня тоже были проблемы...после того как дважды в сетапе прописал команды настройки модема все заработало ))
     
  9. AGShevtsov

    AGShevtsov Нуб

    А какие команды были продублированны, если не секрет?
     
  10. -Mark-

    -Mark- Гик

  11. AGShevtsov

    AGShevtsov Нуб

    Спасибо за совет. Вопрос решился . Поменял sim карточку на более старую. смс нормально отправляется и вроде нормально принимается. А отключение GPRS Shield решилось методом научного тыка. Просто переставил датчик температуры с 6 и 9 джамперов на 3 и 6.