La potencia sin control…
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, tambien vale) conquiste el mundo! (o bueno, lo deje bien limpito).
¡Vamos alla!
Hoy necesitarás:
- 1 x ZumBloq LED
- 1 x ZumBloq Sensor de luz
- 1 x ZumBloq Pulsador
- Una placa controladora ZUM BT 328 o compatible con Arduino UNO
- Un cable USB
El bloque si…ejecutar
Aprendiendo lo que es una sentencia condicional
Un momento, no tan rapido. ¿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 traeran regalos. Si no recoges tu habitación, tu madre te castigará. Si presiono el botón, el LED se encenderá.
Ya hemos usado este bloque durante el curso en multitud de ocasiones ¿recuerdas?, y es que es un bloque fundamental que nos permitirá decirle a nuestro programa cuando debe suceder una cosa y cuando otra.
¿Cómo funciona? Veamoslo 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 zumbloq LED y tu zumbloq Pulsador a tu placa siguiendo el siguiente esquema:
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:
Recuerda que dependiendo del típo de pulsador que tengas, al estar presionado puede tener un valor de 1 o 0. Si posees uno de nuestros kits de robótica, al presionar el botón su valor valdrá 0.
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 ésto? Fijate 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. Está opción te permite añadir más condiciones despues 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í, quiza 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
¡Ríete tú del iphone! ¡Manos a la obra! Lo primero será realizar nuestras conexiones en la placa:
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 tí mismo? Verás como 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 ésto:
Pronto veremos con más detalle las operaciones lógicas, pero en el caso de que quieras dentro del bloque Si…ejecutar que se cumpla más de una condición, como por ejemplo, que el pulsador esté presionado y la luz sea menor que 30 puedes hacerlo de la siguiente forma:
¿Qué te parece? Puede que tengas dudas de cuando usar el bloque. ¡No te preocupes! ¡La práctica hace al maestro! Pronto descubriras que cuando quieras programar algo, sabrás exactamente como hacerlo. Y el bloque Si… ejecutar será tu mejor aliado.