Power Switch via Push-Button

Habe es wie @Talla nun auch geschafft den Power Switch anzuschließen und mit Thorstens Software anzusteuern (OFF).
Was mir aufgefallen ist, dass der Switch immer erst aus ist und sich den Zustand auch nicht merkt.
Außerdem hat der Switch jetzt ein paar mal ungewollt abgeschaltet?!?
Jetzt muss ich noch den Play-Button auf Pull-Down umstellen und an ON des Switch anschließen.

EDIT:
Ich verstehe die „Input Structures“ aus den Pololu-Specs (Link) nicht ganz:
pololu_input_structure

Wenn ich dies so verkabele und an den anderen Button-Pin 5V+ anschließe, dann gibt es doch beim Drücken des Schalters einen Kurzschluss, oder?

EDIT 2:
So, ich kann Erfolg vermelden! :slight_smile:

Mein TonUINO lässt sich jetzt mit dem Play-/Pause-Button aufwecken
und mit einem langen Druck auf den gleichen Button wenn nichts abgespielt wird manuell ausschalten. Jetzt fehlt nur noch das automatische Ausschalten, aber da warte ich mal ab was Thorsten in seiner neuen Firmware hat :wink:

Den Schaltplan oben aktualisiere ich noch entsprechend.

Was ich im Code verändert habe:

#define shutdownPin 7 // Power Switch OFF

//Button pauseButton(buttonPause);
Button pauseButton(buttonPause,25,false,false); //mit Pull-Down-Widerstand

// Knöpfe mit PullUp
// pinMode(buttonPause, INPUT_PULLUP);
pinMode(buttonPause, INPUT); // mit Pull-Down-Widerstand

// Power Switch
pinMode(shutdownPin, OUTPUT);
digitalWrite(shutdownPin, LOW);

else {
// knownCard = false;
// mp3.playMp3FolderTrack(800);
// Serial.println(F(„Karte resetten…“));
// resetCard();
// mfrc522.PICC_HaltA();
// mfrc522.PCD_StopCrypto1();

 // Bis bald abspielen
    mp3.playMp3FolderTrack(501);
    delay(3000);
    
    // TonUINO auschalten
    Serial.println(F("Force shutdown…"));
    digitalWrite(shutdownPin, HIGH);
  }

Das soll jetzt erstmal ein Provisorium sein, bis Thorstens nächste Version veröffentlicht wird.

Edit 3(ich darf keine Antwort mehr erstellen)

Es funktioniert soweit ganz gut, nur das Anschalten funktioniert manchmal nicht richtig (geht nach einem kurzen Knacken im Lautsprecher wieder aus).
Dachte erst es liegt an dem Arcade-Button, aber mit zwei anderen Drucktastern und sogar dem Taster auf dem Power-Switch das gleiche Phänomen.
Hat jemand gleiche Erfahrungen gemacht?

Ich bestelle jetzt den Pololu-Switch zum Testen nochmal in der LV-Version.

EDIT 4
Habe jetzt den Pololu Power Switch LV (Low Voltage) getestet und es funktioniert perfekt!!
Auch bei nur ganz kurzem Druck des Play-/Pause-(Arcade-)Buttons schaltet der Switch zuverlässig ein.
Werde dieses Setup nun fest verbauen.
Sobald ich ein Messgerät habe, schaue ich nochmal nach dem Verbrauch im Standby.

5 „Gefällt mir“

Ist die Schaltung mit den beiden 10k Wiederständen jetzt so noch korrekt?

Würde mich heute auch an die Umsetzung des Polou begeben wollen.

Gruß
Björnar

Läuft bisher so problemlos. Nur eine Sicherung werde ich noch zwischen Akku und Powershield einbauen.

Danke.

Sicherung direkt nach dem Akku sollte immer sein!

so erste Platine ist fertig, lässt sich wirklich sehr kompakt herstellen.

@stephan War dafür eigentlich eine Implementierung in der offiziellen Firmware geplant?

@Bjoernar Was genau? Abschaltung? Ja.

