3

私はarduino unoの上にarduino GSMシールドを置いています。以下のコードがあります。シールドは接続していることを示していますが、接続していることは決して示していません。接続していない理由を知りたいです。助けていただければ幸いです。

#include <GSM.h>

#define PINNUMBER ""
GSM gsmAccess(true);
GSM_SMS sms;

void setup() {
    // initialize serial communications and wait for port to open:
    Serial.begin(9600);
    char code = 'X';
    while(true) {
        Serial.println("try Access");
        code=gsmAccess.begin("",true,false);
        Serial.println("\nAfter Access");

        if(code==GSM_READY){
          Serial.println("connected");
          break;
        }
        if(code==CONNECTING) {
          Serial.println("code is CONNECTING");
        } else {
          Serial.println(code);
          delay(1000);
        } 
    }
}
4

3 に答える 3

2

次のコマンドを使用して、モデムを非同期モードで起動しています。

code=gsmAccess.begin("",true,false);

GSMBegin のドキュメントを見ると、3 である GSM_READY 列挙型に対応しない常に 0 の戻り値が返されます。試す:

code=gsmAccess.begin("",true);
于 2014-06-16T12:48:13.950 に答える
2

9vバッテリーを接続してみてください。私にとっては問題を解決しました。私は同じ問題を抱えていました。明らかに、gsm シールドは多くの電力を使用します。一部のコンピューターは十分に配信できますが、一部のコンピューターはそうではありません。

于 2015-05-27T09:43:10.613 に答える
0

私も同じ問題を抱えていました。5VとGNDの間に680μFのコンデンサを接続することで解決しました。これは、電源を接続するときに大きな電流スパイクが発生するため、一時的な修正にすぎません。より良い解決策は、外部電源またはより能力の高い USB 電源を接続することです。

于 2016-03-06T23:03:21.223 に答える