Erste SeiteVorherige SeiteNächste SeiteLetzte Seite

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

Konstruktion →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.

  1. 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 und 13 der zugewiesene Port.

  2. Die Initialisierung erfolgt mit dem Schlüsselwort void und der Funktion setup()
    void setup() {} 

    sowie der zweiten Anweisung

    pinMode(iPin1, OUTPUT);

    zwischen den geschweiften Klammern {}, die Port 13 als Ausgang bestimmt.

  3. Die Ausführung erfolgt mit dem Schlüsselwort void und der Funktion loop()
    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 das 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.

Erste SeiteVorherige SeiteNächste SeiteLetzte Seite

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
  • it/arduino-nano/03.txt
  • Zuletzt geändert: 2018/07/11 08:42
  • (Externe Bearbeitung)