GSM SHIELD. Einmal verbunden und dann nie wieder!

Hallo Leute!

Wir haben morgen unsere Präsentation des Abschlussprojektes und haben heute ein neues GSM SHIELD verbaut.

Kurz gesagt: Wir haben eine Alarmanlage und im Alarmfall senden wir eine SMS übers Shield und sind direkt danach in einer while(1)-Schleife in der alle Lampen blinken und Hupen hupen.

Daher müssen wir unser Arduino-Board (MEGA 2560) resetten. Doch das GSM SHIELD resettet sich nur "ab und zu" mal.

GSM connect:

while(notConnected)
 {
  if (gsmAccess.begin(PINNUMBER)==GSM_READY)
     notConnected = false;
  else
    delay(1000);
 }

SMS senden:

void sendSMS()
{ 
    // Reset des Registers Pointer
  Wire.beginTransmission(DS1307_ADDRESS);
  Wire.write(zero);
  Wire.endTransmission();

  Wire.requestFrom(DS1307_ADDRESS, 7);

  int second = bcdToDec(Wire.read());
  int minute = bcdToDec(Wire.read());
  int hour = bcdToDec(Wire.read() & 0b111111); //24 hour time
  int weekDay = bcdToDec(Wire.read()); //0-6 -> sunday - Saturday
  int monthDay = bcdToDec(Wire.read());
  int month = bcdToDec(Wire.read());
  int year = bcdToDec(Wire.read());

  sms.beginSMS(remoteNumber);
  sms.print("Alarm um ");
  sms.print(hour);
  sms.print(":");
  sms.print(minute);
  sms.print(" Uhr");
  sms.endSMS();
}

while(1)-Schleife im Alarmfall:

if((x == 40 & digitalRead(47) == HIGH )|( pwok == 0 & digitalRead(47)== LOW) )
            { 
            lcd.clear();
            lcd.setCursor(0,0);
            lcd.print("    ALARM");
            sendSMS();
            while(1)
            { 
            digitalWrite(6,  HIGH);                          // Alarm-Signal Sirene !
            digitalWrite(53,  LOW);                         // LED-Blitzer Signal  !
            digitalWrite(44, HIGH);                         // Alarm
            digitalWrite(46,  LOW);                         // Alarm
            }
            }

Resetten tun wir das Board über einen Taster am PIN RST (am SHIELD). wenn wir eine Brücke zu PIN 7 -> CTRL ( laut Beschreibung Reset des SHIELDs) machen, haben wir einen Dauerreset...

HILFE! Danke! :slight_smile: