Kurzschalten von I/O Pins um Schalter auszulesen

Gast #4261698
Lesenswert?
• ▲
▼
Hi,

ich probiere gerade bisschen mit den Arduino rum und habe zu dem Thema 
bereits einige Antworten in Google gefunden, allerdings ist mir das noch 
nicht ganz klar.

Zum Experimentieren probiere ich folgendes:
- Ein 2-Pin-Schalter
- Arduino Pin A0 + D2

Ich schalte A0 auf OUTPUT mit Pegel LOW
Ich schalte D2 auf INPUT mit Pegel HIGH
Mit dem Schalter verbinde ich beide Pins A0 und D2. Über die serielle 
Schnittstelle gebe ich mir den Status von Pin D2 aus.

Wenn der Schalter offen ist, dann kommt wie erwartet als Ausgang in D2 = 
1 raus. Wenn der Schalter geschlossen ist, dann geht der D2 = 0. Meine 
Vermutung aus dem was ich gelesen habe ist, das ein Pegel LOW den Pin 
direkt an GND schaltet. Ich habe jetzt nur die Befürchtung dass ich ohne 
Widerstand und anderen A0 und D2 kurzschalte und den Arduino so 
zerstören könnte, richtig?

Aus der Arduino-Dokumentation lese ich folgendes:
Pins configured as OUTPUT with pinMode() are said to be in a 
low-impedance state. This means that they can provide a substantial 
amount of current to other circuits. Atmega pins can source (provide 
positive current) or sink (provide negative current) up to 40 mA 
(milliamps) of current to other devices/circuits. This is enough current 
to brightly light up an LED (don't forget the series resistor), or run 
many sensors, for example, but not enough current to run most relays, 
solenoids, or motors.

Short circuits on Arduino pins, or attempting to run high current 
devices from them, can damage or destroy the output transistors in the 
pin, or damage the entire Atmega chip. Often this will result in a 
"dead" pin in the microcontroller but the remaining chip will still 
function adequately. For this reason it is a good idea to connect OUTPUT 
pins to other devices with 470Ω or 1k resistors, unless maximum current 
draw from the pins is required for a particular application.

Also sollte man z.B. ein 1k-Widerstand zum Schalter in Reihe anlegen.

Die Frage, wieso ich sowas teste... Ich experimentiere nur ein wenig mit 
verschiedenen Schalter-Schaltungen und dachte mir, wenn ich nun A0 z.B. 
auf HIGH setze, dann kann ich sozusagen den Schalter "deaktivieren", da 
ich nun an D2 immer 1 messe. Wenn ich A0 auf LOW setze, dann kriege ich 
den gegenteiligen Schaltwert 0 oder 1. Somit könnte man sich eine 
Schaltung aufbauen die z.B. eine 4x4-Matrix aus Schaltern 
Reihe-für-Reihe ausliest und seriell jeden Schalterstatus ausgibt.

Hoffe ihr könnt mir hier helfen dass genauer zu verstehen.
Gast #4261708
Lesenswert?
• ▲
▼
Manchmal ist es ganz sinnvoll, wenn man mit Elektronik gespielt, etwas 
über Elektronik zu lesen. Im Besonderen über die Zusammenhänge von 
Strom, Spannung und Widerstand. So wie etwas über Eingangs- wiederstände 
und Impedanz.
#4261717
Lesenswert?
• ▲
▼
ArduinoNewbie schrieb:
> Ich habe jetzt nur die Befürchtung dass ich ohne
> Widerstand und anderen A0 und D2 kurzschalte und den Arduino so
> zerstören könnte, richtig?

Falsch. Dein Arduino wird nicht zerstört. Der Eingang ist hochohmig. Da 
fließt fast kein Strom.

Nun passiert es aber manchmal, dass man mit einer Prüfspitze abrutscht 
oder aus Versehen mal eine ungewollte Verbindung herstellt. Deshalb ist 
es eine gute Idee, direkt am Ausgang einen Angstwiderstand an zu bauen 
(wie in der von dir zitierten Doku beschrieben).

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.