Comandos básicos

MOVIMIENTO

Cuando arrastramos el bloque de movimiento hasta la línea de ejecución se abre en la parte inferior la ventana de propiedades, que tiene el siguiente aspecto:

En estas propiedades podemos modificar los parámetros que transferirá el microcontrolador a los motores actuadores, y que son los siguientes:

Para seleccionar a qué motores se le aplica el movimiento.

Indica en qué dirección girará el motor o los motores.

Cuando hay dos motores, esta opción permite que uno de ellos gire más rápido que el otro por ejemplo, para describir una curva.

Con el control de potencia, en realidad lo que se determina es la velocidad de giro, expresada en tanto por ciento.

Podemos fijar durante cuántas vueltas de motor se mantendrá el movimiento. Pulsando en el triángulo se puede modificar para tener un giro ilimitado, para que el motor gire un determinado ángulo o para que el movimiento tenga una duración en segundos.

Con esta última opción se determina si al detenerse, el motor va a frenar bruscamente o si va a tener un frenado suave, como si tuviera un muelle.

GRABACIÓN/REPRODUCCIÓN

En este caso, podemos realizar una programación gestual en la que se irán grabando los movimientos que realice el robot. Esto significa que tendremos que provocar el desplazamiento arrastrándolo. En la práctica 11 de la paleta común se aplica este método.

SONIDO

El ladrillo contiene un altavoz con un control muy básico y de baja calidad, pero suficiente para emitir señales y sonidos de ocho bits, que es la calidad que tenían los juegos de ordenador muy antiguos. Cuando seleccionamos la función sonido, la ventana de propiedades es la siguiente:

Y ahora, las opciones del sonido son:

Se puede reproducir un sonido, que se selecciona entre los que nos ofrece el programa:

Con esta opción se puede elegir una nota y su duración:

Con esta opción tenemos la oportunidad de detener un sonido que se esté repitiendo en un bucle, y que se está repitiendo al activarse la opción Repetir:

Cuando no se activa la opción repetir, se puede obligar al programa a que espere hasta que se haya acabado de reproducir el sonido, mediante la opción Esperar hasta finalización:

El control de volumen, evidentemente, modifica el volumen del sonido mediante el porcentaje entre 0 y 100.

VISUALIZACIÓN

De forma similar a la reproducción de un sonido, la pantalla LCD de cristal líquido es capaz de mostrar una imagen en blanco y negro de entre las formas simples de que dispone el programa.

Al igual que en el caso del sonido, tenemos la opciónde seleccionar una imagen, un texto que escribamos, un objeto (punto, línea o círculo) o borrar la pantalla.

ESPERA

Con este grupo de funciones se detiene la ejecución del programa durante un tiempo determinado o bien hasta que se un sensor produzca una señal. Cuando se coloca el cursor sobre el icono se despliega una ventana de la que seleccionaremos la condición que limitará la espera:

Los condicionantes son los siguientes:

El control de tiempo provoca la detención durante el tiempo que fijemos en la ventana de propiedades:

En este caso el programa espera hasta que se produzca la señal del sensor de contacto. En la ventana de propiedades podemos seleccionar que la reanudación se produzca cuando se pulsa el sensor, cuando se libera  o cuando después de ser pulsado se libera:

Para las condiciones del sensor de luz, las posibilidades son aún mayores:

No sólo podemos definir el umbral de luz, es decir, el valor en porcentaje que activará el sensor. También podemos hacer que la señal se produzca cuando la luz sea más intensa (>) que ese umbral o cuando sea menos intensa (<):

Si el sensor necesita una iluminación auxiliar para medir el reflejo en la superficie que analiza se puede activar la función de generar luz:

El sensor de sonido es totalmente análogo al sensor de luz, activándose cuando el nivel sea superior o inferior a un umbral:

El sensor de ultrasonidos es un sonar, que emite un sonido y analiza cuánto tarda en volver el eco. De esta forma detecta la distancia a la que se encuentra un obstáculo.

La ventana de propiedades adquiere este aspecto:

El sensor tiene un ángulo de detección limitado a un máximo de 90°, pero a partir de 60° empieza a dar errores. De todas formas, es un sensor poco fiable, y hay que calibrar la distancia a la que queremos que se active la señal.

Como hay otros sensores, y Lego es una empresa en evolución, se puede seleccionar otro tipo de sensores manteniendo pulsado el pequeño triángulo que hay al lado del tipo de sensor, y tras seleccionarlo, la ventana de propiedades adquiere las características del sensor correspondiente:

BUCLES

Ya conocemos la repetición de un grupo de órdenes indefinidamente o durante un número de veces fijo:

Las órdenes que se repetirán deben ser arrastradas al interior de la figura:

Si seleccionamos la opción Tiempo, podemos decidir que el bucle se repita durante un tiempo indicado en segundos, y si seleccionamos Sensor, hasta que un sensor dé una señal. En este caso, se modifica el símbolo en la línea de órdenes, y la ventana de propiedades funciona exactamente igual que en las órdenes de espera:

BIFURCACIONES

Estas son las funciones condicionales que también conocemos, y aquí reciben ese nombre porque gráficamente aparecen dos caminos bifurcados en la línea de comandos. En este caso, que el programa continue ejecutando un camino u otro está condicionado a que se produzca o no la señal de un sensor.

EJECUCIÓN SIMULTÁNEA

Cuando se deben realizar dos acciones a la vez hay que colocar la segunda acción sobre la línea principal, y después colocar el cursor sobre la línea de programación hasta que deja de tener la forma de flecha. En este momento, manteniendo pulsado el botón izquierdo del ratón, se arrastra el círculo hasta el bloque que queramos unir:

PRÁCTICAS

Todas estas órdenes básicas se practican con las 20 prácticas de la Paleta común en la que, en cada práctica, disponemos de una presentación de lo que vamos a conseguir, una guía de construcción con indicaciones de cómo unir las piezas básicas para completar los sensores necesarios y una guía de programación, en la que se muestra, paso a paso y de forma muy clara, cómo se van añadiendo bloques para crear el programa: