Sintaxis de la sentencia if con Arduino
La sintaxis de la sentencia if con Arduino es muy sencilla. Comenzamos escribiendo la
palabra reservada if (en español se traduce como si condicional). Luego entre paréntesis
ponemos la condición y por último abrimos y cerramos las llaves.
La condición es la que hará que se ejecute el código que hay entre las llaves. Si es
verdadera, el flujo del código de Arduino entrará dentro de las llaves y ejecutará todo lo
que hay dentro.
Dentro de los paréntesis irá la condición o sentencia condicional. Es algo que puede ser
evaluado como verdadero o falso (en inglés es true o false).
Estas condiciones se llaman booleanas debido al gran matemático inglés George Boole
creador de la lógica booleana. Con esta lógica sólo hay dos estados posibles 0 o 1 que
equivalen a falso (false) y verdadero (true).
--------------
Operadores de comparación en sentencias if con Arduino
Realmente, para que algo sea verdadero o falso necesitamos compararlo con algo. Lo típico
es utilizar la sentencia condicional if con Arduino con números pero se pueden utilizar otro
tipo de datos.
Podemos comparar temperatura, presión atmosférica, radiación ultravioleta, tiempo,
intensidad, voltaje, nivel de agua y cualquier magnitud susceptible de ser medida
Lo único que hacemos es comparar dos valores y evaluamos si es verdadero o falso. Para
poder comparar se utilizan los operadores de comparación.
Con la sentencia if con Arduino se pueden utilizar 6 operadores de comparación:
Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
== Igual a
!= Diferente a
Operador de comparación mayor que (>)
Siempre que el número a la izquierda sea mayor que el número a la derecha la condición de
la sentencia if con Arduino es verdadera. En caso contrario es falsa.
50>10 -> verdadero
15>80 -> falso
Operador de comparación menor que (<)
Siempre que el número a la izquierda sea menor que el número a la derecha la condición de
la sentencia if con Arduino es verdadera. En caso contrario es falsa.
10<50 -> verdadero
80<15 -> falso
Operador de comparación mayor o igual que (>=)
Siempre que el número a la izquierda sea mayor o igual que el número a la derecha la
condición de la sentencia if con Arduino es verdadera. En caso contrario es falsa.
50>=50 -> verdadero
50>=49 -> verdadero
15>=90 -> falso
Operador de comparación menor o igual que (<=)
Siempre que el número a la izquierda sea menor o igual que el número a la derecha la
condición de la sentencia if con Arduino es verdadera. En caso contrario es falsa.
50<=50 -> verdadero
49<=50 -> verdadero
90<=15 -> falso
Operador de comparación igual a (==)
Siempre que el número a la izquierda sea igual que el número a la derecha la condición de
la sentencia if con Arduino es verdadera. En caso contrario es falsa.
20==20 -> verdadero
15==20 -> falso
Operador de comparación diferente a (!=)
Siempre que el número a la izquierda sea diferente que el número a la derecha la condición
de la sentencia if con Arduino es verdadera. En caso contrario es falsa.
20!=10 -> verdadero
10!=10 -> falso
Programa IF
int lampara1 = 7;
int lampara2 = 8;
int boton1 = 4;
void setup() {
pinMode(lampara1,OUTPUT);
pinMode(lampara2,OUTPUT);
pinMode(boton1,INPUT);
}
void loop() {
int valor = digitalRead(boton1);
if (valor < 1){
digitalWrite(lampara1, HIGH);
}
if (valor > 0){
digitalWrite(lampara2, HIGH);
}
digitalWrite(lampara1, LOW);
digitalWrite(lampara2, LOW);
}
Programa IF ELSE
int lampara1 = 9;
int lampara2 = 8;
int boton1 = 4;
void setup() {
pinMode(lampara1,OUTPUT);
pinMode(lampara2,OUTPUT);
pinMode(boton1,INPUT);
}
void loop() {
int valor = digitalRead(boton1);
if (valor < 1)
{
digitalWrite(lampara1, HIGH);
}
else {
digitalWrite(lampara2, HIGH);
}
digitalWrite(lampara1, LOW);
digitalWrite(lampara2, LOW);
}
Programa IF IF
int lampara1 = 7;
int lampara2 = 8;
int lampara3 = 9;
int boton1 = 4;
int boton2 = 5;
void setup() {
pinMode(lampara1,OUTPUT);
pinMode(lampara2,OUTPUT);
pinMode(lampara3,OUTPUT);
pinMode(boton1,INPUT);
pinMode(boton2,INPUT);
}
void loop() {
int ON = digitalRead(boton1);
int valor = digitalRead(boton2);
if (ON > 0)
{
digitalWrite(lampara1, HIGH);
if (valor > 0) { digitalWrite(lampara2, HIGH); }
}
if (ON < 1) { digitalWrite(lampara3, HIGH);}
digitalWrite(lampara1, LOW);
digitalWrite(lampara2, LOW);
digitalWrite(lampara3, LOW);
}