EJEMPLOS

ICONO "RANGE"

Tutorial Icono Timer de LEGO Mindstorm NXT


down-amarillo-flecha

¿PARA QUE SIRVE? ¿CUANDO USARLO?


Este icono nos dice si un determinado número está entre (o fuera de) dos números A y B prefijados, para que luego podamos actuar en consecuencia. Suele ser útil cuando tenemos un amplio conjunto de números posibles.


Por ejemplo, si tiramos un dado, hay solo 6 opciones posibles. En este caso se puede usar el icono "Switch" sin más. En cambio, si lo que queremos es encender unos motores según la cantidad de luz ambiente, tendremos que incorporar el icono "Range" antes del icono "Switch", ya que el sensor de luz nos puede dar un valor entre 0 y 1023.


De esta forma, le podemos decir: cuando la luz esté entre 0 y 300, enciende el motor A; cuando esté entre 301 y 600, enciende el motor B; y cuando esté entre 601 y 1023, el C. Es decir, es habitual combinarlo con el "Switch". Con los ejemplos se entenderá mejor.


EJEMPLOS DE USO


EJEMPLO 1


Queremos saber si un determinado número está entre 25 y 75. Como primer ejemplo, elegimos el número 50. Ese número lo escribimos en el panel de configuración en el "Test Value". Como lo que queremos saber es si el número está entre esos dos números, elegimos la opción "Inside Range".


Ejemplos del Icono Range de LEGO Mindstorm NXT

Como efectivamente el 50 está entre 25 y 75, nada más ejecutes el programa, pitará y finalizará, ya que se ha cumplido la condición.


EJEMPLO 2


Modifica el programa anterior y selecciona "Outside Range". Ahora está contrastando si el 50 está fuera del intervalo entre 25 y 75. Como esto NO es cierto, la condición no se cumple y se queda constantemente encerrado en ese bucle: nunca finaliza.


EJEMPLO 3


Todo esto está muy bien para entenderlo, pero no resulta demasiado útil. Demos un paso más. Ahora introduciremos el valor a comparar (el 50) desde fuera, usando el icono "Constant".


Ejemplos del Icono Range de LEGO Mindstorm NXT

EJEMPLO 4


Podemos ahora juntar todo esto en un programa con un poco más de sentido. Aquí elegimos un número al azar entre 0 y 100. Si el número que sale está entre 20 y 40 (inside), suena un tono agudo. Si está entre 41 y 60 (inside), suena un tono medio. Si está fuera del intervalo entre 20 y 60 (outside), suena un tono grave. Al final, el programa queda a la espera de pulsar el botón naranja para seguir.


Ejemplos del Icono Range de LEGO Mindstorm NXT

Algunos de los paneles de configuración de los iconos son estos:


Ejemplos del Icono Range de LEGO Mindstorm NXT

EJEMPLO 5: UN JUEGO


No solo podemos seleccionar desde fuera el valor que queremos comparar. También podemos decirle entre qué valores (A y B) queremos que compare.


Ejemplos del Icono Range de LEGO Mindstorm NXT

Esto puede ser útil en el caso de que queramos modificar los márgenes, el intervalo. Vamos a programar un pequeño juego para explicarlo y que te puedes descargar a continuación, pulsando sobre el icono, ya que es demasiado largo para escribirlo todo.


El juego te pide que selecciones modo fácil o difícil con las flechas del NXT. Luego te pide que pulses ENTER, el botón naranja del NXT. Cuando oigas un pitido, cuenta 10 segundos y cuando creas que han pasado, pulsas el botón naranja de nuevo para ver el resultado.


Descargar Programa Range

El primer nivel de dificultad, el fácil, te permite pasar la prueba si has pulsado entre los 8 y los 12 s. El nivel difícil, solo te permite acertar si pulsas entre los 9 y los 11 segundos. El "núcleo duro" para programar los niveles de dificultad lo has visto en la imagen anterior, al principio de este ejemplo 5.


Al final del juego aparece el tiempo real que has tardado. Podrías modificar los tiempos de estos niveles o añadir un modo "extradificil" con tiempos más cortos en el margen de acierto, sin que aparezca el tiempo que has empleado en pantalla, o incluso intentando acertar cuándo ha pasado 1 minuto.


Si no entiendes bien el funcionamiento del cronómetro que aparece en el programa, recuerda que tienes un tutorial sobre el Icono Timer.


OTROS USOS


Existen infinidad de ejemplos en los que se puede usar el Range. Así de memoria, lo he usado en un programa en la sección digital, en 8 LEDs y un potenciómetro. Allí, tienes el programa explicado, para que veas otro ejemplo.


Es un tanto complicado si no estás familiarizad@, pero básicamente lo que hace es encender 1 LED (de 8 posibles) según el valor de un potenciómetro. Este valor puede variar entre 0 y 1023. Si está entre 0 y 64 (range en modo inside), se enciende el led 1. Si está entre 65 y 127, el led 2, etc. Te adjunto el mismo video que ya puse allí para que veas la idea.





.