Schlaufuchs Logo

Arduino Hardware-Befehle

analogWrite()

  • Gibt an einem dafür geeigneten Pin ein PWM-Signal aus.
    Die Grundfrequenz des PWM-Signals liegt bei ca. 500 Hz
    bzw. bei ca. 1000 Hz (Pin 5 und Pin 6).

Syntax

digitalWrite(pinwert)

pin   Die Nummer des Pins.
wert   Integer-Wert zwischen 0 (aus) und 255 (an).
Entspricht dem Tastgrad des PWM-Signals

Besondere Eigenschaften

analogWrite() funktioniert nur an den Pins, die als PWM-Pin mit einer Tilde ~ gekennzeichnet sind.
Auf dem Arduino Uno-Board sind dies die Pins 3, 5, 6, 9, 10, 11.
Es ist zu beachten, dass der Tastgrad am Pin 5 und Pin 6 leicht variieren kann.

digitalRead()

  • Liest den Logikpegel eines als INPUT oder INPUT_PULLUP definierten GPIO-Pins.
  • Liest den aktuellen Logikpegel eines als OUTPUT definierten GPIO-Pins.

Syntax

wert=digitalRead(pin)

pin   Die Nummer des Pins, dessen Logikpegel abgefragt werden soll.
wert   HIGH oder LOW

Besondere Eigenschaften

Wird der Pin als INPUT definiert, muss die Eingangs-Spannung am Pin durch eine geeignete äußere Beschaltung immer definiert werden. Ein INPUT-Pin, der nicht angeschlossen ist, liefert beim Auslesen keine definierten Werte. Besonders bei Einsatz von Tastern oder Schaltern muss durch Pullup- bzw. Pulldown-Widerstände ein Spannungspegel vorgegeben werden.

Man kann Pullup-Widerstände sparen, indem man den Pin als INPUT_PULLUP definiert. Dadurch wird ein interner Pullup-Widerstand im Mikrocontroller aktiviert und der Pin liefert definierte Zustände. Ein Taster (Schalter) an einem INPUT_PULLUP-Pin wird immer gegen GND geschaltet.

Auch der momentane Zustand eines als OUTPUT definierten Ausgangs-Pins kann mit digitalRead() ausgelesen werden.

digitalWrite()

  • Setzt den Logikpegel eines als OUTPUT definierten GPIO-Pins auf HIGH oder LOW.
  • Schaltet den internen Pullup-Widerstand eines als INPUT definierten GPIO-Pins an oder aus.

Syntax

digitalWrite(pin, wert)

pin   Die Nummer des Pins, dessen Funktionalität festgelegt werden soll.
wert   HIGH oder LOW

Besondere Eigenschaften

digitalWrite(12, HIGH)

Gibt auf dem Pin 12 den Logikpegel HIGH aus,
wenn der Pin vorher mit pinMode(12OUTPUT) als Ausgabe-Pin definiert wurde.

digitalWrite(11, HIGH)

Schaltet auf dem Pin 11 den Pullup-Widerstand zu,
wenn der Pin vorher mit pinMode(11INPUT) als Eingabe-Pin definiert wurde.

pinMode()

Die pinMode() Funktion legt die Hardware-Funktionalität eines GPIO-Pins fest.

Syntax

pinMode(pin, mode)

Parameter

pin   Die Nummer des Pins, dessen Funktionalität festgelegt werden soll.
mode   Funktionalitäts-Modus des Pins.
INPUT   Der Pin dient als digitaler Eingang.
INPUT_PULLUP   Der Pin dient als digitaler Eingang mit zugeschaltetem Pullup-Widerstand.
OUTPUT   Der Pin dient als digitaler Ausgang.

Besondere Eigenschaften

Die Arduino Ausgänge dürfen mit einer Stromstärke von maximal 40 mA belastet werden. Zu hohe Ausgangsströme durch zu geringe Lastwiderstände oder Kurzschlüsse können den Mikrocontroller augenblicklich zerstören!

Die Arduino Eingänge dürfen mit einer Spannung von 0 bis 3,3 V bzw. 5 V beaufschlagt werden. Zu hohe oder zu niedrige (negative) Spannungen können den Eingangspin oder den Mikrocontroller augenblicklich zerstören!

Als OUTPUT programmierte GPIO-Pins dürfen niemals direkt mit Masse verbunden werden. In diesen Fall können sehr hohe Ströme fließen, wenn der OUTPUT-Pin auf HIGH gesetzt wird. Dies kann augenblicklich zur Zerstörung des Mikrocontrollers führen.