Da muss mir irgendwo ein Denkfehler unterlaufen sein. Ich habe das glaube ich schon so verstanden.
Was ich gerade nicht kapiere:
Wo ist der Unterschied zu meiner Verkabelung? Wenn ich den Button mit Pololu A verbinde, und dann zusätzlich den Button mit einem Pin vom Arduino, verbindet das doch auch Pololu A mit dem Pin!?
Das andere (nicht GND-) Füßchen vom Button ist leider keine Option, das ist auch mit dem ersten Füßchen verbunden.
Gibt es irgendeinen elektrotechnischen Trick, wie ich die beiden Verbindungen „separat“ herstellen kann? Bitte verzeiht meine laienhaften Erklärungsversuche…
Den habe ich schon für den Standby Timer. Das läuft, und ich wollte den über die Software mitbenutzen. Ein erster Test dazu (mit Longpress Pause) sieht vielversprechend aus.
Ich sage jetzt einfach mal Nö, die Hardware scheint das verkraftet zu haben. Und selbst wenn, das gehört doch dazu…
Ja, aber du verbindest dann auch Arduino Ausgang mit Button Ausgang.
Und wenn der Arduino an diesem Pin High hat und du den Button für GND drückst, hast du den Ausgang kurz geschossen.
Außerdem bringt dir eine Verbindung vom Arduino zu A nichts.
Die Anleitung zum Pololu sagt, das man mit A auf GND nur einschalten kann.
Zum Ausschalten brauchst du :
GND am CTRL
High am OFF oder
eine direkte Verbindung zwischen A und B
Also einen Pin vom Arduino um ihm die Möglichkeit zu geben auszuschalten, das hast du ja schon für den standby
Und einen weiteren damit der Arduino erkennt, dass Power gedrückt wurde und dann kann der Arduino wieder über den gerade genannten Pin ausschalten.
Alternativ kann man den Power Button trennen, dass er nicht mehr gegen GND schaltet.
Denn dann kann er A mit B verbinden und nutzt die Toggle Funktion vom Pololu.
Drücken ein, drücken aus, drücken ein,…
Und Arduino kann weiterhin mit der Verbindung zu OFF ausschalten wenn ihm danach ist.
Den Ansatz habe ich bei der ersten Box verwendet. Klappt einwandfrei. Aber ich will ja auch was dazulernen
Das tatsächliche Ausschalten ist nicht das Thema, das läuft ja über High am OFF vom Pololu.
Was ich immernoch nicht verstanden habe ist, wie ich das Signal von dem Powerbutton gleichzeitig zum A am Pololu und zum Eingang vom Arduino bekomme. Also, wie ich das Ganze verkabeln muss. Ich versuche mein ??? mal in Bildern auszudrücken.
Dieser Aufbau tut fast alles was ich will. Zur Not kann ich damit auch leben, würde mich aber jedes Mal ein kleines Bisschen ärgern, wenn ich die Box anschaue. Power schaltet die Box ein, und der Standby Timer wieder aus.
Und nein, ich habe GND nicht extra nochmal mit dem Button verbunden, nur der Vollständigkeit halber in dem Bild eingezeichnet.
Der folgende Aufbau (don’t try this at home!) verursacht das Problem mit den Leds, weil der Arduino wohl über A vom Pololu mit der Akkuspannung versorgt wird. In meinen Augen macht es kein Unterschied, ob ich den Eingang an dem Button direkt oder am Pololu A anschließe. Das ist ja alles verbunden.
Und jetzt die konkrete Frage: Wie muss ich die Verkabelung ändern, dass ich zusätzlich zum beschriebenen Verhalten vom 1. Bild den Status vom Power Button über Arduino A6 auswerten kann?
Ich glaube ich verstehe…
der A ist im Pololu also so verschalten, dass in der schaltung vom Bild 2 immer GND erkannt wird?
Tausch mal D 6 und A7.
Dann kannst zu den internen PullUp nutzen
Ich befürchte, mir fehlt Erfahrung, wie man solche Probleme kommuniziert. Und ich verstehe die Frage auch nicht, bzw. was wo erkannt werden soll.
Ich versuche mich nochmal am Beschreiben des Zustands:
Wenn ich Pololu A mit A6 verbinde, schaltet der Pololu ein.
Pololu A gegen GND im ausgeschalteten Zustand 3,23V, eingeschaltet 0,92V
Pololu A gegen GND mit gedrücktem Powerbutton 0Ohm, sonst unendlich.
Und bevor ich was falsch verstanden habe und doch noch was kaputt geht:
Du meinst D7 und A6?
Kapiere ich dann aber trotzdem nicht. D7 (Off) tut ja das gewünschte.
Soll ich Pololu A statt an einen analogen Pin an einen Digitalen hängen und das damit testen?
Ich hatte mich bisher an den anderen 3 Buttons orientiert…
Dann mach mal den Beispiel Sketch für analoge Eingänge drauf und schau dir an was an A6 genau passiert wenn Pwr gedrückt oder nicht gedrückt ist.
Vielleicht ist binär zu weit gefasst und der Analog Wert besser auszuwerten
Das kann so absolut nicht sagen. Wenn die Powerbank den Tonuino am 5V Anschluss des Nanos speist, ist im Nano eine Schutzdiode verbaut, die verhindert dass Spannung rückwärts zum USB Port abgegeben wird. Voraussetzung ist allerdings, dass von der Powerbank wirklich am 5V Anschluss eingespeist wird und nicht an der USB-Buchse des Nanos, z.B über ein aufgeschnittenes USB-Kabel und extra USB-Buchse am Gehäuse. Dann wird die Schutzdiode nicht wirksam und es kann Rückspannung zum USB Anschluss des PC gelangen. Ich speise am Tonuino Klassik von der Powerbank am 5V Anschluss des Nano ein. Dabei kam es nie zu Problemen, wenn der USB-Anschluss am PC angeschlossen wurde. Auch wenn der Tonuino über Vin (Bei anderen Versorgungslösungen) gespeist wird, ist der USB-Anschluss über die gleiche Diode geschützt, so dass auch da keine Gefahr besteht.
Danke @Thomas-Lehnert für die ausführliche Erklärung! Bin jetzt wieder etwas schlauer.
Das funktioniert so irgendwie, allerdings ist die Box dann nicht mehr benutzbar.
Nach dem Einschalten gibt analogRead(A6) Werte zwischen 185 und 187 aus, mit pinMode(A6, INPUT_PULLUP) 733-735. Wenn der Button gedrück ist, immer 0. Das zur Info.
Zuerst die gute Nachricht:
int powerButtonPinValue = analogRead(A6);
if (powerButtonPinValue < 5) {
sleepAtMillis = 1;
checkStandbyAtMillis();
}
schaltet die Box aus.
Leider kommt nach dem Shutdown ein leises hohes Fiepen aus dem Lautsprecher. Die Power LED des Arduinos leuchtet wie oben beschrieben auch noch. Das kommt wohl daher, dass der Arduino über den Analogpin direkt mit der Akkuspannung versorgt wird.
Außerdem kann ich keine Musik mehr starten. Der Rfid Reader wird zwar erkannt, aber ich bekomme beim Karte auflegen immer einen COM Error 1. Sobald ich die Verbindung Powerbutton → A6 trenne, klappts wieder.
Wow! Ich bin schwer beeindruckt! Vielleicht sollten das die Leiterplattenpiraten / @Thorsten irekt so übernehmen und als komplettes Produkt anbieten. Ich würde es sofort kaufen!