Math. Operatoren / Digital

Setze digitale Variable

setze-digitale-variable-block
Für Erklärung auf einzelne Komponenten klicken.

Block

Mit dem Setze digitale Variable Block können lokale und globale digitale Variablen gesetzt werden. Hier können bereits existierende Variablen gesetzt werden, die bereits schon früher im Code verwendet wurden oder es können neue Variablen erstellt werden.

Variable

Hier wird die digitale Variable eingesetzt, deren Wert festgelegt werden soll. Mit einem Linksklick auf die aktuelle Bezeichnung lässt sich der Bearbeitungsmodus aktivieren und der Name der Variable ändern. Mit einem Druck auf die Enter-Taste wird die Bearbeitung abgeschlossen.
Achtung: Hier können nur Blöcke vom Typ lokale_digitale_Variable oder digitale_Variable eingesetzt werden.

Wert

Für den Wert Parameter wird der Wert eingesetzt, auf den die Variable gesetzt werden soll. Da es sich hier um eine digitale Variable handelt, kann sie nur zwei Zustände haben. Entweder logisch wahr (dann wird als Wert true oder HIGH eingesetzt) oder logisch falsch (dann wird als Wert false oder LOW eingesetzt).

Beispiel

Beispiel: Am digitalen Pin 2 liegt ein Signal von einem Sensor (z.B. Magnetschalter) an, wenn eine Tür geschlossen ist. Wenn sich die Tür öffnet, dann gibt der Sensor eine Spannung von 0 Volt auf den Pin. Es soll eine digitale Variable tuer_offen angelegt werden, die true ist, wenn die Türe offen ist und false ist, wenn die Türe geöffnet ist. Der falls und NICHT Block sollten hier schon bekannt sein.

So würde das Beispiel in ArduBlock aussehen:

beispiel-setze-digitale-variable

Code

Im Code wird der Block ganz einfach über ein Gleich-Zeichen (=) realisiert. Auf der linken Seite steht der Name der Variable und auf der rechten Seite steht der entsprechende Wert. (Hier: HIGH)
Wenn die Variable in dem Setze digitale Variable zuerst auftaucht, dann muss sie zuerst noch initialisiert werden. Dies kann entweder lokal oder global geschehen. Bei einer globalen Initialisierung würde die Variable hier außerhalb des loop Blocks initialisiert werden. Bei einer lokalen Initialisierung würde diese hier innerhalb des falls Blockes geschehen.
Eine Variable kann initialisiert werden, indem ihr Datentyp zusammen mit dem Namen in das Programm eingefügt wird. Digitale Variablen haben den Datentyp bool. Bei der Initialisierung kann auch gleich ein Wert mit eingegeben werden. Die Initialisierung von tuer_offen, wenn sie als LOW initialisiert wird, würde so aussehen:
bool tuer_offen = LOW;

Das Beispiel würde im Code folgendermaßen aussehen (ausgegangen davon, dass die Variable schon angelegt wurde):

if (!( digitalRead(2) )) {
   tuer_offen = HIGH;
}