für das Handshakings einer Datenverbindung zwischen zwei Geräten wird eine geschaltete Masse (GND) benötigt.
Leider besitzt der Nano keine potentialfreien Schalter. Könnte man hier evtl. einen Transistor einsetzen?
Der Schaltimpuls sollte für eine Datenverbindung entsprechend schnell sein.
Vielen Dank!
Naja, ich möchte halt nicht wie bei den digitalen Leitungen D2-D13 +5Volt geschaltet haben, sondern eben eine Masse.
Genauer: Eine Handshake-Leitung eines anderen Gerätes muss geschaltet auf den GND des Arduino gelegt werden.
Diese Schaltvorgänge müssen über den Arduino steuerbar sein.
Hat diese Leitung einen Pullupwiderstand?
Dann brauchst Du nur einen NPN Transitor zwischen Leitung und Masse schalten. Die Masse des Arduino MUß mit der Masse des anderen Gerätes verbunden sein!!!.
Dann brauchst Du nur einen NPN Transitor zwischen Leitung und Masse schalten. Die Masse des Arduino MUß mit der Masse des anderen Gerätes verbunden sein!!!.
Die gleiche Masse liegt an beiden Geräte an.
Das hieße, das ich mit einer der D-Leitungen den Transistor schalte, mit einem Beinchen auf Masse des Arduino und dem anderen Beinchen auf die Masse der abgehenden Leitung.
Korrekt?
Wie sieht es mit den Schaltzyklen aus? Müsste man da was beachten? Welcher Transistor wäre da zu empfehlen?
Wird schwierig. Es existiert leider noch keiner. :~
Mit "abgehender Leitung" meinte ich die, die vom Arduino weg geht zum anderen Gerät.
Nochmal zur Erklärung: Sobald am anderen Gerät einer der beiden Handshake-Leitung auf Low (Masse) liegt, wird ein Interrupt ausgelöst.
Deshalb benötige ich das.
Wenn es ein High-Signal wäre, dann bräuchte ich das alles nicht.
Ist das jetzt einigermaßen verständlich?
Aber, wenn die Leitung sowieso vom Arduino-Pin zum anderen Gerät geht, dann reicht es, einfach den entsprechenden Arduino- Pin auf LOW zu schalten.
Hallo Gunther,
aber leider heißt "Low" beim Arduino nicht Masse, sondern einfach nur 0, also keine 5 Volt.
Oder kann der Arduino auch ein geschaltetes Massesignal ausgeben?
du willst also nicht die Masse schalten, sondern eine Leitung nach Masse schalten!
Eine Handshake-Leitung auf die gemeinsame Masse schalten, richtig.
High ist üblicherweise 5V (bei einigen Typen auch 3,3V), Low ist 0V (oder eben Masse, GND oder wie man auch immer sagen will). Der von dir genannte Zustand wäre dann der "hi-Z" als dritte Möglichkeit: High impedance - Wikipedia
Aber wie guntherb schon sagte: ein Low am Ausgangsollte reichen.
Aber wie guntherb schon sagte: ein Low am Ausgangsollte reichen.
Leider nicht. Wir haben es ausprobiert. Der Interrupt-Impuls wird erst dann ausgelöst, wenn das Signal explizit auf Masse (Pin GND am Arduino) geschaltet wird.
Zitat:
"Write a HIGH or a LOW value to a digital pin.
If the pin has been configured as an OUTPUT with pinMode(), its voltage will be set to the corresponding value: 5V (or 3.3V on 3.3V boards) for HIGH, 0V (ground) for LOW."
Hieße, mit dem Befehl "digitalWrite(pin, LOW)" hätte dieser Pin dann das gleiche Potential, wie der GND-Pin des Arduino?
Würde wiederum bedeuten, das wenn ich den Befehl auf einen der Pins setze,
ich mittels eines Durchgangsprüfers einen Durchgang zwischen dem Low-geschalteten Pin und dem GND messen würde?
Denn genau das benötige ich.
grandmastermp:
Hieße, mit dem Befehl "digitalWrite(pin, LOW)" hätte dieser Pin dann das gleiche Potential, wie der GND-Pin des Arduino?
Richtig!
grandmastermp:
Würde wiederum bedeuten, das wenn ich den Befehl auf einen der Pins setze,
ich mittels eines Durchgangsprüfers einen Durchgang zwischen dem Low-geschalteten Pin und dem GND messen würde?
Das würde ich jetzt nicht machen. Ein Durchgangsprüfer arbeit ja seinerseits mit auch mit Prüfspannung, die ich nicht (ob versehentlich oder nicht) an einen Ausgang (Digitalpin) des Arduinos setzen würde. Du kannst uns aber glauben, dass tatsächlich Massebezug da ist, wenn du den Pin mit digitalWrite(Pin,LOW) ansteuerst.
Das würde ich jetzt nicht machen. Ein Durchgangsprüfer arbeit ja seinerseits mit auch mit Prüfspannung, die ich nicht (ob versehentlich oder nicht) an einen Ausgang (Digitalpin) des Arduinos setzen würde. Du kannst uns aber glauben, dass tatsächlich Massebezug da ist, wenn du den Pin mit digitalWrite(Pin,LOW) ansteuerst.
Gut, anders gefragt.
Eine LED mit Minus an den Low-geschalteten D-Pin und den Plus an einen High-geschalteten D-Pin.
Würde diese leuchten?
grandmastermp:
Gut, anders gefragt.
Eine LED mit Minus an den Low-geschalteten D-Pin und den Plus an einen High-geschalteten D-Pin.
Würde diese leuchten?
Kurzzeitig, weil der Strom durch die LED nicht begrenzt wird - entweder zerreißt es dir die LED oder den Digitalpin. Spaß beiseite, genauso funktioniert das.
Das würde ich jetzt nicht machen. Ein Durchgangsprüfer arbeit ja seinerseits mit auch mit Prüfspannung, die ich nicht (ob versehentlich oder nicht) an einen Ausgang (Digitalpin) des Arduinos setzen würde. Du kannst uns aber glauben, dass tatsächlich Massebezug da ist, wenn du den Pin mit digitalWrite(Pin,LOW) ansteuerst.
Diese Bedenken verstehe ich jetzt nicht.
Wenn du dich nicht traust, einen Durchgangsprüfer dranzuhalten, solltest du auch kein anderes Signal auf LOW ziehen wollen.
Der Durchgangsprüfer hat doch auch einen gemeinsamen GND mit dem Arduino. Welcher Strom fliesst denn, wenn der Durchgangsprüfer piepst ???
Das sollte doch wohl nichts im zweistelligen mA - Bereich sein ???
Die Frage ist doch eher, wenn der Pin auf HIGH ist, welche Spannung hat die Prüfspitze ( oder "das Gerät" ) in Bezug auf den gemeinsamen GND, und welcher Strom fliesst dann, in welche Richtung ?
Und was ist, wenn er als INPUT definiert ist ( Tri State ) ???
Welche Spannung würde dann anliegen bzw., welche Ströme fliessen, wenn's ausserhalb 0 ..5 V wäre...
michael_x:
Diese Bedenken verstehe ich jetzt nicht.
Widersprich mir, wenn ich falsch liege (was durchaus vorkommt)... Ich habe mal gelernt, dass man Schaltungen zwar mit dem Durchgangsprüfer prüfen kann, diese aber spannungslos sein sollen. Wenn ich nachweisen will, ob ein Digitalpin auf Low auch Massepotential hat, muss die Mikrocontrollerschaltung (in unserem Fall das Arduino-Board) mit einer Spannung versorgt werden.
Meine Bedenken bzw. eher eine Ahnung gehen in die Richtung, dass ich die Prüfspannung "versehentlich ungebremst" in einen Ausgang jage und diesen in die ewigen Jagdgründe befördere.