Dies ist eine alte Version des Dokuments!


← Kapitel 1: Programmieroberfläche | ↑ Übersicht | Typdefinitionen →

Kapitel 2: Ausgänge

Folgende Frage taucht sehr häufig auf: Kann man jeden einzelnen Pin als Ein- oder Ausgang definieren, genau so, wie man gerade möchte?

Und die Antwort ist sehr einfach: Ja, man kann. Naja, zumindest, so lange der Pin ein I/O-Pin ist. Man kann natürlich nicht zB den Versorgungsspannungspin als Eingang verwenden…

Betrachten wir dazu das Datenblatt des Atmega328P, in dem folgendes steht:

23 Programmable I/O Lines

Das bedeutet, dass wir bis zu 23 Pins zur Verfügung haben, die wir nach Belieben als Ein- oder Ausgänge definieren können. Bauteil- und routingbedingt stehen uns auf dem Gscheiduino allerdings nur 20 zur Verfügung (zwei Pins gehen etwa verloren, da dort ein Quarz angeschlossen ist).

Die Bezeichnung dieser Pins steht auf der Platine des Gscheiduino bzw kann hier nachgelesen werden.

Der Grundzustand jedes I/O-Pins beim Einschalten lautet „Eingang“, dies dient zur Sicherheit von eventuell angeschlossener Hardware, die durch einen aktiven Ausgang beschädigt werden könnte.

Damit wir einen Pin also als Ausgang verwenden können, müssen wir dem Controller mitteilen, dass wir das gerne tun würden. Dies geschieht sehr einfach durch folgenden Befehl:

pinMode(PIN, OUTPUT);