En esta tercera parte del tutorial sobre desplazamiento con Lego Spike Prime, aprenderemos a programar el robot para que se mueva una distancia concreta en línea recta, utilizando centímetros como unidad de medida. Esta técnica permite una mayor precisión que el desplazamiento por tiempo, visto en la entrega anterior.
1. Preparación del bloque
El primer paso es crear un bloque nuevo en el entorno de programación de Spike Prime. Este reemplazará al anterior, que controlaba el movimiento por tiempo. En este nuevo bloque introduciremos dos variables clave: la distancia a recorrer (en centímetros) y la velocidad de desplazamiento (en porcentaje).
2. Ajuste inicial del motor
Accedemos a los bloques de motores para fijar su posición en cero. Esto es fundamental, ya que necesitaremos saber cuántos grados ha girado el motor para calcular el desplazamiento. También debemos tener en cuenta la disposición de los motores: al estar montados en lados opuestos, uno girará en sentido horario y el otro antihorario. Esto afectará al cálculo del movimiento y a la condición de parada.
3. Cálculo de la circunferencia de la rueda
Creamos una variable llamada circunferencia para calcular el perímetro de la rueda. Este dato dependerá del diámetro de las ruedas que estemos utilizando.
La fórmula es sencilla:
Circunferencia = π × diámetro
En este caso, si el diámetro es de 6.2 cm, utilizamos π ≈ 3.14, obteniendo un valor aproximado de 19.47 cm para la circunferencia.
4. Conversión entre grados y centímetros
Como los motores de Spike Prime trabajan con grados, debemos relacionarlos con los centímetros. Para ello creamos una segunda variable, por ejemplo grados, en la que calculamos cuántos grados recorre la rueda por cada centímetro avanzado.
Esto se consigue dividiendo 360º (grados de una circunferencia completa) entre la variable circunferencia:
Grados por centímetro = 360 / circunferencia
5. Programación del desplazamiento
Con estos datos ya podemos determinar cuántos grados debe girar el motor para avanzar la distancia deseada. Multiplicamos los centímetros introducidos por la variable grados y usamos este valor como límite para detener el motor.
Además, asignamos la velocidad deseada al bloque, lo que nos permite controlar la rapidez del movimiento.
6. Movimiento hacia atrás
Para invertir el movimiento (desplazamiento hacia atrás), tenemos dos opciones:
- Cambiar el signo del valor de desplazamiento.
- Modificar la comparación de parada (de «mayor que» a «menor que»).
También es necesario cambiar el motor implicado (por ejemplo, de B a A) si los motores están montados en disposición opuesta.
7. Prueba del bloque
Probamos el nuevo bloque configurándolo para que el robot se desplace 25 cm a una velocidad del 30%. Al ejecutarlo, observamos que el robot avanza en línea recta y se detiene exactamente en el punto deseado. El sistema es fiable y permite realizar desplazamientos controlados de forma precisa.
Conclusión
Este sistema de desplazamiento por distancia con Lego Spike Prime es ideal para realizar movimientos precisos, especialmente útiles en retos de robótica educativa. Además, nos permite avanzar hacia un control más avanzado del robot, incorporando en el futuro aceleraciones, frenadas suaves o variaciones de velocidad.
Fuente: Basado en el tutorial del canal de YouTube Diecotech