Block
Der NICHT
Block ist ein Logik-Block, der das Signal eines digitalen Blocks umkehren kann.
Ein digitaler Block kann entweder wahr (true
) oder falsch (false
) sein.
Durch den NICHT
Block wird diese Eigenschaft umgekehrt.
Wenn der Pin 2 normalerweise als digitaler Eingang festgelegt wird, dann ist dieser wahr, wenn eine Spannung von 5 Volt an ihm anliegt und falsch, wenn keine Spannung anliegt.
Ist der digitalRead
Block allerdings mit dem NICHT
Block verknüpft, dann kehrt sich diese Eigenschft genau um.
Es können auch die logischen Vergleich UND
und ODER
mit einem NICHT
Block verknüpft werden.
Genau so wie alle Vergleichsoperatoren (==, !=, <, >... usw.).
Auch bei diesen ist die Logik dann genau umgekehrt.
Ist der Block false
, dann ändert der NICHT
Block das Signal zu true
.
Ist der Block true
, dann ändert der NICHT
Block das Signal zu false
.
Beispiel
Der Pin 2 ist als digitaler Eingang definiert. Nun soll bei jedem Durchlauf der Hauptschleife eine Nachricht auf dem seriellen Monoitor ausgegeben werden, wenn der Pin LOW
ist.
Dazu wird der digitalRead
, der falls
und der Serial print
Block verwendet.
In ArduBlock kann diese Funktion folgendermaßen mit einem NICHT
Block realisiert werden:
Code
Im Code kann der NICHT
Block auf zwei verschiedene Weisen realisiert werden.
Zum einen kann vor das Statement, welches negiert werden soll ein Ausrifezeichen (!
) gesetzt werden.
Beispiel: Wenn Variable var
größer als 10 ist, dann soll das Statement falsch sein:
!(var > 10)
Alternativ kann der Befehl not()
verwendet werden, wobei zwischen die Klammern dann der Ausdruck geschrieben wird, auf den der "nicht" Befehl angewendet werden soll.
Beispiel von oben:
not(var > 10)
Das Beispiel mit dem digitalen Eingang von oben würde im Code folgendermaßen aussehen:
void loop() {
if (!( digitalRead(2) )) {
Serial.print("Der digitale Pin 2 ist LOW ");
Serial.println();
}
}
Alternativ:
void loop() {
if (not( digitalRead(2) )) {
Serial.print("Der digitale Pin 2 ist LOW ");
Serial.println();
}
}