Operatori booleani: AND, OR, XOR, NOT

I nodi della categoria Boolean del Flow: AND, OR, XOR e NOT con tabelle di verità, ingressi aggiuntivi, l'ingresso TRG per valutare solo su comando ed esempi d'uso.

I nodi della categoria Boolean combinano segnali acceso/spento. Sono la base di quasi ogni logica: "se la finestra è chiusa e la porta è chiusa", "se c'è movimento oppure è premuto il pulsante", "non di giorno".

AND

L'uscita OUT è accesa solo se tutti gli ingressi sono accesi.

IN

IN 1

OUT

0

0

0

0

1

0

1

0

0

1

1

1

Esempio: la luce del giardino si accende con il movimento solo quando è buio: Notte AND Movimento giardino.

OR

L'uscita OUT è accesa se almeno un ingresso è acceso.

IN

IN 1

OUT

0

0

0

0

1

1

1

0

1

1

1

1

Flow AND - OR: Input A e Input B collegati a un AND e a un OR
Il flow AND - OR del progetto di esempio: gli stessi due ingressi alimentano un AND e un OR

Esempio: la spia "finestre aperte" sull'app si accende se è aperta la finestra della cucina OR quella del soggiorno OR quella della camera.

XOR

L'uscita OUT è accesa se è acceso un numero dispari di ingressi. Con due ingressi vuol dire: accesa quando gli ingressi sono diversi.

IN

IN 1

OUT

0

0

0

0

1

1

1

0

1

1

1

0

Esempio: il comando "deviatore" con due pulsanti a levetta: ogni volta che uno dei due cambia posizione, la luce cambia stato.

NOT

Flow XOR - NOT: due ingressi su un XOR e un ingresso su un NOT
Il flow XOR - NOT

Ha un solo ingresso: l'uscita è l'opposto dell'ingresso (acceso → spento, spento → acceso).

Esempio: l'Astronomy Clock dà acceso di giorno; con un NOT ottieni acceso di notte.

Più di due ingressi

AND, OR e XOR partono con due ingressi (IN e IN 1). Con il pulsante verde Add ne aggiungi altri (IN 2, IN 3…). Il risultato tiene conto di tutti: un AND a cinque ingressi è acceso solo con tutti e cinque accesi.

L'ingresso TRG: valutare solo su comando

Flow AND with trigger: Window closed e Door closed su un AND con TRG collegato a Check now
Il flow AND with trigger: l'AND viene valutato solo alla pressione di Check now

Tutti gli operatori booleani hanno un ingresso TRG (trigger) e un'uscita TRG.

  • TRG non collegato: il nodo ricalcola l'uscita a ogni cambiamento di un ingresso. È il funzionamento normale.

  • TRG collegato: il nodo ignora i cambiamenti degli ingressi e ricalcola l'uscita solo quando TRG passa ad acceso. Gli ingressi vengono comunque memorizzati, così al momento del trigger il calcolo usa i valori più recenti.

  • Dopo ogni calcolo comandato da TRG, l'uscita TRG dà un impulso (acceso e subito spento): puoi usarla per far partire il nodo successivo nell'ordine giusto.

Esempio — controllo prima dell'inserimento allarme: finestra chiusa AND porta chiusa, ma valutato solo quando premi Check now. Il risultato Ready to arm non cambia mentre apri e chiudi le porte, ma solo nel momento del controllo.

L'ingresso TRG funziona allo stesso modo anche nei nodi IF, Math, Range e Filter.

Da sapere

  • AND, OR e XOR calcolano l'uscita solo quando almeno due ingressi hanno un valore.

  • Un valore numerico su un ingresso booleano vale acceso se è diverso da 0; i testi true, 1, on valgono acceso.

  • L'uscita viene inviata a ogni calcolo, anche se il risultato non cambia: se a valle c'è un comando che non deve ripetersi, mettici un Trigger.

Ultimo aggiornamento: