====== Kontakt zur Welt: Die Digitalausgänge ====== Um mit dem Arduino Dinge (Licht, Motoren, Heizungen, etc...) zu steuern, werden fast immer die [[http://arduino.cc/en/Tutorial/DigitalPins|Digitalpins]] verwendet. ===== Funktion des Pins festlegen mit "pinMode(pinNummer, Modus)" ===== Diese können sowohl als Eingang als auch als Ausgang benutzt werden. Da der Arduino nicht von selbst wissen kann, wie wir die Pins verwenden wollen, müssen wir es ihm explizit mitteilen. Das geht mit dem Kommando [[http://arduino.cc/en/Reference/PinMode|pinMode()]]. Also z.B. pinMode(3, INPUT); // verwende Pin 3 als Eingang pinMode(4, OUTPUT); // verwende Pin 4 als Ausgang // verwende Pin 5 als Eingang und verbinde ihn über einen internen Widerstand mit +5V pinMode(5, INPUT_PULLUP); Arduino merkt sich die Einstellung, nachdem sie einmal festgelegt wurde, solange das Programm läuft. Es reicht also in vielen Fällen, ''pinMode'' einmal im ''setup'' aufzurufen. ===== Spezialfall: Die Pins 0 und 1 sind eure Verbindung zum PC===== Die Pins 0 und 1 dienen als serielle Schnittstelle zur Kommunikation mit dem Computer, also lasst von denen jetzt erstmal die Finger, sonst kann es sein, dass euer Arduino anfängt, seltsame Dinge zu tun...\\ ===== Digitalpins als Ausgang "OUTPUT" ===== Nachdem sie einmal (z.B. im ''setup()'') als Ausgang eingestellt wurden, kann man im Programm mit der Funktion [[http://arduino.cc/en/Reference/DigitalWrite|digitalWrite(Pin\# ,LOW/HIGH)]] die Pins zwischen 0V (LOW) und 5V (HIGH) umschalten: digitalWrite(2,LOW); //schalte Pin 2 auf 0V digitalWrite(2,HIGH); //schalte Pin 2 auf 5V An Pin 13 ist auf dem Board eine LED angeschlossen, die im Beispiel [[http://arduino.cc/en/Tutorial/blink|Basics/Blink]] abwechselnd an- und ausgeschaltet wird. **Die Digitalpins vertragen nur einen begrenzten Strom (empfohlen sind max. 20mA)** Wird dieser Strom überschritten (z.B. indem ein Pin, der auf ''HIGH'' geschaltet ist, mit einem Draht mit einem, der auf ''LOW'' geschaltet ist, verbunden wird.) gehen die kleinen Transistoren im Innerern des Arduino kaputt! Das Selbe passiert, wenn ihr versucht, einen zu großen Verbrauchen (z.B. einen Motor oder normalen Lautsprecher) direkt an einem Digitalpin zu betreiben. Häufig bleibt es beim Ausfall des betroffenen Pins, es garantiert euch allerdings niemand, dass nicht der ganze Arduino im Eimer ist.\\ Genauere Information gibt es [[http://playground.arduino.cc/Main/ArduinoPinCurrentLimitations|hier]]