Codeschnipsel Erklärung

Etwas in der Art:

int tasten[4];          //Array für 4 Werte
int index = 0;            //Zählindex

//irgendwelcher Code innerhalb von loop() 
...

//Wert für DTMF wurde ermittelt
...
tasten[index] = dtmf;          //wert von dtmf an die aktuelle Stelle (index) in das Array schreiben
index++;                             //Wert von index um 1 erhöhen, damit wird beim nächsten speichern an die nächste stelle im array geschrieben
if(index==4) {
    index = 0;                       //wenn der index über die 4 werte hinausgehen würde, dann auf 0 zurücksetzen
}

//prüfen ob 4 tasten gedrückt wurden und schauen welche es waren
if(index==3) {  //aufpassen, index fängt bei 0 an zu zählen, damit haben wir bei einem wert von index=3 schon 4 werte erfasst
    int wert = tasten[index-3] * 1000 + tasten[index-2] * 100 + tasten[index - 1 ] * 10 + tasten[index];  // kleiner trick um aus den 4 werten eine zahl zu machen die man leichter vergleichen kann

    //prüfen, ob die tastenfolge eingegeben wurde
    if(wert == 6789) {
        // letzte ziffernfolge war 6789
        //hier den passenden code rein, den das 6789 auslösen soll
        ...
        
        index=0; //index wieder auf 0 setzen und damit von vorne anfangen
    } else {

        //alle werte im array um eins nach vorn verschieben und index wieder auf das letzte element setzen
        for(int i=0;i<3;i++) tasten[i] = tasten[i+1];
        index = 3;

        //auch das ist ein trick. damit wird aus "1234" im Array dann ein "234" und der nächste Tastendruck wird wieder hinten angefügt
        //somit hat man immer die letzten 4 tasten die gedrückt wurden, egal wie oft das passiert.
        //Es wird also auch dann die 6789 erkannt wenn z.B. 123456789 getippt wird und erst der 6. bis 9. Tastendruck die 6789 ist
    } 
}