Vergessen Sie zunächst den 100 Ω Widerstand. Es ist nicht für die Funktion der Taste erforderlich, sondern dient nur als Schutz für den Fall, dass Sie einen Programmierfehler machen.
- Wenn die Taste gedrückt wird, wird P2 direkt mit +5 V verbunden, so dass dies als hoher Pegel mit "1" angesehen wird.
- Wenn die Taste losgelassen wird, zählen die +5 V nicht mehr, es sind nur noch 10 kΩ zwischen Anschluss und Masse.
×
Nun der 100 Ω Widerstand. Wenn Sie den Pin-Ausgang versehentlich auf LOW stellen würden, führt das Drücken der Taste zu einem Kurzschluss: Der Mikrocontroller legt 0 V am Pin und der Schalter +5 V am selben Pin fest. Der Mikrocontroller mag das nicht und der IC kann beschädigt werden. In diesen Fällen sollte der 100 Ω-Widerstand den Strom auf 50 mA begrenzen. (Was immer noch ein bisschen zu viel ist, wäre ein 1 kΩ Widerstand besser.)
Da kein Strom in einen Eingangspin fließt (abgesehen von dem geringen Leckstrom), fällt am Widerstand kaum Spannung ab.
Die 10 kΩ sind ein typischer Wert für ein Hochziehen oder Herunterziehen. Ein niedrigerer Wert führt zu einem noch geringeren Spannungsabfall, 10 mV oder 1 mV machen jedoch keinen großen Unterschied. Aber es gibt noch etwas anderes: Wenn die Taste gedrückt wird, werden 5 V am Widerstand angelegt, sodass ein Strom von 5 V / 10 kΩ = 500 µA fließt. Das ist niedrig genug, um keine Probleme zu verursachen, und Sie werden den Knopf sowieso nicht lange gedrückt halten. Sie können die Taste jedoch durch einen Schalter ersetzen, der möglicherweise für längere Zeit geschlossen ist. Wenn Sie dann einen Pulldown von 1 kΩ gewählt hätten, hätten Sie 5 mA durch den Widerstand, solange der Schalter geschlossen ist, und das ist eine Verschwendung. 10 kΩ ist ein guter Wert.
Beachten Sie, dass Sie diesen auf den Kopf stellen können, um einen Pull-Up-Widerstand zu erhalten, und auf Masse schalten können, wenn die Taste gedrückt wird.
Dies kehrt Ihre Logik um: Wenn Sie die Taste drücken, erhalten Sie eine "0" anstelle einer "1", aber die Funktionsweise ist dieselbe: Wenn Sie die Taste drücken, wird der Eingang auf 0 V gesetzt Eingang auf +5 V-Pegel (mit vernachlässigbarem Spannungsabfall).
Dies geschieht normalerweise so, und die Hersteller von Mikrocontrollern berücksichtigen dies: Die meisten Mikrocontroller verfügen über interne Pull-up-Widerstände, die Sie in der Software aktivieren oder deaktivieren können. Wenn Sie das interne Pull-up verwenden, müssen Sie nur den Knopf mit Masse verbinden, das ist alles. (Einige Mikrocontroller verfügen auch über konfigurierbare Pulldowns, diese sind jedoch viel seltener.)