Externen Button triggern

Hallo

Ich habe eine Platine auf der zwei Solderpads für einen Button, den man anlöten kann, drauf sind.
Auf diese Pads habe ich zwei Litzenkabel verlötet.

Wenn ich nun beide Kabelenden miteinander verbinde, schließt der Stromkreis und die Software von der Platine erkennt, dass der externe Button betätigt wurde.

Auf dem plus Kabel liegen 3,3 Volt an.

Mein Ziel ist es, den externen Button über mein Arduino nano 33 iot zu steuern.

Also im Endeffekt soll der externe Button getriggert werden, sobald Pin A0 auf High steht.

Es müsste sich also eine Brücke schließen, die plus und minus vom externen Button verbindet, sobald A0 auf High ist.

Wie könnte ich das umsetzen?

Geht das direkt am Arduino oder muss ich das eventuell über einen Hardware Switch ala Mosfet lösen? Das wäre schade, da ich Platz sparen will.

Würde mich sehr über Antworten freuen.

Suche nach Optokoppler.

Hochomisch? Also kommen die 3,3 Volt von einem PullUp? Es kann auch das andere Pad über PullDown an GND liegen. Wahrscheinlich ist ein PullUp/Down verbaut, denn

Ein direktes verbinden von 3,3V und GND würde einen Kurzschluss verursachen.

Theoretisch musst du nur die Seite, die über den PullUp/Down auf Pegel gehalten wird, mit dem Nano 33 IOT auf den anderen Pegel bringen. GND vom Nano 33 IOT muss mit dem GND der Platine verbinden. Aber das ist alles Prosa, ohne Kenntnis der Platine.

Welche Platine ist es?

Einfacherer Weg ist Relais, Optokoppler, oder Mosfet.

nimm ein Relais-Modul und schließe damit deine verlängerten Kabel.

Hallo Kazooie,

was ist das für eine "Platine"?

Hast du ein Digital-Multimeter mit dem man Spannungen und Ströme messen kann?
Wenn nicht, empfehle ich dir eines zu kaufen. Die Fehlersuche wird seeehr viel leichter
wenn man Spannungen und Ströme über ein Meßgerät messen kann.

Dazu muss man natürlich wissen wie man Ströme misst. Ohne dieses Wissen entsteht ganz leicht ein Kurzschluss.

Ich würde - sicherheitshalber - einmal messen wie viel Strom fließt durch die beiden angelöteten Litzenkabel wenn du die offenen Kabelenden miteinander verbindest.

Wenn du noch kein Messgerät hast kaufe eines das einen 10A / oder 20A Messbereich hat.
Der 200 mA-Messbereich hat eine interne Sicherung. Die muss erst einmal erneuern wenn man einen zu großen Strom messen wollte. Wenn man zuerst auf dem 10A Messbereich misst passiert nichts wenn der Strom zu groß sein sollte. Wenn das Messgerät im 10A-Messbereich 0,1xx A oder 0,00x A anzeigt dann kann man auf den 200mA-Meßbereich umschalten.

vgs

Also Du willst einen Tastereingang eines Gerätes durch Deinen Arduino betätigen.

Ich nehme mal an daß der Tastereingang wirklich ein Tastereingang ist (siehe Vorredner) und daß die 3,3V vom Pullupwiderstand kommen. Das kannst Du kontrollieren indem Du nicht den strom mißßt sondern zB einen 1kOhm Widerstand an den pads anschließt und mißt ob die Spannung einbricht. Bleib sie gleich sind die 3,3V eine Versorgungsspannung.

Die erste Entscheidung, die Du treffen mußt ist ob die Beiden Teile ( Gerät und Arduino) voneinander isoliert sein sollen /müssen. Wenn Du den Arduino vom Gerät mit Spannung versorgen willst braucht die Verbindung nicht isoliert sein.

Nicht isolierte Verbindung:

  1. Ausgang Arduino direkt mit dem + Pad des Tasters verbinden. Die Masse (GND) muß verbunden sein. Das bringt aber die Gefahr daß der Taster den Ausgang des Arduino kaputtmacht wenn der Ausgang HIGH ausgibt und Du diesen über den Orginal-Taster auf Masse schließt. Abhilfe schafft indem Du den Ausgang nicht zwischen HIGH und LOW wechselst sondern zwischen Ausgang LOW und Eingang LOW.
  2. Einen Open Collektor bzw Open Drain Transistor verwendest. (einfach googlen)

Isolierte Varianten:

  1. Optokoppler: Eine LED steuert einen Fototransistor in einem gemeinsamen Gehäuse an.
  2. Relais Der Arduino steuert mittel Transistor ein Relais an ( oder du nimmst ein Relais-Modul ) Den Kontakt verbindest Du mit den Pads.
  3. ein Servo drückt mechanisch den Taster. Ist eine Möglichkeit wenn man das Gerät nicht öffnen oder verändern will.

