Ein- und Ausgänge
Jeder Mikrocontroller verfügt über Ein- und Ausgänge. Der Arduino Nano kann die Ports D2
bis D13
entweder als digitalen Ein- oder Ausgang verwenden. Die Definition der Ports erfolgt in dem verwendeten Sketch.
In dem Sketch Ausgaenge.ino und den folgenden Versuchen dienen D12
und D13
als Ausgänge.
Schaltplan Nano
Der Schaltplan zeigt eine reduzierte Darstellung dessen, was wir gerade benötigen. Es geht an dieser Stelle auch nicht darum, den Mikrocontroller detailgetreu abzubilden, sondern nur um Funktionalitäten. Also wer macht was?
MC1: Digitale Ports.
D2
bis D12
sind mögliche digitale Ausgänge, also insgesamt 11.
Bauteile:
MC
: Arduino Nano
Sketch
Ausgaenge.ino:
D13
arbeitet in dem Sketch als Ausgang, der den Pegel zwischen LOW und HIGH in einer Endlosschleife wechselt.D12
ist (noch) nicht definiert!- Die interne LED des Mikrocontrollers leuchtet, wenn der Pegel am Ausgang
D13
HIGH ist. - Die Spannung am Ausgang
D13
beträgt ca. 4,7 V bei HIGH und 0 V bei LOW.
- Ausgaenge.ino
int iPin1 = 13; // Pin definieren void setup() { // Initialisierung pinMode(iPin1, OUTPUT); // Pin als Ausgang } void loop() { // Endlosschleife digitalWrite(iPin1, HIGH); // Pegel auf 1 setzen delay(2000); // Zeitverzögerung 2 Sekunden = 2000 ms digitalWrite(iPin1, LOW); // Pegel auf 0 setzen delay(3000); // Zeitverzögerung 3 Sekunden = 3000 ms }
Funktionsweise
Programm, Sketch und Code sind verschiedene Worte für die gleiche Sache. Sketch ist der von den Arduino Schöpfern gewählte Begriff für ein Programm.
Der dreiteilige Programmaufbau ist typisch für die Arduino Familie: Definition (Wer ist dabei?), Initialisierung (Was macht wer?) und Ausführung (Wie wird es gemacht?). Das Programm läuft nach dem Start vom Anfang bis zum Ende und dann wieder von vorne, also in einer Schleife. Wie jede gesprochene Sprache kennt auch eine Programmiersprache eine Anzahl an Wörtern mit fester Bedeutung sowie Regeln für den Satzaufbau. In einer Programmiersprache werden Wörter als Schlüsselwörter und Sätze als Anweisungen bezeichnet. Jede Anweisung wird mit einem Semikolon abgeschlossen.
- Die erste Anweisung
int iPin1 = 13;
definiert den verwendeten Port. Darin ist
int
das dafür vorgesehene Schlüsselwort,iPin1
ein frei wählbarer Name und13
der zugewiesene Port. - Die Initialisierung erfolgt mit dem Schlüsselwort
void
und der Funktionsetup()
void setup() {}
sowie der zweiten Anweisung
pinMode(iPin1, OUTPUT);
zwischen den geschweiften Klammern
{}
, die Port 13 als Ausgang bestimmt. - Die Ausführung erfolgt mit dem Schlüsselwort
void
und der Funktionloop()
void loop() {}
in einer Endlosschleife, ebenfalls mit den Anweisungen zwischen den geschweiften Klammern
{}
.digitalWrite(iPin1, HIGH);
setzt den Pegel von Port D13 auf HIGH. Dann liegen an diesem Ausgang knapp 5 V an, aber nur für 2 Sekunden.
delay(2000);
ist eine Zeitverzögerung, ausgedrückt in Millisekunden.
digitalWrite(iPin1, LOW);
setzt den Pegel auf LOW, also auf 0 V, aber nur für 3 Sekunden.
delay(3000);
Nach dieser Zeitverzögerung ist das Programm durchlaufen und startet von vorne.
Versuche
Ändere in dem Sketch den Ausgang von 13 auf 12.
Lade den Sketch in den Mikrocontroller.
Die interne LED des Mikrocontrollers leuchtet nicht, wenn der Pegel am Ausgang
D12
HIGH ist.
Überprüfe mit einem Spannungsmeßgerät den Pegel am Ausgang
D12
.
Die Spannung am Ausgang
D12
beträgt ca. 4,7 V bei HIGH und 0 V bei LOW.
Die interne LED des Arduino Nano leuchtet nur, wenn der Ausgang
D13
HIGH ist.
- Zuletzt geändert: 2020/03/16 10:01
- von wh