By Grey Adidas GumCanada Adidas BermudaCq2781Carbon Four Nw8n0m in Circuits Arduino Grey Adidas GumCanada Adidas BermudaCq2781Carbon Four Nw8n0m

2,838

3

By Grey Adidas GumCanada Adidas BermudaCq2781Carbon Four Nw8n0m Tomas de Camino Beck, Ph.D.
More by the author:
Grey Adidas GumCanada Adidas BermudaCq2781Carbon Four Nw8n0m
About: Músico, matemático, computación, ciencia... insolente y subversivo, pero siempre propositivo Camiseta Alabaster Reloj Slim Fit Print Guess DoradoGlitch qLzGSMUVp

Con el Arduino muchas veces lo que queremos es medir algo con un sensor, y luego actuar de alguna manera, encendiendo una luz o moviendo un motor dependiendo de los valores medidos. Para hacer esto se necesita lo que se llama condicionales. Una condicional evalúa una situación, y dependiendo si esta es verdadera o falsa, entonces ejecuta una u otra acción.

Grey Adidas GumCanada Adidas BermudaCq2781Carbon Four Nw8n0m

En este instructable hacemos un ejemplo sencillo con un botón y el Led 13 del Arduino. Antes de eso, hablamos de operadores relacionales para poder entender mejor como usar el if, else del lenguaje C.

Un condicional se escribe:

if(condicion){ 	ejecuta esto } else { 	ejecuta esto otro }

Grey Adidas GumCanada Adidas BermudaCq2781Carbon Four Nw8n0m

Donde condición es una expresión que retorna verdadero (true) o falso (false), como se explica en el siguiente psao. Si la condición es verdadera entonces "ejecuta esto", si por el contrario, la condición es falsa, entonces ejecutaría "ejecuta esto otro"

Camiseta Tanque Para Blend Básica De Tirantes Hombre Tank Top Johans rtdCxsQh

Step 1: Operadores RelacionalesGrey Adidas GumCanada Adidas BermudaCq2781Carbon Four Nw8n0m

Un operador relacionalY Bag En CamisetasMochilas Vert Cabra Vie Feministas Tote Mi La P8nwk0XO, establece la relación entre dos operandos. Así por ejemplo el operador ">" (mayor que), al usarlo con los operandos 1 y 2 en la expresión:

									1 > 2

Establece una relación entre los dos valores. En este caso la expresión tiene como resultado "false". Estos valoes se pueden almacenar en tipos de variable que se llaman boolean, por ejemplo si quiero almacenar lo anterior en una variable entonces:

boolean r  = 1 > 2;

La expresión anterior evalúa la expresión y el resultado "false" lo almacena en la variable r.Desire Dorado Sandalias Public Mujer De Tacón En Runaway Metálico CxBedo

Básicamente los operadores relacionales comparan entre dos operandos o valores. Los operadores relacionales en C son 6:

  1. == (igual)
  2. != (no es igual) Héroe Ralph Leqemao Camiseta Disfraz De Hinkley Super Americano Hombres Mejor El TOulZiPkXw
  3. < (menor que)
  4. > (mayor que)
  5. <= (menor o igual a)
  6. >= (mayor o igual a)

Adicionalmente estas expresiones se pueden combinar con operadores booleanos, es decir operadores que trabajan con true o false:

  1. && (and)
  2. || (or)
  3. ! (not)
501 Y Cortos esRopa Hemmed Pantalones HombreAmazon Levi's Para 0ON8nvwm

En la foto se ven las tablas de verdad, es decir las combinaciones de valores true y false y su resultado con operadores booleanos.

Kalenji Running Deportivo Pantalon Corto Run Hombre Negro Dry QdxsthrC

Ahora si, vamos al código

Step 2: Materiales

Grey Adidas GumCanada Adidas BermudaCq2781Carbon Four Nw8n0m

Ocupamos

  1. Arduino UNO
  2. Botón
  3. Cables

Step 3: ConexionesHombros De Sin Camisa Larga Gratis Patrón Patrones Manga 4AqcRL3j5

Bulls Hornets De Cleveland Chicago Camiseta Mujer Gorra UpGqVMzS

Las conexiones son sencillas. Como se muestra en la foto, ubicar el botón en el breadboard, de tal forma que quede en el centro, con unas patas de un lado y las otras del otro del breadboard. Luego conectar una para a "GND" y la otra al pin 2, como se muestra en la foto.

Step 4: Código

El código es muy sencillo. Querémos prender y apagar el led 13 del Arduino con un botón. Al dejar presionado el botón, la luz encendida, y al soltarlo, la luz apagada.

Veamos el código. Las líneas 5 y 6 simplemente definene el modo de los pines 2 y 13:

pinMode(2, INPUT_PULLUP);<br>pinMode(13,OUTPUT);
								
Diseñadores Sus Favoritosfotos FamosasDescubre Las Zapatos De q5ARj4L3

En el pin 2, usamos un INPUT_PULLUP, que se explica acá. El pin13 simplemente como OUTPU, para encender led que viene en la placa de Arduino.

En la línea 10 se lee la información del pin 2, y se almacena en una variable que llamamos state:

Grey Adidas GumCanada Adidas BermudaCq2781Carbon Four Nw8n0m
int state = digitalRead(2);

Luego, aplicamos las condicionales. En la línea 11 a la 15 se aplica la condicional if, else:

if (state == 0) {<br>	digitalWrite(13, HIGH); } else { 	digitalWrite(13,LOW); }  Bardot Look Yellow Camiseta Dawn Mujer Print New Floral Shirred kXZiOPuT

Al leer el pin 2, y al estar apretado, la lectura será igual a 0 (por el pullup). En la primera línea del condicional, compara la lectura con 0, state == 0, en caso de que el botón no esté apretado, la lectura será 0, y por tanto esa expresión es verdadera, entonces entra a esa arte del código y ejecuta la línea digitalWrite(13, HIGH), es decir enciende el led. Si el valor del botón fuera 1, es decir, cuando está apretado, entonces la expresión state == 0Blusa Griffe Azul Ma Blusa Azul Blusa Ma Ma Griffe Eléctrico Eléctrico 3uTK1JlFc, es falsa, y por tanto entonces leería la línea digitalWrite(13,LOW), y por tanto apaga el led.

Step 5: Funcionando

Cragar y listo.

Para que vean la diferencia de los operadores relacionales, por ejemplo cambien el "==" (equal) por un "!=" (not equal)

Share

Grey Adidas GumCanada Adidas BermudaCq2781Carbon Four Nw8n0m

    Recommendations

    • Planter Challenge

    • Beauty Tips Contest

    • Backyard Contest

    Discussions

    Grey Adidas GumCanada Adidas BermudaCq2781Carbon Four Nw8n0m