подскажите какие пины жизнено необходимы для работы gprs шилда он у меня на Serial а не на SWserial . я правильно понел что достаточно подключить GND , 5-ти вольтовую линию , tx и rx ?
Достаточно. Только в этом случае придется каждый раз при включении устройства отдельно включать модуль кнопкой (по крайней мере я не знаю моделей, включающихся просто при подаче питания).
У gprs шилда обычно имеется еще один задействованный пин для управления питанием (какой именно, может зависеть от конкретной модели, у того, что продается в Амперке, это девятый). В некоторых шилдах для активации этого пина надо что-то там запаять или разрезать. Это уже надо читать описание к конкретному шилду. У того, что в Амперке, работает и так. При инициализации (в setup) в последовательный порт шилда посылается команда AT. Если в течении некоторого времени в ответ не поступает OK, то на пин управления питанием на две секунды подается HIGH, после чего нужна задержка на некоторое время для включения шилда и нахождения им сети оператора сотовой связи. Вроде хватает десяти секунд. Для шилда, доступного в Амперке это может выглядеть примерно так: Код (Text): pinMode(9, OUTPUT); Serial.print("AT\r"); delay(300); if (!waitOK()) { // Включаем GPRS Shield digitalWrite(9, HIGH); delay(2000); digitalWrite(9, LOW); delay(10000); } Функция waitOK: Код (Text): String currStr = ""; //считается, что лучше сделать статиком в функции, //но мне кажется, что так понятнее boolean waitOK() { while (Serial.available()) { char currSymb = Serial.read(); if ('\r' == currSymb) { if (!currStr.compareTo("OK")) return(true); currStr = ""; } else if ('\n' != currSymb) currStr += String(currSymb); } return(false); }