Pages: [1]   Go Down
Author Topic: Fehlermeldung einmalig Ausführen  (Read 192 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Moin moin,

hab folgendes Problem:
Bekomme über serielle Kommunikation einen Wert. Wenn dieser Wert i <= 10 % ist dann soll eine Fehlermeldung einmalig ausgeben werden (über GSM Modul).
Wenn ich das ganze mit einer If-Bedingung prüfe, dann wird jedes Mal wenn  i <=10 % diese Fehlermeldung gesendet. Ich möchte dies allerdings nur 1 Mal tun, d.h. i wird von 100% immer kleiner, soll ab 10% eine einzige Fehlermeldung rausgeben. i wird entweder noch kleiner oder wieder größer und erst wenn i wieder, also zum 2. Mal kleiner gleich 10 % ist, dann die zweite Fehlermeldung senden. So möchte ich vermeiden, dass jedes mal nach der Prüfung ob i <= 10 ist eine SMS gesendet wird.

Ich hab viel probiert, mit if, while und for und es aber nicht hinbekommen. Habt ihr evtl. eine Idee?

Gruß Trackersos
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 73
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mach Dir ne static Variable in der Du speicherst, ob eine SMS gesendet wurde oder nicht. Wenn Du einen Wert <= 10% bekommst UND die Variable = FALSE ist, dann sendest Du die SMS und stellst die Variable = TRUE. Wenn Du einen Wert > 10% bekommst, stellst Du die Variable wieder = FALSE. So bekommst Du nur eine SMS beim Unterschreiten der Grenze. So lange der Wert unter der Grenze bleibt kommt keine weitere SMS. Erst wenn der Wert wieder über die Grenze steigt und anschließend wieder fällt, kommt die nächste SMS
Logged

DE
Offline Offline
God Member
*****
Karma: 20
Posts: 672
| Germany | NRW |
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hoi,
setz doch einfach einen Status für das 1.Mal.
Den setzt Du z.B. auf TRUE solange nich keine gesendet wurde und dann auf FALSE.

Brauchst dann nur noch den Status abfragen und wenn TRUE sendet er eine, danach nicht mehr wegen FALSE
Logged

Dum spiro, spero - if you find my posting helpful, please click my Karma smiley
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Do you know A.R.T

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey super danke für eure schnellen Rückmeldungen und für die Gute Idee, werde mich sofort an die Umsetzung machen!

Gruß TrackerSos
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So hab mich gleich mal dranngesetzt und siehe da, es funktioniert:

Code:
boolean meldung = true;

void setup()

  Serial.begin(9600);
  Serial.println("Starte Arduino");
}

void loop()
{
  for (int i = 0; i < 5; i++){
   
    Serial.println(i);
    if (i <= 2)
    {
      if (meldung)
      {
        Serial.println("FEHLER");
        meldung = !meldung;
      }
      else {
        Serial.println("Fehler bereits ausgeben");
      }
    }
    else {
      meldung = true;
      Serial.println("kein Fehler");
    }
    delay(1000);
  }
}


Ich bedanke mich!
Logged

DE
Offline Offline
God Member
*****
Karma: 20
Posts: 672
| Germany | NRW |
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bidde schöööön  smiley-grin
Logged

Dum spiro, spero - if you find my posting helpful, please click my Karma smiley
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Do you know A.R.T

Pages: [1]   Go Up
Jump to: