Hola,
Tras varios dias trabajando con el mBot Ranger, me encuentro con la siguiente problemática.

Si hago un robot que detecte objetos, y por ejemplo uso el siguiente algoritmo... simplemente sólo avanza cuando detecta algo.
58371af1412d4.png

Si hago algo parecido sobre el scratch las variables se muestran correctamente y el flujo del programa es el normal.
58371b07e7219.png

Qué esta pasando??

Hola, Tras varios dias trabajando con el mBot Ranger, me encuentro con la siguiente problemática. Si hago un robot que detecte objetos, y por ejemplo uso el siguiente algoritmo... simplemente sólo avanza cuando detecta algo. ![58371af1412d4.png](serve/attachment&path=58371af1412d4.png) Si hago algo parecido sobre el scratch las variables se muestran correctamente y el flujo del programa es el normal. ![58371b07e7219.png](serve/attachment&path=58371b07e7219.png) Qué esta pasando??

En cambio si meto todo en un bucle infinito si va...

583720f8d2279.png

En cambio si meto todo en un bucle infinito si va... ![583720f8d2279.png](serve/attachment&path=583720f8d2279.png)

Para no perderte con scratch recomendamos leer instrucción por instrucción y tratar de pensar cómo las ejecuta scratch, una por una.

Por tanto en el siguiente ejemplo que has puesto:

58371af1412d4.png

  • Primer fijas una variable y las luces en verde claro.
  • Luego el programa se queda esperando hasta que detecte que la distancia es menor que 20 cm

  • Cuando la detecta, el robot se pone en marcha de forma indefinida y se acaba el programa y por tanto el mBot ya no vuelve a quedarse en espera porque despúes no hay ninguna instrucción que le indique que tiene que seguir ejecutando algo

En cambio en el siguiente que has hecho te funciona porque todo el conjunto está dentro de un bucle que se repite por siempre

583720f8d2279.png

Otra forma de usar el sensor de ultrasonidos:

583b1b46756f5.png

Para no perderte con scratch recomendamos leer instrucción por instrucción y tratar de pensar cómo las ejecuta scratch, una por una. Por tanto en el siguiente ejemplo que has puesto: ![58371af1412d4.png](serve/attachment&path=58371af1412d4.png) - Primer fijas una variable y las luces en verde claro. - Luego el programa se queda esperando** hasta que detecte que la distancia es menor que 20 cm** - Cuando la detecta, el robot se pone en marcha de forma indefinida y **se acaba el programa** y por tanto el mBot ya no vuelve a quedarse en espera porque despúes no hay ninguna instrucción que le indique que tiene que seguir ejecutando algo En cambio en el siguiente que has hecho te funciona porque todo el conjunto está dentro de un bucle que se repite **por siempre** ![583720f8d2279.png](serve/attachment&path=583720f8d2279.png) ### Otra forma de usar el sensor de ultrasonidos: ![583b1b46756f5.png](serve/attachment&path=583b1b46756f5.png)

Hola, desde mi punto de vista y habiendo programado con otros robots baseados en Arduino, no tiene sentido ninguno su funcionamiento (con otros sigue la lógica dle programa).

En realidad si se lee el código línea a línea, primero fijo las luces a verde claro, luego el programa ejecuta lo de dentro del bucle hasta que se produzca la condición de salida (pone repetir hasta que), es decir, ejecuta lo de dentro de bucle hasta que se produzca la situación de salida (distancia <20). y luego acaba el programa.

Si se mete ese mismo bucle dentro de un por siempre, funciona correctamente,

Hola, desde mi punto de vista y habiendo programado con otros robots baseados en Arduino, no tiene sentido ninguno su funcionamiento (con otros sigue la lógica dle programa). En realidad si se lee el código línea a línea, primero fijo las luces a verde claro, luego el programa ejecuta lo de dentro del bucle hasta que se produzca la condición de salida (pone repetir hasta que), es decir, ejecuta lo de dentro de bucle hasta que se produzca la situación de salida (distancia <20). y luego acaba el programa. Si se mete ese mismo bucle dentro de un por siempre, funciona correctamente,
850
vistas
3
respuestas
2
seguidores
vista previa (en vivo)
introduzca al menos un 10 caracteres
Advertencia: Mencionaste a %MENTIONS%, pero ellos no pueden ver el mensaje y no serán notificados
Guardando...
Guardado
Todos los posteos de este tema serán borrados ?
Borrador pendiente ... Click para continuar editando
Descartar borrador