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!