[Solved] ITEAD SIM900-GPRS-GSM-Modul an Arduino anschließen

Hallo,

kann mir jemand sagen, wie ich folgendes GPRS-Modul an meinem Mega2560 anschließen kann: http://www.exp-tech.de/Shields/ITEAD-SIM900-GPRS-GSM-minimum-system-module.html ?

Vielen Dank.

Ist doch alles in den verlinkten Dokumenten ersichtlich. Das Modul kommuniziert dann über die RX- und TX-Pins mit dem Mega. Diese Pins sind als Stiftleiste herausgeführt. RX vom Modul verbindest du mit TX1 am Arduino, TX des Moduls mit RX1 am Arduino. Spannung drauf, Masse verbinden, Testen. ;) Eine passende Arduino-Bibliothek gibt es auch, in der Regel sind da auch Beispielprogramme enthalten.

Ok, danke. Doch so einfach. Und was ist mit DT und DR?

Laut der Beschreibung sind diese fürs Debugging, die könnte man ebenso an eine freie UART des Arduino Mega2560 anschließen, auch wieder kreuzweise.

/* GSM Shield example
 
 created 2011
 by Boris Landoni
 
 This example code is in the public domain.

 
 http://www.open-electronics.org
 http://www.futurashop.it
 */

#include <SoftwareSerial.h>
#include <GSM_Shield.h>
//for enable disable debug rem or not the string       #define DEBUG_PRINT
// definition of instance of GSM class
GSM gsm;



void setup() {
  Serial.begin(9600);
  Serial.println("system startup"); 
  //gsm.InitSerLine(9600);   //initialize serial 1 
  gsm.TurnOn(9600);              //module power on
  //gsm.InitSerLine(9600);   //initialize serial 1 
  gsm.InitParam(PARAM_SET_1);//configure the module  
  gsm.Echo(1);               //enable AT echo 
}


void loop()
{
  
    int reg;
    reg=gsm.CheckRegistration();
    switch (reg){    
      case REG_NOT_REGISTERED:
        Serial.println("not registered");
        break;
      case REG_REGISTERED:
        Serial.println("GSM module is registered");      
        break;
      case REG_NO_RESPONSE:
        Serial.println("GSM doesn't response");
        break;
      case REG_COMM_LINE_BUSY:
        Serial.println("comm line is not free");
        break;
    }
    delay(2000);
    
    reg=gsm.IsRegistered();
      Serial.print("Registration ");
      Serial.println(reg);
    
    delay(5000);
}

Ich bekomme beim Example-Sketch folgende Ausgabe:

“GSM doesn’t response
Registration 0”

Dazu ein paar Fragen:

  • Darf ich eine beliebige SIM-Karte nehmen?

Edit:

  • LED blinkt alle 3000ms also “SIM900 registered to the network”

  • In dem beigefügten Dokument steht: “This Library is derived from Hwkitchen’s GSM Library http://www.hwkitchen.com and include the NewSoftSerial library to comunicate using the pin 4 (RX) and 5 (TX).”
    Also sicher, dass ich nicht Pin 4 und 5 meines Megas nehmen muss, oder 2 und 3, wie es sich aus der .cpp der Library vermuten lässt?

Die Softwareserial funktioniert meines Wissens über alle normalen Digitalen Pins.

“for serial software in this new version we adopted pins 2 and 3”

Ist dort aber unter anderem zu lesen.

Pin 2 und 3 werden auch in der .cpp der Library definiert, aber funktionieren tuts trotzdem nicht.

Problem gelöst: Musste Pin 50 und 51 für rx und tx nehmen und in der GSM.cpp anpassen.