Explicación paso a paso:
SCRATCH 308 S4A MOTOR COCHE PROGRAMACION AVANZADA
En nuestro ejercicio anterior:
http://www.rom.cat/Scratch/detalle.php?Id=75
Montamos un Arduino en un chasis motorizado:
Este era el código para mover el coche con las flechas del teclado:
En esta ocasión, modificaremos nuestro código para hacer que, tras mover nuestro vehículo con las flechas del teclado, este guarde en una variable la ruta realizada. Para después repetirla al pulsar la bandera verde.
En primer lugar, limitaremos a un segundo el movimiento realizado con las teclas.
Este es el código:
A continuación, crearemos la variable "Ruta" que, al empezar, tendrá el valor "0"
Cada vez que realicemos un movimiento, añadiremos al final de la variable una letra que indicará que movimiento hemos hecho:
A = Adelante, D = Derecha, I = Izquierda:
Para probarlo, hacemos un movimiento.
La Variable ha recogido el siguiente valor:
Adelante, Adelante, Derecha, Adelante...
Creamos la variable "Direccion"
En ella pondremos cada una de las diferentes letras que hay dentro de la variable "Ruta" una a una, por orden.
Imaginemos que queremos que el vehículo tome la dirección que indica la letra segunda de la variable Ruta = a
Para ello, escribiremos la siguiente línea:
Y añadiremos los siguientes condicionales para que obedezcan lo que hay escrito en "Direccion"
Si queremos que el coche tome la dirección del segundo paso de "Ruta" Deberíamos poner:
...y así hasta el final.
Para automatizar este cambio de letra crearemos la variable "Posicion"
Esta variable irá aumentando una unidad a cada paso de un bucle:
Hasta llegar al tamaño total de la variable Ruta.
Por tanto, el bucle debe funcionar mientras "Posicion" Sea menor que la longitud de "Ruta"
Y a cada vuelta del Bucle, la variable "Direccion" tendrá como valor la letra de la variable "Ruta" que esté en la posición que indique la variable "Posicion"
La Cosa quedará:
Al final, añadiremos este otro código:
Para que el vehículo se pare al finalizar la ruta.
Y añadiremos estas líneas a la flecha abajo:
Para que todas las variables se pongan a 0 cuando nos interese.
Video Resumen