viernes, 30 de enero de 2015

Programando los bloques de control - El bloque Si… ejecutar

Hoy vamos a aprender a cómo usar los bloques de bitbloq de la pestaña “Control” en concreto el bloque "Si… ejecutar"

¿Qué aburrido no? ¡Todo lo contrario! ¡Estos bloques son la pieza fundamental para que tú nuevo robot-aniquila ciudades (o aspiradora, también vale) conquiste el mundo! (o bueno, lo deje bien limpito).

¡Vamos allá!

Hoy necesitarás:
1 x LED
1 x Sensor de luz
1 x Pulsador
Una placa controladora compatible con Arduino UNO
Un cable USB


El bloque si…ejecutar; aprendiendo lo que es una sentencia condicional

Un momento, no tan rápido. ¿Una sentencia condicional? ¿Qué es eso?

Una sentencia condicional es una condición, algo que tiene que cumplirse para que se ejecute una parte del programa.

Es muy sencillo, por ejemplo: Si has sido bueno, los reyes magos te traerán regalos. Si no recoges tu habitación, tu madre te castigará. Si presiono el botón, el LED se encenderá.

¿Cómo funciona? Veámoslo en el siguiente ejemplo:

Ejemplo con el bloque si… ejecutar

Utilizando el bloque Si…ejecutar, hacer que se encienda el LED cuando se pulse el pulsador. En primer lugar, conecta tu LED y tu Pulsador a tu placa en los pines digitales 4 y 8.

Queremos que, al presionar nuestro pulsador, el LED se encienda.

Es decir: Si el pulsador está presionado… el LED se enciende

Por tanto, tenemos que usar el bloque Si… ejecutar, el programa quedará del siguiente modo:


Como puedes observar, al presionar el botón, el LED se enciende, y permanece encendido indefinidamente… y es qué nuestra placa es muy tonta y… ¡solo hace lo que le decimos! tenemos que decirle que ocurre cuando el pulsador no esté pulsado.

¿Cómo podemos hacer esto? Fíjate en el siguiente programa:


Como puedes ver, el bloque “Si …entonces” puede tener más opciones, como “de lo contrario” que se ejecutará cuando no se cumpla la condición, es decir, cuando nuestro pulsador no este presionado. Para añadir la opción de lo contrario pulsa sobre la estrella del bloque y agrégala:
Además existe una opción más dentro de éste bloque, la opción: “en cambio, si”. Esta opción te permite añadir más condiciones después de la primera. Un ejemplo: Si queremos comer tarta, pero no hay tarta, en cambio sí hay helado ¿También nos vale, verdad? ¡Queremos comer helado! ¡Aunque preferimos la tarta! ¡Eso es muy importante! Solo comeremos helado si NO hay tarta.

Vamos a abandonar a nuestro querido pulsador y a hacer un ejercicio con el sensor de luz y la opción “en cambio, si”:

Ejemplo 2 - Hacer que un LED parpadee cuando el sensor de luz detecte poca cantidad de luz, y se encienda cuando este a oscuras

Voy a confesarte una cosa, tengo miedo a la oscuridad. Por las noches no voy al baño por muchas ganas que tenga hasta la mañana siguiente, no me gusta nada no tener luz y andar por ese pasillo, a saber que monstruos acechan por ahí, quizá la profe de mates …

Por eso he decidido ponerme manos a la obra e inventarme una alarma de noche, para no quedarme nunca a oscuras. Estuve hablando con un reputado luminógrafo y, tras muchas discusiones, llegamos a la conclusión de que mi revolucionaria máquina, que cambiaría la infancia de la humanidad, tendría que ser de la siguiente forma:

  • -       Si la cantidad de luz es menor que 100 -> ¡Ay que está muy negro todo! ->ENCIENDE EL LED
  • -       En cambio, si la cantidad de luz es menor que 200, bueno, da un poco de miedo…->EL LED PARPADEA
  • -       De lo contrario, si brilla el sol no te preocupes… ¡Si yo soy muy valiente! ->APAGA EL LED

¡Manos a la obra! Lo primero será realizar nuestras conexiones en la placa (Eh, no te asustes!! La foto es del primo mayor de nuestra placa Arduino UNO, pero las conexiones son idénticas, así como la manera de programarlo):


Recuerda que el sensor de luz es un componente analógico, por lo que tendrá que ir conectado a los pines analógicos de tu placa.

Ahora que lo tienes todo conectado ¿Por qué no intentas programarlo por ti mismo? Verás cómo pronto llegas a la solución. Cuando la tengas, baja más abajo para comprobarlo.

Si todo fue bien deberías haber hecho algo parecido a esto:


¿Qué te parece? Puede que tengas dudas de cuando usar el bloque. ¡No te preocupes! ¡La práctica hace al maestro! Pronto descubrirás que cuando quieras programar algo, sabrás exactamente cómo hacerlo. Y el bloque “Si… ejecutar” será tu mejor aliado.

Hasta pronto!!






No hay comentarios:

Publicar un comentario