millis sim900 softstart

Hallo,
İch verwende sim900 und Mega 2560 , wenn ein sms mit befehl " Modem" kommt schaltet relay ein und nach 5 sec wieder aus.
mein code:

if (strcmp(smsbuffer,“Modem”)==0)
{
digitalWrite(rel7, LOW);
delay (5000);
digitalWrite(rel7, HIGH);

lcd2.setCursor(0, 3);
lcd2.print(" <=Modem: MODEM ON ");
sms.DeleteSMS(position);
}
Stattdessen möchte ich millis verwenden. Kann bitte jamand mir helfen ! :slight_smile:

Hi

strcmp(smsbuffer,"Modem")==0
Das greift?
Würde jetzt erwarten, daß ohne Fund -1 und bei Fund die Stelle des Fund zurück gegeben wird - somit müsste 'Modem' direkt am Anfang des Buffer stehen ... aber ok, könnte ja sein.
Was spricht dagegen, mit der Erkennung eine State-Maschine zu starten?
Wenn 'Modem' erkannt wurde, 'Staus=1'.
Bei Status==1 Ausgang auf LOW, Zeit merken, Status++;
Bei Status==2 prüfen, ob Wartezeit bereits vergangen, wenn ja auf HIGH, LCD positionieren .....
Wenn der ganze Klump abgearbeitet ist, Status=0 und wir sind wieder Da, wo wir VOR dem Empfang waren.

MfG

Edit Model zum Modem gemacht :wink:

GOKTEK:
İch verwende sim900 und Mega 2560 , wenn ein sms mit befehl " Modem" kommt schaltet relay ein und nach 5 sec wieder aus.

Steht im smsbuffer nur “Modem” oder noch mehr?
Setze Deinen Sketch bitte in Codetags (</> oben links im Forumseditor)

Gruß Tommy

Wenn Du dann noch "code" und "quote" unterscheiden lernst und die gestellten Fragen beantwortest, könnte das noch etwas werden.

Das kannst Du auch nachträglich noch korrigieren.

Gruß Tommy