logica-bitbloq

Si es igual y/o distinto de no verdadero…

Hoy vamos a aprender como funcionan los bloques de la pestaña Lógica.

pestañalogica

Hay cuatro bloques con distintas opciones cada uno. ¡Veamos en que consisten!

Para realizar los ejemplos de hoy, necesitarás:

  • 1 x ZumBloq LED
  • 1 x ZumBloq Potenciómetro
  • 1 x ZumBloq Zumbador
  • 1 x ZumBloq Pulsador
  • 1 x ZumBloq Sensor de luz
  • Una placa controladora ZUM BT 328 o compatible con Arduino UNO
  • Un cable USB

El bloque de comparación

bloquecomparacion

Te suena ¿verdad?. Hemos usado este bloque a menudo junto con el el bloque de control Si…ejecutar .

Este bloque devuelve verdadero o falso según las dos entradas sean:

  • = iguales.
  • ≠ distintas.
  • < la primera menor que la segunda.
  • ≤ la primera menor o igual que la segunda.
  • > la primera mayor que la segunda.
  • ≥ la primera mayor o igual que la segunda.

De esta forma, junto al bloque Si…ejecutar podemos establecer condiciones para que nuestro programa haga unas cosas u otras según las condiciones que elijamos. Veamos un ejemplo:

Ejemplo con el bloque de comparación

Hacer que se encienda un LED cuando el valor del potenciómetro sea menor que 500

ejemplodiwopotenciometroled

En caso de que el valor del potenciómetro sea menor que 500, es decir, un valor comprendido entre 0 y 499, el LED se encenderá. En caso contrario, de 500 a 1023 valores (recuerda que el potenciómetro varía sus valores entre 0 y 1023), el LED se apagará.

El bloque Y/O

bloqueand

Este bloque sirve para comprobar varias condiciones al mismo tiempo:

  • Opción Y: Deben cumplirse ambas condiciones para que el valor sea verdadero y la acción se ejecute.
  • Opción O: Al menos una de las dos condiciones debe cumplirse para que el valor sea verdadero y la acción se ejecute.

Vamos a ver un ejemplo para que experimentes la diferencia entre la opción Y y la opción O:

Ejemplo con el bloque Y/O

Hacer que suene el zumbador cuando se cumplan las siguientes condiciones:

ejemplogicaY

En este caso el zumbador sonará solo en el caso de que se cumplan las dos condiciones, es decir: Si la variable luz es menor o igual que 300 y presionamos el pulsador, entonces el zumbador sonará. Si cualquiera de las dos no se cumple, la condición no será verdadera y el zumbador no sonará.

Hagamos una cosa, modifica el programa anterior, y en vez de la opción Y usa una opción O ¿Qué ocurre ahora?

ejemplo2logicaO

Ahora tu zumbador sonará más a menudo, ya que le estamos diciendo al programa lo siguiente: Si la variable luz es menor o igual que 300 o presionamos el pulsador, que el zumbador suene. Es decir, nos vale con que una de las dos condiciones se cumpla. ¿Ves la diferencia?

El bloque verdadero/falso

bloqueverdadero

Este bloque nos devuelve el valor verdadero o falso, para entenderlo lo mejor es que hagamos un ejemplo:

Ejemplo con el bloque verdadero/falso

Hacer un programa que haga que, cuando la luz sea mayor o igual que 300, se encienda el LED y que, de lo contrario, se apague.

Recuerdas este programa ¿verdad?. Hoy vamos a hacerlo un poco diferente:

ejemploverdadero

La variable mucha_luz leerá el valor del sensor de luz y si éste es mayor o igual que 300, la variable tendrá un valor de verdadero, en caso contrario, será falso.

De esta forma podemos comparar el valor de la variable directamente usando el bloque verdadero, si es verdadero significará que habrá mucha luz y el LED se encenderá.

El bloque No

bloqueno

Este bloque nos permite negar una variable o estado, por ejemplo, si al verdadero le ponemos un bloque No:

noverdadero

Decir no verdadero es lo mismo que decir que algo es falso.

Veamos un pequeño ejemplo:

Ejemplo con el bloque No

Hacer un programa que haga sonar el zumbador si el pulsador está pulsado utilizando el bloque No.

Este programa es una versión modificada de otro que realizamos hace tiempo:

ejemplonoverdadero

La variable boton_sin_pulsar será verdadero siempre que el pulsador no esté presionada.

Si queremos que el zumbador suene, nuestra condición es: Si no variable boton_sin_pulsar. Es decir, si la negación de botón sin pulsar es verdadero, o lo que es lo mismo, si el pulsador está presionado, entonces el zumbador sonará.

Como recordaras hay formas mucho más sencillas para realizar este programa, este es solo un ejemplo para que entiendas el funcionamiento del bloque No. En ocasiones negar el valor de una variable te será de gran utilidad.

La lógica es fundamental para que tu programa vaya bien, si te acostumbras a razonar de forma lógica, las cosas empezarán a funcionar como por arte de magia. La diferencia será que tu serás el mago y sabrás exactamente donde está y cómo funciona el truco.

Aún así, siempre que empieces un proyecto, recuerda:

“Hay algo más importante que la lógica: es la imaginación”

Alfred Hitchcock