Gast
#4261698
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.