Frage:
Knopf & 2700 Ohm Widerstand?
Mark Hähnel
2012-09-18 21:01:17 UTC
view on stackexchange narkive permalink

Ich habe einen Flip-Schalter und einen 2700-Ohm-Widerstand und möchte den Status mit Python lesen. Der Code-Teil ist für mich kein Problem, aber es ist möglich, diese Komponenten zu verwenden, um ihn mit den GPIOs zu verbinden Lesen Sie den Status? Und wie muss die Verkabelung aussehen?

Ich habe etwas über einige Pins gelesen, die einen integrierten Pull-up-Widerstand haben oder so. Bedeutet das, dass ich keinen Widerstand für die Verwendung eines Knopfes benötige? wechseln?

Danke! :)

Grüße, Mark

Zwei antworten:
#1
+6
John La Rooy
2012-09-18 21:23:21 UTC
view on stackexchange narkive permalink

Hier ist die Grundeinstellung, die Sie benötigen. Sie können die GPIOs mit den eingebauten Widerständen verwenden, wenn Sie

 3V3 --- o | wünschen | >> Widerstand> | | GPIO --- o | | \ Switch \ | | GND --- o 

Sie können auch die schwachen Pullup- / Pulldown-Widerstände im SoC verwenden zB.

  // Pullup auf GPIO24&25 aktivieren GPIO_PULL = 2; short_wait (); // Uhr auf GPIO 24 & 25 (Bit 24 & 25 gesetzt) ​​GPIO_PULLCLK0 = 0x03000000; short_wait (); GPIO_PULL = 0; GPIO_PULLCLK0 = 0;  

Wenn Sie das interne Pullup verwenden, benötigen Sie nur diesen Teil

 GPIO --- o | | \ Switch \ | | GND --- o 
@ppumkin, Wenn der Widerstand nicht vorhanden ist, schwebt der Eingang und neigt dazu, zufällig zu schalten, wenn sich elektrische Felder um ihn herum bewegen. Der Wert des Widerstands ist nicht kritisch.
Okay danke. Aber der 2700 Ohm Widerstand ist okay dafür?
Huh? Wenn es mit 3,3 Volt betrieben wird, ist es nicht schwebend. Die Verwendung eines Widerstands reduziert nur die Spannung. Wie werden schwebende Spannungen eliminiert? Ich verstehe, dass ein Pull-Up- oder Pull-Down-Schaltplan dies tut. Aber ich denke, dass der Inline-Widerstand überflüssig ist.
@Mark, 2700 Ohm sollte in Ordnung sein.
@ppumkin, es ist ein Pullup-Widerstand. Ohne sie würde der Schalter 3V3 auf GND kurzschließen. Es ist nicht Aufgabe, die Spannung zu reduzieren. Die Spannung am GPIO beträgt 3V3, wenn der Schalter geöffnet ist, und 0V, wenn der Schalter geschlossen ist
Ah okay, ich verstehe, dass der Widerstand den Strom reduzieren soll. damit es keinen kurzschluss gibt oder?
Ihre Diskussion verwirrt mich: D also kann ich es mit und ohne Widerstand machen, oder?
@Mark, Sie brauchen einen Widerstand. Der Widerstand kann einer der eingebauten sein, wenn Sie diese bestimmten Stifte verwenden möchten.
Wenn ich also GPIO 0 (auch bekannt als Pin 4) verwende, kann ich es folgendermaßen verbinden: [link] (http://imgur.com/gVr7M) richtig?
@Mark, no, das einen Kurzschluss von 3V3 nach GND anzeigt, wenn der Schalter geschlossen ist
schöne ASCII Kunst: P.
Macht es einen Unterschied, ob es als Pull-Up- oder Pull-Down-Widerstand verwendet wird, d. H. Ist es für die GPIO-Pins im Ausgangszustand wichtig, wenn sie gegen 0 oder + 3,3 V ansteuern?
@andig, nicht wirklich. Häufig können GPIOs den Strom etwas besser senken als sie ihn beziehen können. Sie sollten jedoch vermeiden, sich dem Grenzwert für das RPi zu nähern, damit Sie nicht riskieren, ihn zu beschädigen.
#2
+1
Krzysztof Adamski
2012-09-18 22:42:05 UTC
view on stackexchange narkive permalink

Normalerweise ist der GPIO-Pin mit nichts verbunden, sodass sein Wert nicht zuverlässig erkannt werden kann. Es wird gesagt, dass dieser Zustand schwebend ist, da sich in diesem Zustand der Wert des GPIO-Pins in Abhängigkeit von einigen unvorhersehbaren externen Ereignissen ändern kann.

Jetzt können Sie den Schalter (oder die Buchsen-Taste) mit einer Seite mit GPIO verbinden Stift und eins auf den Boden (GND). Auf diese Weise wird GND mit GPIO verbunden und der Status ist niedrig, wenn Sie die Taste drücken. Wenn Sie die Taste loslassen, wird GPIO nicht wieder mit irgendetwas verbunden (so dass es einen schwebenden Zustand hat).

Sie müssen also Ihr GPIO irgendwie an Hochspannung anschließen, wenn Sie die Taste loslassen. Dies wird als Pull-up bezeichnet. Wenn Sie dies tun, wird Ihre Spannung erhöht.

Aber wie geht das? Sie müssen Ihr GPIO an 3,3 V anschließen. Auf diese Weise hat GPIO, wenn Ihre Taste losgelassen wird, einen Status hoch (3,3 V). Wenn Sie Ihren Knopf drücken, wird er sowohl an 3,3 V als auch an GND angeschlossen. Der Strom fließt von 3,3 V nach GND, wobei GPIO bei 0 V bleibt (Zustand niedrig).

Es gibt jedoch ein Problem. Sie haben fast keinen Widerstand in Ihrem Stromkreis, so dass der Strom, der fließen wird, sehr hoch ist (sogenannter Kurzschluss). Das ist schlecht. Und deshalb brauchen Sie einen Widerstand, einen Pull-up-Widerstand. Dadurch wird der Stromfluss von 3,3 V zum GND- oder GPIO-Pin begrenzt.

Wie groß sollte der Widerstand sein? Groß genug, um den Strom auf den Wert zu begrenzen, der den GPIO-Pin nicht beschädigt, die Eingangsstörungen des RPi nicht beeinträchtigt oder die Eingangsspannung auf den Wert senkt, der den Neustart des RPi bewirkt. Falls Ihr RPi mit Batterien betrieben wird, möchten Sie auch nicht zu viel Strom aufnehmen, damit die Batterie länger hält. Es kann jedoch nicht zu hoch sein, da RPi Probleme beim Erkennen von Hochspannung im Eingang haben kann. Nehmen wir zur Sicherheit an, dass der Widerstand in Kilo Ohm gemessen werden sollte :)

Nun sollten Sie sich vorstellen, was ein interner Pull-up-Widerstand ist. Es ist ein kleiner Widerstand in einem Chip, der den GPIO-Pin mit der Hochspannung verbindet, die Sie verwenden können, anstatt einen externen anzuschließen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...