Ich arbeite mich durch ein Garagentorprojekt. Ich habe ein paar davon gekauft, aber ich werde enttäuscht sein, wenn ich eine konsistente Antwort darauf finde, wie sie mit einem RPI verbunden sind.
Mein Gedanke war, es einfach anzuschließen und es auszuprobieren. Ich mache mir allerdings Sorgen, dass ich meinen Pi in die Luft jagen könnte.
Es gibt einige Websites, die sagen, dass Sie einen Pull-up verwenden, andere sagen, dass Sie mehrere Widerstände verwenden. Bei einigen haben Sie eine Verbindung über Masse hergestellt (was für mich am wenigsten sinnvoll ist), bei der der Reed-Schalter nicht mit Strom versorgt wird. Ich habe keine Ahnung, wie das Beispiel von Adafruit funktioniert.
Ich nahm an, ich brauchte Strom für das Common, dann muss ich vom NO / NC-Post aus den Status auf einem GPIO-Pin erfassen, aber ich verstehe nicht wirklich, wo ich den Boden platzieren soll? Wird es wie die Mehrfachwiderstandsverbindung abgespalten? Wird der gesamte Stromkreis auf diese Weise durch Erdung des Schalters verstärkt?
Ich habe versucht, einige der Beiträge hier zu lesen, aber sie bringen mich nicht wirklich zum Warum. Kann mir jemand helfen, das ein bisschen zu entmystifizieren? Wenn Sie Ressourcen haben, um einige Grundlagen aufzubauen, würde ich es sicherlich begrüßen. Ich bin von Beruf Programmierer, also bin ich nicht in meinem Element.
BEARBEITEN:
Ich hatte einige Verwirrung über die NO / NC. Ich denke, das hat sich etwas geklärt, ich habe es vom Standpunkt meiner Tür aus betrachtet und nicht vom Kontakt des Schalters. Die SW sollte normalerweise geöffnet sein.
Ich habe hier drei Diagramme und suche nach Klarstellung. Wie konfigurieren Sie Pull-up oder Pull-down mit dem Widerstand? Benötige ich einen zusätzlichen Widerstand, um zu ziehen und die Sicherheit meines tapferen GPIO-Soldaten Nr. 18 zu gewährleisten? Verändert das Bewegen des Widerstands die Eigenschaften / Funktionalität der Schaltung?
Benötige ich einen kleineren Widerstand? Ich hatte bereits eine 4.7 auf dem Board, also habe ich sie benutzt. Gibt es eine Möglichkeit, eine geeignete zu berechnen? Ich bekomme keinen Stiftwechsel.
Ich verstehe also, dass dies ein Verstoß gegen das SO-Protokoll ist, indem ich eine Frage zu einer Frage stelle, aber ich würde lieber verstehen, was los ist, als nur eine Ihrer Antworten einzuschlagen und sie als erledigt zu bezeichnen.
EDIT 2:
Als ich eine funktionierende Lösung bekam, versuchte ich sie zu vergrößern, brauchte aber einen Widerstand für jede Leitung und schaltete sie auf den gezeigten Schaltplan um. Dies funktioniert und hat mein Pi weder explodiert noch in Brand gesetzt.
Ich verwende ein Software-Pulldown und entprelle.
Was würde es bewirken, die Schaltleistung auf die Erdungsseite des Widerstands zu verlagern? Nichts?
quelle
Antworten:
Es ist ein Schalter. Schließen Sie es wie jeden anderen Schalter an. Sie müssen sich nur entscheiden, ob Sie es als normal geöffnet (normalerweise als ausgeschaltet) oder normalerweise geschlossen (normalerweise als eingeschaltet) verwenden möchten.
Es gibt zwei grundlegende Möglichkeiten: Gemeinsame Verbindung mit Masse oder gemeinsame Verbindung mit 3V3. Unabhängig von Ihrer Wahl ist es sicherer, diese Verbindung über einen Widerstand herzustellen, um das Risiko eines Kurzschlusses zu vermeiden. Etwas zwischen 1-5 Tausend Ohm sollte geeignet sein.
Verbinden Sie den anderen ausgewählten Kontakt mit einem GPIO-Gerät als Eingang.
Gemeinsame Verbindung mit Masse und normalerweise geschlossen mit einem GPIO
Gemeinsame Verbindung mit Masse und normalerweise offen mit einem GPIO
Gemeinsame Verbindung zu 3V3 und normalerweise geschlossen zu einem GPIO
Gemeinsame Verbindung zu 3V3 und normalerweise offen zu einem GPIO
In allen oben genannten Fällen wird der schwache Innenwiderstand (ca. 50 k) durch die Verbindung mit Masse oder 3V3 über den stärkeren (weniger widerstandsfähigen) Außenwiderstand außer Kraft gesetzt.
quelle
Genau, verwenden Sie es einfach als Schalter. Ich gehe davon aus, dass der Pi, wenn die Tür geöffnet oder geschlossen ist, über einen seiner Eingangsstifte davon erfahren möchte. Sucht der Pi nach einem Tief? Verdrahten Sie dann den Schalter vom Eingangsstift mit Masse und führen Sie einen Pull-up-Widerstand an die + 3,3-V-Leitung. Wenn der Schalter geöffnet ist, dh kein Magnet vorhanden ist, ist der Eingang logisch hoch. Wenn der Magnet den Schalter betätigt, ist der Eingangspin logisch niedrig. Der Pull-up-Widerstand ist nicht kritisch. Beginnen Sie mit einem 4k7Ohm (gelb, lila, rot, X). Messen Sie den Pin bei ausgeschaltetem Gerät. Er sollte nahe bei 3,3 V liegen, wenn Sie keinen Widerstand mit weniger Ohm versuchen. sag 2k2. Gehen Sie nicht unter 1k, das würde 3,3mA ziehen. Wenn Sie ein Hoch suchen, verwenden Sie die normalerweise geschlossenen Kontakte des Reed-Schalters. Führen Sie keine 3,3 V an einen externen Switch an. Ein Kurzschluss könnte Ihren Pi-Regler-Chip töten.
quelle
Ihr Diagramm links und in der Mitte ist überhaupt nicht gut. GPIO ist kurzgeschlossen und kann nichts tun.
Das Diagramm auf der rechten Seite ist korrekt, wenn Ihr GPIO-Pin-18-Programm nach einem Eingang sucht, der hoch geht, um den nächsten Schritt auszuführen. Normalerweise verbinden wir eine Stromschiene, die 3,3 V, nicht direkt mit einem Eingang, sondern speisen sie normalerweise über einen Widerstand von etwa 2,2 k. Probieren Sie die 4.7k aus und prüfen Sie, ob der Pin hoch geht. Ich würde den Widerstand von Pin GPIO 18 an den Schalter anschließen und die andere Seite an die 3,3-V-Stromleitung anschließen. Ich bin nicht froh, dass die 3,3-V-Leitung ohne Widerstand zum Garagentor führt, um den Strom im Falle eines Kurzschlusses in Ihrer Verkabelung zu begrenzen. Wenn der 4,7k-Widerstand ausreicht, um den Pin hochzuziehen, würde ich ihn im Endprodukt mit 2,2k auf beiden Seiten des Schalters am Pi-Ende aufteilen, um den Pi-Eingang und das Pi-Netzteil vor versehentlichen Kurzschlüssen in der externen Verkabelung zu schützen zum Garagentorschalter. Der Widerstand in Ihrem rechten Schaltkreis wird als Pulldown bezeichnet und wird normalerweise nicht benötigt. Überprüfen Sie erneut mit einem Voltmeter oder einer Logiksonde, ob der Eingang normalerweise niedrig ist, bis er vom Schalter hochgezogen wird, und stellen Sie sicher, dass er nahe an 3 V liegt. Ich bin dein Gegenteil, gut mit Hardware, weiß nichts über Programmierung und versuche ein bisschen Linux zu lernen.
quelle
Entfernen Sie den 4,7K-Widerstand gegen Masse. Es wird nicht benötigt. Es ist nur eine weitere kleine, unnötige Belastung des Netzteils. Ihr Stromkreis funktioniert wie er ist, ABER es ist besser, einen Widerstand von der 3,3-V-Stromschiene zu jedem der Schalter in Reihe zu schalten, um die Stromversorgung zu schützen, falls einer der Schalter versehentlich gegen Masse kurzgeschlossen wird. Welche Widerstandsgröße? Versuchen Sie es mit einem 10k, wenn es funktioniert, das heißt, Sie haben ungefähr> 3V am GPIO-Pin, großartig, wenn Sie nicht einen 4,7k oder einen 2,2k oder sogar einen 1k versuchen
quelle
Nur Ihre rechte Schaltung funktioniert. Die Antworten, die Sie oben erhalten haben, sind wahrscheinlich richtig (der Versuch, eine Schaltung in Worten zu beschreiben, ist selbst für einen Elektrotechniker verwirrend).
Ich denke, diese bieten zu viele Optionen. Ich empfehle folgendes. http://elinux.org/RPi_GPIO_Interface_Circuits#Buttons_and_switches
Aus technischen Gründen im Zusammenhang mit Störungen und Sicherheit ist ein Hochziehen auf Vcc mit einem Schalter auf Masse vorzuziehen, aber beide funktionieren. (Sie können einen normalerweise offenen oder normalerweise geschlossenen Schalter verwenden).
Wenn Sie besonders sicher sein möchten, können Sie einen kleinen Widerstand in Reihe mit dem Kabel des GPIO schalten. Dies ist nur erforderlich, wenn Sie einen Switch an einen als Ausgang konfigurierten Pin anschließen. Der Pi wird auch dann nicht beschädigt, da er intern vor Überlastung geschützt ist, aber den Betrieb anderer Pins beeinträchtigen kann.
PS Reed Schalter hüpfen wie ein Kind auf einem Trampolin. Sie benötigen eine Anti-Bounce-Technik, entweder in Hardware oder Software.
quelle
Ich konnte es zum Laufen bringen, indem ich diesem Beispiel folgte, das die Spannung von GPIO-Pin und Masse verwendet. Ich habe das Streamer-Zeug übersprungen, da ich nicht daran interessiert war.
Reed Switch Tutorial
quelle