Taster bei einem Arduino?

1 Antwort

Nein, Pin 2 und GND sind hier immer verbunden.

Wenn der Schalter nicht gedrückt wird ist Pin 2 über den Widerstand mit GND verbunden und somit Logisch 0.

Wird der Schalter gedrückt wird zusätzlich noch +5V verbunden. Da die GND Leitung einen Widerstand hat, wird das Signal am Pin 2 auf +5V "hochgezogen" und ist dann Logisch 1.

Bild zum Beitrag

Schematisch sieht das dann etwa so aus

 - (Elektrik, Arduino Uno)
LuisBuzZ 
Fragesteller
 30.07.2020, 19:41

ahhh danke!! und weil der Pin2 auf Input programmiert ist, fließt kein Strom vom pin2 zu GND, wenn man den Taster nicht drückt.

Noch eine Frage:

Ich habe gelesen, dass die Pins beim Arduino einen eigenen Widerstand haben, wenn sie auf Input geschaltet sind. Das ist hier ja auch notwendig, da es sonst einen Kurzschluss geben müsste.

Der Widerstand an dem Pin2 ist dann auf jeden Fall kleiner als 10k. Weißt du wie groß genau?

Und das ganze funktioniert nicht mehr, sobald man einen Widerstand einbaut, der kleiner ist als der Widerstand an Pin2 oder?

0
LuisBuzZ 
Fragesteller
 30.07.2020, 20:05
@LuisBuzZ

beziehungsweise ab welcher Spannung zeigt der Pin2 an, dass er HIGH ist?

0
SetsunaKyoura  31.07.2020, 14:14
@LuisBuzZ

Wie gross die internen pullup Wiederstände sind kann ich dir nicht sagen, aber müsste bestimmt irgendwo im Datenblatt des vom Arduino verwendeten ATmega Controller stehen.

Der Spannungsbereich von digitalen Logiksignalen ist 0 - 0.8V für LOW und 2.4 - 5V für HIGH. Alles zwischen 0.8 und 2.4V ist verboten und darf in einer digitalen Schaltung nicht als Logiksignal verwendet werden. Dieser "verbotene" Spannungsbereich ist nicht definiert und jedes Bauteil reagiert anders, was zu grossen Problemen führen kann.

Allerdings musst du bedenken, dass in digitalen Schaltungen nahezu keine Ströme fliessen. Die Eingangswiederstände der Bauteile sind über 100MΩ, somit ist der Spannungsabfall über einen 10kΩ Wiederstand nur wenige Millivolt.

0
SetsunaKyoura  31.07.2020, 14:21
@SetsunaKyoura

Das heisst, der Widerstandsunterschied muss nicht sehr gross sein, damit sich der Signalpegel vom einen Extrem ins andere verschiebt.

Sprich, sobald der Widerstand von GND nur wenige Ohm kleiner ist als der von +5V, verschiebt sich der Signalpegel nach LOW und umgekehrt wenn der Widerstand an +5V kleiner ist nach HIGH.

Das gilt auch für die internen Widerstände an den Ports des Arduino. Dort kannst du in der Software auch einprogrammieren ob der interne Widerstand nach GND (pulldown) oder nach +5V (pullup) geschaltet ist.

0