Informier uns was Du steuern willst.
Wenn Du Dich entschieden Hast helfen wir Dir weiter.

Grüße Uwe

2 Likes

Erstmal vielen Dank für die zahlreichen Antworten, echt super!

Habe schon wieder das ein oder andere dazugelernt.

Genau.

Es geht um folgende Platine. Ich bin gerade dabei mir eine Lichtpistole zu bauen:

https://www.jefftron.net/leviathan/leviathan-v3

Gleich links neben dem Bluetooth Chip könnt ihr die Solderpads sehen, von denen ich geredet hatte.

Folgende Messungen habe ich vorhin vorgenommen:

1k Ohm Widerstand drangemacht hat ebenfalls die 3 Volt gemessen. (es sind 3 V, nicht 3,3V. hatte mich vertan)

Ohne den Widerstand ergibt die Strommessung 0,08 mA.

Voneinander isoliert müssen die Geräte nicht sein. Die 3 Volt würden meiner Kenntnis nach aber auch garnicht reichen, den Nano IoT über Vin zu befeuern. Das klappt bei mir aufm Breadboard erst bei minimum 5 Volt.

Also ich habe jetzt die A0 Pin vom Arduino so eingestellt, dass sie ebenfalls ca. 3V ausgibt.

Die wollte ich jetzt noch nicht so gern mit dem Plus Kabel vom Button verbinden, weil da ja auch schon 3 V drauf sind.

Ausgang Low und High bedeutet dann was genau? Dass einfach die Spannung, die extern anliegt (also die 3V vom Button) auf dem Pin durchgelassen wird? Das wäre ja dann vermutlich genau was ich suche.

Hast du ein Code Beispiel?

Nein, das ist falsch.
Ich hab die Die Lösung geschrieben.

Das paßt nicht zusammen.
0,08 mA bei 3V ergibt 37,5k Ohm Pullupwiderstand. Da muß Du bei Anschluß von 1kOhm nicht 3V sondern ca 0,08V messen. (Spannungsteiler 37,5 kOhm und 1k Ohm)

Grüße Uwe

Nur um ganz sicher zu gehen wie gemessen werden soll

so:

Du hast die beiden Lötpads und der 1kOhm-Widerstand muss die beiden Lötpads SIG und GND miteinander verbinden.
Und während der 1 KOhm-Widerstand so angeschlossen ist musst du die Spannung
an den beiden Lötpads messen.

Der Anschluss "SIG" ist wahrscheinlich nicht direkt mit +3V verbunden.
sondern so

+3V------PULLUP_Widerstand------Lötpad
GND-----------------------------------------Lötpad

ohne zusätzlichen 1 kOhm-Widerstand
+3V------PULLUP_Widerstand------Lötpad <-------------MESS
GND-----------------------------------------Lötpad <------------Gerät misst 3V

mit zusätzlichen 1 kOhm-Widersdtand
+3V------PULLUP_Widerstand------Lötpad---X---1kOhm-Widerstand-----Y-----GND-----Lötpad

Im Bild ist das Messgerät an "X" und an "Y"

vgs

+3V---------------------------------------------Lötpad
GND----PULLDOWN_Widerstand----Lötpad

Das währe auch möglich, und gilt es zu prüfen.

Erkennt man aber, wie sich die Lötpads verhalten, während man sie verbindet. Entweder nimmt das vermutliche GND-Pad nahezu 3V an, was auf einen PullDown am vermutlichen GND-Pad schließt, oder das vermutliche 3V-Pad nimmt nahezu 0V an, was auf ein PullUp am vermutlichen 3V-Pad schließt.

Wenn das alles nicht wirklich klar vom OP ermittelt werden kann, dann wäre ein kleines Reed-Relais für 5V (am Besten mit integrierter Freilaufdiode) die Lösung mit dem geringsten Problempotential. Beispiel

Gruß Tommy

Durch messen der Spannung an den beiden Pads ist das nicht zu klähren. Mann muß schon ein weiteren Kontrollpunkt mit GND oder +3V finden und von dem aus die beiden "Taster"-Pads messen.

Bei der Verwendung eines Relais ist das unerheblich. Auch einem Optokoppler macht das nichta aus solange der Emitter auf das Pad mit dem negativeren Potential gelegt wird (Kollektor auf das positivere) .

Bei einem Direkten Anschluß des Arduinos an die Pads ist das nicht egal und vorher zu klähren, welche Konfiguration man vor sich hat.

Grüße Uwe

Na geil.
Warum kannst Du die nicht verlinken: https://www.jefftron.cz/upload/leviathan/v3/input.jpg
Die Platine wird mit einem 14V Akku versorgt.
Es ist nicht klar, was da für Spannungen laufen. Du könntest das gemessene über VIN / GND als Grundlage nehmen.

Ranpinnen musst Du eh was - also OK genommen und gut ist. - das ginge vielleicht noch huckepack irgendwo eingepasst.

