Abschaltung der Powerbank mit blinkender LED verhindern

Definitiv.
Hier hast du einen Überblick über Powerbanks, die von der Community genutzt werden mit vielen nützlichen Informationen wie zum Beispiel automatische Abschaltung usw…

Sorry, das kannst du auch gar nicht finden, da es nicht in der DEV enthalten ist. Das war eine Erweiterung für meine Software…

Danke nochmal.
Ich habe jetzt folgende Powerbank bestellt:

Die Erfahrungen mit der EasyAcc 20000 habe ich in die Übersicht eingetragen.

nur zum Verständnis: das Interval ist die Zeit, welche die LED jeweils an und aus ist.
Eine längere Pause zwischen den einzelnen Aufblinken könnte man in unsigned long previousMillis = 0; durch eine Erhöhung der Zahl 0 erreichen, oder ist das falsch? (Ich bin neu auf dem Gebiet :slight_smile: )

Hab nur kurz Zeit…

Ja.

Nein. previousMillis wird beim Statuswechsel der LED mit der aktuellen Zeit currentMillis beschrieben.

Erklärung: Aktuelle Zeit - Zeit beim letzten Statuswechsel >= Intervall
Ach ja, aktuelle Zeit ist nicht die Uhrzeit, sondern eine Zahl in ms seit Start des Arduinos…

Hier mal wie es mit 2 Intervallen gehen müsste.

const long interval1 = 1000;    
const long interval2 = 20000;
unsigned long currentMillis = 0;
bool ledState = LOW;

Für case 1 musst du dann folgendes nehmen.

case 1: {Serial.println(F("StatusLED Case 1"));  // blinken
      currentMillis = millis();
      if (currentMillis - previousMillis >= interval1 && ledState = LOW) 
        { previousMillis = currentMillis;
          ledState = !ledState;
          digitalWrite(TonuinoOnLEDPin, ledState);
        } 

      if (currentMillis - previousMillis >= interval2 && ledState = HIGH) 
        { previousMillis = currentMillis;
          ledState = !ledState;
          digitalWrite(TonuinoOnLEDPin, ledState);
        } 

      }
      break;
1 „Gefällt mir“

Hallo Manuel, vielen vielen Dank für deine Antworten und Mühen - dein Einsatz ist wirklich großartig. Also vielen Dank an dich und das Forum.
Ich werde deinen Vorschlag die nächsten Tage mal ausprobieren - jetzt muss ich erst mal alles in ein Gehäuse bauen, die Karten anlernen, usw. und erst dann am Code weiter spielen (es ist nicht mehr so lange hin bis zum Geburtstag und da muss zumindest die Hardware fertig sein). Ich werde mich auf jeden Fall nächste Woche wieder melden und Feedback geben. Viele Grüße

Gerne. Das sind ja eben die Dinge, von denen ein Forum lebt.

Gute Idee. Aber plane schon einmal einen zweiten Tonuino zum Basteln ein, den anderen wirst du so schnell nicht mehr bekommen :joy:

Hallo Manuel,
vielen Dank für den Code. Das klappt sehr gut. Die LED blinkt jetzt bei mir alle 5 Sekunden für 1 Sekunde.
Deine Codebeispiel habe ich noch wie folgt angepasst;
if (currentMillis - previousMillis >= interval1 && ledState == LOW)
und
if (currentMillis - previousMillis >= interval2 && ledState == HIGH)
(jeweils == am Ende). Auch ist bei mir interval1 der lange Zeitraum (5000, LED für 5 Sekunden aus) und interval2 der kurze Zeitraum (1000, LED für 1 Sekunde an).

Unter // enter sleep state habe ich (wie im Forum schon oft ausgeführt) noch digitalWrite(6, LOW); eingefügt, damit sich die LED mit dem Sleep-Modus ausschaltet und dann auch die Powerbank abschaltet. Einschalten kann ich das ganze wieder mit einem Taster (Öffner), welchen ich zwischen Powerbank und Tonuino geschalten habe.

Ich werde die nächsten Tage deine Codebeispiele, den ich jetzt bei mir in die DEV-Version reinkopiert habe, nochmal kurz für evtl. Leser zusammenfassen, falls andere User die LED bspw. aus energiespar-Gründen immer nur kurz aufblinken lassen wollen, ohne die zusätzlichen Funktionen einer StatusLED.

Vielen Dank nochmals und viele Grüße.

1 „Gefällt mir“

Ups, war gedanklich in Visual Basic unterwegs :see_no_evil:. Aber gut dass du mitgedacht hast :wink:.

nicht mitgedacht - ich hab keine Ahnung was ich da reinkopiere :slight_smile: Google hat geholfen…

Bin gerade dabei mich in die ganze Thematik einzuarbeiten um Weihnachten den ersten Kasten verschenken zu können.
Jetzt habe ich mir das hier mit den LEDs durchgelesen und da kamen mir gleich die fertigen Blink LEDs in den Sinn, werden im Modellbau gerne verwendet. Da spart man sich die ganze Programmierkurse. Einfach Strom drauf. Gibt’s flackernde, Blinker usw

1 „Gefällt mir“

Aus elektronischer Sicht ist das natürlich nicht die sauberste Lösung, aber am besten ist immer die Lösung, die man selbst nachzuvollziehen und umsetzen kann.
Ich denke damit wirst du vielen helfen können.

Ja,warum umständlich, wenn es auch einfach geht. Das spart auf jeden Fall einen Pin des Nano, den man dann vielleicht sinnvoller nutzen kann und auch wertvollen Programmspeicher. Also gut ausgedacht.:+1::+1::+1:

Hallo Pete,

was willst du denn mit den LEDs erreichen? Geht es nur darum geht, die Powerbank wach zu halten?

Viele Grüße

Damit man die automatische Abschaltung der Powerbank nutzen kann, muss man die LED abschalten können. Dafür benötigt man die Möglichkeit sie über den Arduino anzusteuern.
Ob man sie dann blinken lässt oder dauerhaft leuchten oder in verschiedenen Modi verschieden blinken lässt mehr eine Spielerei. Denn der viele Code hier ermöglicht ja verschiedenen Blinkmuster.
Am einfachsten ist es, wie oben ja auch erwähnt, wenn man eine Powerbank hat, wo keine LED gebraucht wird, um die Abschaltung zu verhindern.

Na, das kommt ja darauf an, was man damit erreichen will :wink:.