@stephan

Sehe ich das nicht im Code oder ist es im Dev noch nicht enthalten?

@Dennis kannst du mal deinen Code einstellen, irgendwie klappt das mit dem Shutdown nicht.

Also in DEV ist bereits der Timer eingebaut. Was genau passieren soll wenn der Timer zu Ende geht muss halt noch eingebaut werden (da hat @Dennis aber was passendes für den Pololu).

OK danke … Dann warte ich Mal ab was der @Dennis für mich hat.

@Thorsten so der Shutdown funktioniert bei mir nun auch. Es lag an dem falschen PIN es ist nicht A7 sondern D7.

An welcher Stelle muss nun der Shutdown für den Timer hin?

Danach?:
void checkStandbyAtMillis() {
if (sleepAtMillis != 0 && millis() > sleepAtMillis) {
// enter sleep state

Mein TonuUINO ist just-in-time zu Weihnachten fertig geworden.
Die ganze finale Verkabelung mit dem Switch und dem Battery-Shield war dann doch mehr Arbeit als gedacht und sieht nicht soo schön aus.
Nächstes Jahr sollten wir über eine neue Platine mit Integration von Switch und Battery-Shield nachdenken : )

@Bjoernar ich lade meine aktuelle Version in GitHub hoch. Ist eine wilde Mischung aus Thorstens aktueller Version und der Dev-Version + ein paar Änderungen von mir.

EDIT: Link: https://github.com/d-b-1/Dennis-TonUINO

@Dennis …darauf habe ich doch nur gewartet…

Stellsf du den Link noch ein …

Danke @Dennis läuft.

Habe meine StatusLED auch noch eingebaut.

Batterie Modul muss dann erst nach Weihnachten Folge da noch nicht da…

Aber der Switch läuft wunderbar!

1 „Gefällt mir“

@Dennis Guten Morgen,

Ich habe Probleme mit dem Timer. Offensichtlich wird dieser nicht gestoppt wenn ich etwas abspiele.
Habe ihn nun höher gestellt da die Hörspiele sind alle nach 20min. Ausgingen

Hast du das Problem nicht?

Hallo @Bjoernar,

nein, der Timer funktioniert wie gewünscht bei mir (habe ihn auf 10 Minuten eingestellt).

Hast Du auch folgende Zeile in Deinem Code?

Bild

Muss ich nachsehen.
Hatte deinen Code nur um eine StatusLED ergänzt. Im Log stand aber auch beim abspielen immer Timer deaktiviert, aber scheinbar lief er trotzdem.

Kann noch Mal jemand für ganz blöde erklären, wie der Pololu angeschlossen wird, wenn man einen der bestehenden Buttons verwenden möchte? Erhöht sich damit jetzt der Stromverbrauch im Standby im Vergleich zur Nutzung eines weiteren Tasters?

siehe meinen Schaltplan weiter oben:

Ja, der Stromverbrauch ist höher, wenn wahrscheinlich auch nicht viel, da ja 2x 10k Widerstände als Pull-Down-Widerstand verbaut sind (genauso viel wie im Arduino auch wie ich gelesen habe).
Leider habe ich bisher nicht gemessen, aber es ist immernoch die erste Akku-Ladung vom 23.12.2018 :slight_smile:

D.h A auf B geht nicht. Soweit verstehe ich das. Aber würde A auf GND funktionieren?

In den Pololu-Specs (Link ) auf Seite 2 steht : Pin A: Connect through momentary switch to pin “B” for standard push-on/push-off operation. Connect through momentary switch to ground for on-only operation.

Ist es möglich, den Play Button des TonUINO zu verwenden, um beim Pololu Pin A auf GND zu schalten. Und verstehe ich das richtig, dass dies den Arduino einschalten würde, aber bei erneutem Drücken nicht wieder aus. Und sollte das so sein, muss ich dann trotzdem Widerstände einbauen und wenn ja wo, oder fällt der Teil dann weg?

1 „Gefällt mir“