Para ponerlos en práctica y observar cómo funcionan no hay más que utilizar el programa semaforo12.sb (clic para descargar), en el cual hay varios objetos que simulan un semáforo. Cada uno de ellos solamente depende de una variable asociada, que será la que indique si la luz se vuelve gris o de color.
Todo ello se controla desde el escenario, donde hay un programa principal que a su vez llama a un bloque creado por el usuario, de cara a reducir la extensión del programa.
NOTAS IMPORTANTES SOBRE LOS BLOQUES NUEVOS
- Tanto los bloques como las variables que crea el usuario no deben contener tildes (acentos), espacios, ni caracteres extraños (?¿!¡();&$%@), puntos ni comas
- Se puede poner texto adicional tras los bloques de entrada, haciendo clic en opciones:
Para nuestro programa queda de la siguiente manera:
El programa funciona de tal manera que existe la siguiente codificación:
1 - SI - TRUE - VERDADERO - ON - ALTO - ENCENDIDO ( COLOR )
0 - NO - FALSE - FALSO - OFF - BAJO - APAGADO ( GRIS )
Se trata de un tipo de codificación más o menos universal en cuanto a lenguajes de programación, por lo que será la que utilicemos. Como truco para recordarla:
el 1 se parece a la I de SI
el 0 se parece a la O de NO
Según el valor de cada variable de los diferentes colores sea 1 o 0, el disfraz será el de encendido o apagado respectivamente para cada círculo. Desde el programa principal se indicarán las opciones de iluminación que, pasando por el nuevo bloque, se traducirán en valores de las variables para coordinar los objetos círculos.
Pero todo esto queda dentro de mBlock. El objetivo es sacarlo al exterior. Para ello, tenemos el programa semaforo.sb2 (clic para descargar).
En él desaparecen los objetos, puesto que el resultado se manda a unos LEDs conectados a la placa
El resultado final es el siguiente
Finalmente, con la misma configuración, podemos hacer que la instrucción de encendido no sea repetitiva, sino interactiva con el exterior. Por ejemplo, utilizando un sensor de ultrasonidos como el siguiente:
que apoyado con el programa semaforoDistancia.sb2 (clic para descargar) permite distinguir cuándo un objeto está a más de 60 cm (verde), entre 60 y 30 cm (ambar) o a menos de 30 cm (rojo) según el color que vayan tomando los LEDs (las medidas pueden cambiarse en el programa). Como ejemplo está el siguiente video:
Autor: Francisco Javier Bastante Flores



