Muss ich einen Widerstand mit einem Mikroschalter verwenden, um den Strom für einen Arduino Uno zu begrenzen?

Ich verwende einen Arduino Uno, um einen kleinen Roboter zu steuern, und fange an, Mikroschalter als Stoßsensoren hinzuzufügen. Ich weiß, dass ich beim Erstellen einer Schaltung mit LEDs Widerstände verwenden muss, um den Strom zu begrenzen, damit ich das Arduino nicht durcheinander bringe, aber muss ich dasselbe mit den Mikroschaltern tun? Wenn ja, wie berechne ich den notwendigen Widerstand?

Wenn es einen Unterschied macht, mein Mikroschalter ist Pololu Nr. 1405, Schnappschalter mit 15,6-mm-Stoßhebel, 3-polig, SPDT, 5A. Der Arduino gibt 5V aus und hat maximal 40mA.

BEARBEITEN : Ich habe noch etwas recherchiert und eine Seite gefunden, die genau zu beschreiben scheint, was ich tun möchte ( http://arduino.cc/en/tutorial/button ), weiß nicht, wie ich es vorher verpasst habe. Wenn ich also die Situation richtig verstehe, brauche ich nur den Pull-up / Down-Widerstand zwischen dem Schalter und Masse, aber keinen zwischen dem Schalter und dem Pin, der den Schalter liest.

Im Allgemeinen verwenden Sie Widerstände, jedoch für einen anderen Zweck - als Pull-Ups oder Pull-Downs. Wie Olin sagt, wird ein Schaltplan benötigt: w9xt.com/page_microdesign_pt6_switch_inputs.html

Antworten (2)

Sie brauchen keinen Widerstand, solange Sie den Pin so einrichten, dass er eingegeben wird . Die Stromschutzwiderstände sind nur in Fällen notwendig, in denen der Arduino-Pin als Stromquelle, also Ausgang , verwendet wird . Wenn der Pin als Ausgangspin verwendet wird, benötigen Sie möglicherweise einen Strombegrenzungswiderstand, je nachdem, was mit dem Pin verbunden ist. Normalerweise verbinden wir Schalter jedoch nicht mit Ausgängen (außer in ungewöhnlichen Fällen, in denen die Schalter Strom benötigen, Schalter tatsächlich Schaltkreise sind usw.).

Für einen Eingangspin möchten Sie möglicherweise einen Pull-up- oder einen Pull-down-Widerstand. Alle AVR-Chips haben jedoch eingebaute Pull-Ups. Nachdem Sie den Pin als Eingangspin konfiguriert haben, aktivieren Sie den Pull-up-Widerstand an digitalWrite(HIGH)diesem Pin, oder, wie @mpflaga betont, in der neueren Arduino-Toolchain können Sie den Eingangsmodus und Pullup mit pinMode(in_pin, INPUT_PULLUP);line einstellen. Weitere Informationen zu Pull-up-/Pull-down-Widerständen finden Sie hier .

Wenn Sie einen diskreten Pull-up-Widerstand wünschen (dh nicht den eingebauten verwenden, obwohl ich nicht weiß, warum Sie das tun würden), würde die Schaltung wie folgt aussehen:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Der Stift wird hoch gelesen, wenn der Schalter nicht gedrückt wird, und niedrig, wenn er es ist.

Beachten Sie, dass die neueste Arduino IDE einen Pinmode-Befehl hat, um es klarer zu machen. PinMode (in_pin, INPUT_PULLUP); arduino.cc/en/Reference/PinMode
Achso cool. Das ist viel klarer als die digitalWrite(..)Version davon. Danke!

Ein geschlossener Schalter ist ein Kurzschluss. Analysieren Sie Ihre Schaltung, indem Sie alle Schalter durch Kurzschlüsse ersetzen. Wenn alle Ströme noch innerhalb der Spezifikation liegen, ist alles in Ordnung. Wenn nicht, bist du es nicht.

Ohne einen Schaltplan oder einen Hinweis darauf, was genau Sie tun, ist dies alles, was gesagt werden kann.