Shutdown/Standby Timer nutzen

Guten Abend,
ich arbeite mit der Version von derda17 mit KY-040 Encoder, da ich hierrüber die Lautstärke so wie Play/Pause steuern möchte. (Link)

Jetzt möchte ich den Shutdown / Standby Timer nutzen.
Wird der Pin auf HIGH gebracht, wenn der Timer abgelaufen ist oder ist dieser auf High, wenn aktuell etwas abgespielt wird?
Ich bin sehr neu mit dem Thema Arduino beschäftigt. Ich bin erstmal mit die Standardversion angefangen wie aufgespielt und habe damit etwas rumgemacht und jetzt wollte ich das Projekt mal weiter machen. Leider verstehe ich vom Code nicht so viel da ich absoluter Neuling und kein Fachelektriker / Elektroniker, ITler oder ähnliches bin. Ich weiß, dass man sicht da reinarbeiten kann und dies habe ich schon mal bei der Phoniebox gemacht. Aktuell gefällt mir dieses Projekt sehr gut, da dies noch kompakter ist.

Im Timerbereich sieht der Code wie folgt aus:

Blockquote
void checkStandbyAtMillis() {
if (sleepAtMillis != 0 && millis() > sleepAtMillis) {
Serial.println(F("=== power off!"));
// enter sleep state
digitalWrite(shutdownPin, HIGH);
delay(500);

// http://discourse.voss.earth/t/intenso-s10000-powerbank-automatische-abschaltung-software-only/805
// powerdown to 27mA (powerbank switches off after 30-60s)
mfrc522.PCD_AntennaOff();
mfrc522.PCD_SoftPowerDown();
mp3.sleep();

set_sleep_mode(SLEEP_MODE_PWR_DOWN);
cli();  // Disable interrupts
sleep_mode();

}
}

Was ich habe:
Ich habe mir leider den falschen Pololu Switch gekauft. Ich habe Item#2811 gekauft Pololu Mini MOSFET Slide Switch with Reverse Voltage Protection, SV

Link zum Artikel
Link

Link zur Bedienungsanleitung mit Beschreibung
Link

Mein Ziel ist:
Ein automatisches Abschalten des Arduinos nach folgenden Einstellbaren (einmal in der Software reicht mir) Werten:

  • Nach einer gewissen Pausenzeit
  • Nach einer gewissen Zeit nach dem die Playlist geendet hat
  • Vielleicht weiteres, da gibt es ja schon was in der Software/programmierung

Überlegung:

Wenn ich das in der Bedienungsanleitung richtig verstanden habe kann ich den PIN 7 vom Arduino der beim Abspielen (Timer nicht abgelaufen) auf HIGH ist auf ON anschließen auf Pololu Platine. Die Platine lässt so lange hier das High Signal anliegt die Stromzufuhr aktiv. Wenn dann Low schaltet die Platine ab. Für das erneute Einschalten setze ich einen externen Taster ein und dieser aktiviert die Stromzufuhr und danach setzt der Arduino das Signal wieder automatisch auf HIGH am Pololu.

Ist mein denken so richtig?

Wo kann ich in der Software unter welchem Punkt was Einstellen? Irgendwie verstehe ich die Zeiten nicht und auch nicht wofür was gut sein soll an Hand der Programmierung.

Ich hoffe ich habe alles was weiterhelfen könnte. Sonst versuche ich es nachzutragen.

Grundsätzlich dürfte das auch mit Deinem Pololu-Switch gehen. Dessen Schiebeschalter muss halt auf off bleiben und im Code musst Du alle Abfragen/Wertänderungen des shutdownPin invertieren, d.h. von LOW zu HIGH und umgekehrt. Ausserdem brauchst Du eine andere externe Beschaltung für den Power-Taster. Wie wolltest Du den denn anschließen?

Hi
Danke für die Antwort. Dann muss ich Skript mal schauen. Den extra Taster für Ein und Aus kann man direkt am Pololu anschließen.

Ja, wenn Du einen extra Taster nehmen willst, ist das problemlos machbar. :grinning:

Hast Du Dir diesen Thread schon durchgeschaut?

Eigentlich kann die aktuelle DEV-Version schon mit dem Pololu (am besten LV) zusammenarbeiten.

@Dennis: hier soll aber ein ganz anderer Pololu-Switch verwendet werden, weder der empfohlene LV-Pushbutton-Switch noch dessen SV-Variante, sondern der SV-Slide-Switch. Dem fehlt der in der hier sonst empfohlenen Schaltung verwendete OFF-Pin, er hat nur den ON-Pin.

@Afrericks schreibt doch, er hätte den falschen gekauft :wink:

@Dennis
Ja das Thema kenne ich deswegen schreibe ich von Falschen.

Ich werde die Version nun wie oben mal anpassen und testen. Die DEV Version kann ich nicht einfach nutzen da ich den Ky-040 Encoder nutzen will.

Hi,
ich bin endlich dazu gekommen die Programmierung anzupassen. Habe alle Lows auf High und alle Highs auf Low. Leider läuft es noch nicht. Muss ich es mit einer Admin Karte bzw. im Admin menü aktivieren?

Kannst Du genauer beschreiben, was geht und was nicht? Welchen Code verwendest Du und wie sieht die Schaltung aus?

Der Code ist wie im ersten Beitrag geschrieben von derda. Ich habe mit der dev Version einen Vergleich gemacht. Es sind die Optionen von 5 Tastern herausgenommen und eingefügt der drehencoder.
Der Part mit dem timeshutdown ist drin.

Ich kann den Code selber nicht 100% verstehen haben nur einen Vergleich der beiden Versionen gemacht.

Nach dem ändern von low auf high und andersherum habe ich jetzt an P7 immer high anliegen. Es ist egal ob ich was abspiele (dann sollte high bleiben) oder pausiere oder die Playlist durch ist (dann sollte das Signal ja auf low gehen nach einer längeren Zeit).

Ich hoffe das hilft dir und somit auch mir.

Das ist si leider noch zu allgemein. Zunächst: funktionierte alles wie gewollt mit dem Drehgeber vor Erweiterung mit dem Pololu? Wenn ja, wie genau hast Du den Pololu angeschlossen? Kannst Du mal ein Bild schicken?

Hi
Der polu ist noch gar nicht angeschlossen. Ich messe die Spannung an dem Pin 7 gegen Masse. Hier fällt der pin nicht.

Der Rest funktioniert.

Ich habe auch versucht ins Adminmenü zu kommen aber dies gibt es scheinbar gar nicht in der version. Ich kann zumindest vor zurück und pause drücken aber da passiert nichts.

Ich kann keinen Link von @derda17 zu seiner Code-Variante finden. Habe ich falsch gesucht? Ohne den Code zu kennen, ist die Fehlersuche schwierig.

Aber wenn der Pololu noch gar nicht eingebaut ist und es vor den Codeanpassungen ging: wozu dann die Codeänderungen ohne den Pololu?

Ich denke, da liegt eine Verwechslung vor. Ich nutze im Wesentlichen die Dev Version aus dem Frühling und der ky040 liegt bei mir noch ungenutzt rum. Der Link in ersten Post zeigt auch nicht auf meinen git Branch

Hi,
ja sorry der Code code ist gar nicht von @derda17 sondern von @Ullergr
Link zumGit

Also der Code mit dem Drehgeber funktioniert soweit. Alle Taster funktionieren.

Was ich möchte ist dass der Pololu nach einer gewissen Zeit inaktivität den Adruino ausschaltet. Dafür muss ich auf dem Pololu ein HIGH Signal haben. Dieses schließt solange die Stromversorgung des Adruino bis es abfällt.