[:es]En esta entrada explicamos el uso de instrucciones de lógica Boolena en Facilino.
¿Qué es la lógica booleana?
La lógica booleana es el conjunto de relaciones que existen entre variables que pueden ser binarias, esto es, que pueden tomar sólo dos posibles valores: verdadero o falso. Las variables binarias o booleanas son muy importantes en el entorno de la electrónica digital, dado que son la base para entender cómo funcionan los circuitos electrónicos digitales y por extensión los microcontroladores, microprocesadores y la programación en general.
Tipo de instrucciones en Facilino

Operadores relacionales
Los operadores relacionales permiten establecer la comparación numérica entre dos variables (de todos los tipos básicos de Arduino a excepción de las cadenas de texto).
Permiten establecer relaciones de: igualdad; desigualdad; menor; menor o igual que; mayor; y mayor o igual que.
El resultado de la comparación es una operación lógica que devuelve verdadero o falso en función de los valores comparados y la operación seleccionada.
Operadores binarios
Facilino permite trabajar con operaciones booleanas a partir de dos argumentos(u operandos) de entrada binarios A y B, con valores verdadero (T) o falso (F). Según el operador booleando seleccionado el resultado de la operación cambiará:
| Operando A | Operando B | Operación «Y» | Operación «O» | Operación «O Excl.» | Operacíon «O No-Excl.» | Implicación |
|---|---|---|---|---|---|---|
| F | F | F | F | F | T | T |
| F | T | F | T | T | F | T |
| T | F | F | T | T | F | F |
| T | T | T | T | F | T | T |
Negación
La negación permite obtener la negación de una variable binaria, esto es, si el valor de la variable es cierto, la negación devolverá falso y viceversa.
Constantes Verdadero/Falso
Las constantes «Verdadero» o «Falso» permite ser utilizadas de igual manera que cualquier otra variable del tipo binario. La principal diferencia es que siempre valen «Verdadero» o «Falso» y su valor no se puede cambiar.
Ejemplos
Ejemplo 1
En este ejemplo se implementa una sencilla operación lógica booleana con una AND de dos entradas digitales que activan una salida digital. Concretamente, las entradas digitales corresponden a dos botones conectados a los pines D2 y D3 de Arduino Nano, mientras que la salida digital es en realidad el propio LED integrado de Arduino Nano.
Ejemplo 2
En este segundo ejemplo se muestra cómo utilizar los operadores relacionales. Concretamente, se compara un número secreto con otro número que introduce el usuario a través de la consola. Si los dos números son iguales, muestra un mensaje de felicitación, mientras que si son diferentes muestra un mensaje invitándole al usuario a que lo intente de nuevo.
[:en]In this post, we explain the use of Boolean logic instructions in Facilino.
What’s boolean logic?
Boolean logic is the set of relations between tow binary variables, that is, variables that can only take two possible values: true or false. Binary, a.k.a boolean, variables are very important within the context of digital electronic circuits because they are the basis to understand how digital electronic circuits work and also microcontrollers, microprocessors and programming in general.
What kind of instructions are available in Facilino

Relational operators
They allow stablishing the relation between to variables (any numeric type but Strings).
They allow us to set relations such as: equal to, non-equal to; lower than; lower or equal than; greater than; greater or equal than.
The result of comparing two numbers in a logic relational operation returns true or false depending on the compared numbers and the operation selected.
Binary operators
Facilino allows you to work with Boolean operations using to binary operands as inputs A and B, with values true (T) or false (F). Based on the Boolean operator selected, the resulting output will be different:
| Operand A | Operand B | Operation «AND» | Operation «OR» | Operation «OR Excl.» | Operation «OR Non-Excl.» | Implication |
|---|---|---|---|---|---|---|
| F | F | F | F | F | T | T |
| F | T | F | T | T | F | T |
| T | F | F | T | T | F | F |
| T | T | T | T | F | T | T |
Negation
Negation allows you to obtain the opposite value of a binary variable, which means that is a variable is true, the negation will return false and vice-versa.
True/False Constants
«True» or «False» constants can be used in the same ways as any binary variable, with the difference that they always return «true» or «false», can’t be changed.
Examples
Example 1
In this example, we implement a basic logic operation based on an AND operation between two input values, corresponding to readings of push-buttons connected to digital inputs D2 and D3 of Arduino Nano. If both buttons are pushed, the built-in LED will be ON, otherwise, will be OFF.
Example 2
In this second example, we show how to use relational operators. In particular, we compare a secret number (random) with the one obtained through the console input. If both numbers are equal, then we show a congratulation message, otherwise, we invite the user to try it again.[:]