Power Switch via Push-Button


#103

Das wird so leider nicht funktionieren bzw. Du wirst einen Kurzschluss verursachen!
Der Eingang an A0 ist standardmäßig Pull-Up, wird also auf GND gezogen.
Wenn Du wie ich auf Pull-Down umstellen willst, brauchst Du erstenst einen großen Widerstand (10-20k) und musst dies auch in der Software berücksichtigen.


#104

ja okay, spricht ja nichts gegen den Widerstand und die Softwareanpassung - aber so sollte das dann, statt mit Eingang A am pololu, funktionieren, und der pololu auch ausschalten da nicht dauerhaft Spannung an ON anliegt.


#105

Ja, funktioniert seit Weihnachten wunderbar bei uns und erst die 2. Akkuladung bei 3.700 mAh


#106

Da ich ja einen 4. Button im Gehäuse (der originale Snooze Button) habe, den ich bislang nur zum Einschalten von Pololu und Powerbank hatte: dieser ist im Betrieb nun der Play/Pause Button.
Physisch ist der Button mit einem Pulldown Widerstand an A3 angeschlossen, und schaltet 5V durch, analog dieser Schaltung.

In der Software dazu noch den A3 als INPUT (statt INPUT_PULLUP) definiert
#define buttonPause A3
pinMode(buttonPause, INPUT);
und dann mit
Button pauseButton(buttonPause, 25, false, false);
den Button erzeugen.

Den ursprünglichen Pause Button auf A0 nutze ich nun als nächster Titel und voriger Titel.
Funktioniert einwandfrei. Wenn man das , 25, false, false ergänzt. Sonst nicht :laughing:

Ergänzung: natürlich muss auch noch in der Setup Methode die Abfrage für den Reset auf HIGH geändert werden:

// RESET --- ALLE DREI KNÖPFE BEIM STARTEN GEDRÜCKT HALTEN -> alle EINSTELLUNGEN werden gelöscht
if (digitalRead(buttonPause) == HIGH && digitalRead(buttonUp) == LOW .........


#107

Ja, genauso hatte ich es ja oben beschrieben

Verstehe nur nicht ganz, warum Du die Eingänge A0 / A3 getauscht hast :thinking:

Bei meinem neuen Testaufbau mit Polulu schaltet dieser sich nicht mehr über DigitalWrite an OFF des Polulu ab. Habe auch schon einen anderen Arduino-Ausgang probiert - ohne Erfolg.
Ob das an der DEV-Version liegt?


#108

Verstehe nur nicht ganz, warum Du die Eingänge A0 / A3 getauscht hast

Weil das Tauschen in der Software einfacher war, als die Hardware umzubauen. Und die Software muss ja sowieso angepasst werden. Nur bleibt sie so “originaler”, da A0 weiterhin PULLUP ist, weniger Differenzen beim Mergen von neueren Versionen aus dem Repository.
Und durch das Tauschen der PIN Definitionen kann der Rest (in der Loop Methode, Handling Pause Button) gleich bleiben.


#109

@Thorsten hast Du eine Idee oder das schon beobachtet? Ansonsten würde ich mal meine alte Software auf den Versuchs-TonUINO aufspielen. Vielleicht ist auch der Arduino defekt??

EDIT: War mein Fehler, hatte vergessen, dass die alte Platine von Thorsten die D-Anschlüsse nicht rausleitet.


#110

ich habe gerade gestern die kleinen Korrekturen der letzten 1, 2 Wochen gemergt in meine Version, und das Abschalten funktioniert… kann nicht an der Software liegen eigentlich.


#111

So, hat ein Weilchen gedauert, aber ich habe den Pololu jetzt auch getestet.

Bei meinem Set-up habe ich eine Momentary Switch verwendet, der den A-Pin mit einem der GND-Pins des Pololu verbindet. Durch betätigen des Momentary Switches soll der TonUINO eingeschaltet werden. Ausschalten lässt sich der TonUINO in meinem Testsetup über den fest verbauten Schalter des Pololu.

Das Einschalten über den Momentary Switch funktionierte im Test gut. Ich habe mit einer 4000mA Powerbank getestet (Werbegeschenk). Ich bin nicht sicher, ob diese eine automatische Abschaltfunktion hat. Jedenfalls hat das Einschalten über den Momentary Switch auch funktioniert, nachdem der TonUINO für mindestens eine halbe Stunde ausgeschaltete war (länger konnte ich heute Abend noch nicht testen).

Für mich ist das ein vielversprechender Test. Der Pololu verbraucht im Off Modus minimalen Strom (0,01 Microampre laut Specs). Ich würde erwarten, dass eine Powerbankladung damit quasi ewig halten sollte. Das Ausschalten würde ich für den Praxisbetrieb natürlich über über ein High Signal des TonUINO an den OFF Pin des Pololu realisieren.


#112

Könntest Du das evtl. kurz skizzieren?
Wäre dann aber auch eine >3 Buttons-Lösung, richtig?


#113

Das klingt eher nach einem 4-Button Setup. Habe ich im Moment auch so, nur das der zusätzliche Button mit A-B und nicht A-GND verbunden ist. Dann lässt sich durch Tastendruck sowohl An- als auch Ausschalten. Beim Anschalten muss bei mir, wenn die Powerbank aus ist, geringfügig länger oder ein zweites Mal gedrückt werden.


#114

Ich habe über Nacht noch Mal getestet. Und der TonUINO lässt sich mit meinem Testsetup auch nach einer Nacht ohne Weiters wieder einschalten.

Ich werde wohl auf den Play Button verzichten (und stattdessen eine Karte liegt auf / Karte liegt nicht auf Lösung nutzen), daher ist mir das mit der Frage ob drei oder vier Button nicht so wichtig und ich hatte es gestern auch ohne Play Button getestet. Ich habe heute mal eine Verkabelung mit Play Button = Einschalt Button zusammengesteckt und auch das funktioniert gut. Ich poste hier ein Foto davon:

In diesem Set-Up lässt sich der TonUINO mit dem selben Button einschalten. Zum Einschlaten muss der Button einmal kurz betätigt werden. Nach dem Einschalten verhält sich der Button dann wie ein ganz normaler Play Button sprich er schaltet abwechslend PlayPause bei kurzem Tastendruck bzw. bei Langpress die entsprechende Adminfunktion (Karte programmieren). Das Ausschalten funktioniert in dem TEstsetup über den festverbauten Taster auf der Unterseite des Pololu (auf dem Bild nicht zu sehen).

Ich werde als nächstes mal das Ausschalten per High Signal des TonUINO an den OFF Pin des Pololu testen.


#115

Das ist bei mir momentan auch so. Der Button am Polulu muss entweder zweimal, oder etwas länger gedrückt werden. Ich suche nach einer eleganten Lösung mit 3 Knöpfen.


#116

Sensationell!! Es funktioniert!
Damit haben wir eine 3-Button-Lösung mit Polulu-LV OHNE Pull-Down-Widerstand.
(Nur die automatisch abgeschaltete Powerbank wacht nicht mehr auf. Sprich, es wäre eine Lösung mit Akku oder mit Powerbank ohne Abschaltung)

EDIT: Nach genauerer Betrachtung verstehe ich nicht ganz, warum das überhaupt funktioniert, da A0 (Arduino) & A (Polulu) beide nicht mehr auf GND gezogen werden, aber Hauptsache es funktioniert ; )


#117

Hat sich durch Trial and Error so ergeben und war die übersichtlichste Schaltung. Herleiten kann ich es aber auch nicht. Wäre interessant zu wissen, ob das generell auch bei anderen funktioniert.


#118

Das hat bei mir auch funktioniert. Ich habe es dann wieder verworfen, da es die Powerbank nicht aufwecken kann und ich es bevorzuge wenn diese aus geht.


#119

Aus Sicherheitserwägungen oder wegen Akkulaufzeit?


#120

Unter anderem wegen den Sicherheitsdiskussionen hier. Wobei ich der Powerbank grundsätzlich mehr vertraue als meinen Verkabelungskünsten. :smiley:
Dann habe ich bei meiner Box noch keinen Zugang zum Laden der Powerbank gelegt und würde solange das so ist gerne so selten wie möglich aufladen.
Außerdem finde ich es einfach elegant, wenn die Powerbank sich abschaltet.
Und ich wollte gerne von außen den Status sehen, also habe ich einen leuchtenden Taster verbaut der vom Arduino gesteuert wird und kann somit einfach A-B vom Polulu nutzen und damit auch manuell abschalten, resetten und die Powerbank wecken.


#121

Ähm, fehlt hier was oder hab ich was übersehen? Wie genau ist denn jetzt diese sensationelle Lösung?


#122

Wie in @Anton-V s Foto oben.
Im Gegensatz zu meinem aktuellen Setup, bei dem ich den Play-/Pause-Button auf Pull-Down umstellen musste mit zwei 10k Widerständen.
Wenn ich morgen dazu komme, aktualisiere ich nochmal den Schaltplan.