Vielen Dank, Stefan, für deine Zeichnung!
Verzeiht mir meine Anfängerhaftigkeit (ist das ein Wort?) :wink:

Ich habe die Messung jetzt nochmal durchgeführt auf die Art, wie du es illustriert hast.
Diesmal ist ein Wert von 81,8 mV herausgekommen. Ist das realistischer?

Ich habe den Hersteller direkt angeschrieben. Als Antwort habe ich bekommen:
„When is SIG pad connected to GND pad, leviathan will determine it as External input activated.

GND pad has same potencial as battery negative“

Sind diese Erkenntnisse irgendwie von Bewandtnis, bezogen darauf, ob ich die Pads direkt an den Arduino anschließen kann?

Ich hatte vergessen zu sagen, dass ich die Platine mit 7,4 V betreibe.

Ansonsten hätte ich noch einen 2n222a Transistor am Start. Könnte ich den vielleicht auch nehmen?
Ein Reedrelais bzw. Optokoppler würde zur Not auch gehen.

Nein.

Ja. das war der Plan.
Das SIG-Pad ist HIGH mit einem PULLUP. Ausgelöst wird nach GND.

Also zwischen SIG und GND einen OK setzen. Auslösen. Fertig.

Ich habe die Messung jetzt mehrmals exakt so vorgenommen, wie Stefan es gezeichnet hat.
Kein Plan was man da falsch machen kann, aber wenn du sagst es kann nicht stimmen, glaube ich es einfach mal. Welcher Wert sollte denn in etwa rauskommen?

Nur um es nochmal für mich klar zu bekommen. Warum ist es definitiv nicht möglich die Pads direkt mit dem Arduino zu verbinden, um den Schalter auszulösen?

Nimm einen Spannungsmeter und messe an den Pads zwischen VCC und GND.
Wert ist:

Dann messe zwischen VCC und SIG
Wert ist:

Dann messe zwischen GND und SIG.
Wert ist:

Nichts mit irgendwelchen Widerständen oder irgendwas anders.

Alle Spannungen zu messen macht schon Sinn.

Kein Widerstand zwichen den Pads und dann

Messen zwischen Vcc und Pad "SIG"
Messen zwischen GND und Pad "SIG"

Messen zwischen Vcc und Pad "GND"
Messen zwischen GND und Pad "GND" (xy: jetzt juckt es dich womöglich zu schreiben wozu das?)
Zur Sicherheit ob das PAD GND auch wirklich mit GND verbunden ist.
Hast DU die Platine entwickelt? nein!

Zusammen mit der Messung an dem 1Kohm-Widerstand kann man dann recht gut analysieren
was da auf der Platine los ist.

was ist ein "OK" ??

Du hast doch wohl mitbekommen, das der TO relativ wenig Ahnung von Elektronik hat.
Da solltest du es ausführlicher beschreiben was du meinst.

Was meinst du mit "Auslösen. Fertig?"

vgs

Ich bin immer wieder begeistert...
... und wäre schon zufrieden, wenn Du wenigstens alle meine im Thread vorliegenden Beiträge lesen würdest, bevor Du selektiv Kritik übst.

Das Ding ist eine Knarre. - was auslösen ist, sollte bekannt sein.
Der TO ist sich schon bewusst, was er da macht.
Hat er geschrieben. In #1.

Somit liegen da noch immer - hoffentlich - 3,3V zwischen GND und VCC an.
Und der Rest ist ja wohl selbsterklärend.
Was Dein unnützer und mich in Person angreifender Kommentar

soll, magst Du provozieren nennen - ich nehme es zur Kenntnis.

Es gibt drei Pads. An denen ist eine externe Quelle betreibbar.
Und wenn Du an der vorgeschlagenen Messmethode etwas auszusetzen hast, begründe es.

Wenn Du nörgeln willst, weil Du das nicht verstanden hast, was das Ding ist und wie man Spannungen und nicht Spannungsabfall misst, dann such Dir jemand anderen aus.

Also mal eine richtige Fachfrage an die Fototransistorexperten:

Wenn man einen 1kOhm-Winderstand zwischen SIG und GND anschliesst
dann wird über dem 1KOhm-Widerstand 81,8 mV gemessen.
Daraus kann man ausrechnen, dass der Pullup-Widerstand 35,7 kOhm hat.
Wenn die Schaltung wirklich einen Pullup-Widerstand hat.

(3.0 V - 0.0818V) / (0.0818V / 1000 Ohm) = 35675 Ohm

Wenn man jetzt den Fototransistor mit Kollector am SIG-Pad und mit Emitter an GND-Pad anschließt
Dann fließen da höchstens die 0.0818 mA. Wird bei dem winzigen Strom die Kollektor-Emitterspannung auf ca 0,5V bis 0,7V runtergehen? So das das SIG-Pad richtig auf Pegel LOW geht?

vgs