Methode um Powerbank im Admin Menü zu belasten?

Hallo zusammen!

Ich habe im Hauptprogramm (DEV 2.1) eine Methode ergänzt um bei meiner Powerbank die Autoabschaltung zu umgehen. Hierzu benutze ich den Pin D5 um über einen Transistor und einen Widerstand die Last alle 10 Sekunden für eine Sekunde zu aktivieren. Das ganze funktioniert wunderbar im normalen Betrieb. Allerdings geht die Powerbank nach 30 Sekunden aus sobald ich im Admin Menü bin. Hat einer eine Idee wie ich das Admin Menü anpassen muss, damit meine Methode auch dort funktioniert?

Hier nun die Methode (funktioniert super im normalen Betrieb, leider nicht im Admin Menü):

#define LoadPin 5	//Pin D5 für Lastschaltung zur Belastung der Powerbank (Verhinderung des Auto-Off)
unsigned long MillisAktuell = 0;
unsigned long LoadStart = 0;
bool LoadEinAus;
unsigned long ZeitLoad = 1000;	//Belastungszeit in ms
unsigned long ZeitIntervall = 10000;	//Intervall zur Impuls-Lastschaltung (Powerbank-Belastung) in ms

void setup () {
    pinMode(LoadPin,OUTPUT);
}

void loop () {
    MillisAktuell = millis();
    if (LoadEinAus == LOW && LoadStart + ZeitLoad > MillisAktuell) {
      LoadEinAus = HIGH;
    }
    if (LoadEinAus == HIGH && LoadStart + ZeitLoad < MillisAktuell) {
      LoadEinAus = LOW;
    }
    if (LoadStart + ZeitLoad + ZeitIntervall <= MillisAktuell) {
      LoadStart = MillisAktuell;
    }
    digitalWrite (LoadPin, LoadEinAus);
}

Würde mich über jeden Tipp freuen.
Gruß

1 Like

Ich hatte glaube ich eine Methode erstellt, die immer in der loop und in der Funktion voicemenue aufgerufen wurde. Bin leider gerade ohne Laptop im Urlaub. Vielleicht kann ich in der Kommenden Woche mal meine Anpassungen posten, wenn ich wieder zuhause bin.

Das hört sich vielversprechend an, danke dir!

@oberbad Kannst du bitte beim posten von code den </> Knopf über dem Eingabefenster benutzen (Text markieren und dann drücken)?

Danke für den Hinweis, hab mich schon gefragt wie ich das am Besten mache. Jetzt weiß ich es. :+1:

Zwischen Zeile 1445 und 1446 kommt deine Erweiterung. Es ist die Do Schleife des voiceMenu.

}
// hier dein Code
  } while (true);
}

void resetCard() {
  mp3.playMp3FolderTrack(800);
1 Like

@Manu Danke dir, das war die exakt richtige Position :+1: Jetzt läufts auch im Admin Menü! TOP!!! Nochmal vielen Dank für die Unterstützung!

Gruß