Mover 'indefinido' no es indefinido.

Iniciado por Jetro, 12 de Enero de 2010, 18:26:57 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Jetro

He visto esta pregunta varias veces y también la he contestado, pero me parece buena idea tenerla aquí disponible y explicada por si a alguien le vuelve a entrar la duda.

¿Porqué si pones un simple bloque mover (un bloque motor en NXT-G) y lo configuras para que el motor gire indefinidamente (unlimited) el motor se para al cabo de aproximadamente un segundo?

Tan común es la pregunta que Steve Hassenplug ha dedicado una página en su web al problema:
Supón que has hecho esto:



o esto:



Pues el motor parará enseguida. ¿Porqué? Bueno, NXT-G tiene la (buena) costumbre de parar los motores cuando se acaba el programa, y como en este caso nada más encender los motores el programa se terminó... parará el motor.
¿Cómo solucionarlo? sencillo: añadir una acción después del bloque motor. Por ejemplo:



Asegurate de usar un bloque naranja ya que los bloque amarillos solo hacen una lectura de un determinado sensor pero no responden a esa lectura.

Jero

... que torpe soy...  :-\
Tuve que hacer un programa bastante más complejo para solucionar este problema.

Gracias por la info.

Blastem

Y uno que está acostumbrado a while(1)...  xD   xD   xD

Tengo unas ganas locas de tener Mindstorms  :_(  :_(  :_(

Gracias por el aporte!!!

Jetro

Usar while equivale a colocar el bloque en un bucle  :guino:

jig

Gracias Jetro, muy interesante. Creo que a alguien ya le habia pasada y aunque he estado 'en hiato' estas Navidades con el NXT (pronto vereis por qué...  o_o) espero retomarlo pronto. Hasta ahora sólo he montado la base ...