Información adicional
Kit | R503 Micro:bit |
---|---|
Sensor | Ultrasonido |
Plataforma | MakeCode |
Trio con brazo & micro:bit. Mediante su poderoso brazo es capaz de mover los obstáculos que tenga delante y seguir su trayectoria recta. Sin duda alguna, ¡Es un robot testarudo!
En esta oportunidad construiremos un robot trio con brazo utilizando la placa micro:bit, con dos motores, un servo motor, un led bicolor y un sensor ultrasónico, seguiremos los pasos del instructivo, generaremos el software mediante Makecode y lo veremos en acción.
¡Manos a la obra!
Para el armado del modelo vamos a necesitar:
Psss! Si estas teniendo problemas para ensamblar los bloques, te dejamos una ayuda! Click acá
Puede descargar el programa ya armado para cargar a la placa micro:bit desde este enlace
Esta actividad tiene como objetivo el aprendizaje del uso de la extensión Probots para darle comportamiento al modelo armado para que cuando se detecte un objeto cercano por el ultrasonido, el robot baje el brazo y capture aquel objeto que fue detectado, mueva el mismo dando media vuelta y alejándolo para finalmente liberarlo, el robot vuelve a repetir las acciones dando media vuelta y si no se detecta objeto alguno seguirá avanzando.
Una vez abierto Makecode vamos a cargar la extensión Probots. Si no sabe o no recuerda como cargar la extensión, pruebe repasando la sección de primeros pasos con micro:bit siguiendo este enlace.
Luego de cargar la extensión comenzaremos declarando los motores. Tendremos dos variables de motor y cada uno conectado a un puerto diferente del ladrillo R8 Microbit.
Colocaremos un bloque condicional SI-SI NO, dentro de las condiciones colocaremos una evaluación lógica de números, en la parte izquierda colocaremos el bloque que nos devuelve la lectura del ultrasonido que conectaremos al Puerto 4, en la parte derecha colocaremos un 4 y en la evaluación del medio colocaremos el signo de menor igual.
Dentro de la sección SI colocaremos los bloques que nos servirán para apagar los motores y en el SI NO pondremos los bloques para hacer avanzar el robot, colocaremos la dirección ATRAS con una velocidad de 50.
Colocaremos el bloque del servo motor que cumple la función de darle movimiento a nuestro brazo, lo conectaremos en el puerto 3 con un Angulo de 150 grados al final del bloque de al iniciar esto hará que al iniciar el brazo del robot esté levantado.
Dentro del SI colocaremos otro bloque de servo para moverlo a 10 grados, se agrega una pausa de dos segundos y luego vuelve a estar a 150 grados. Esto nos permite realizar la acción de bajar el brazo si el ultrasonido detecta algún objeto a menos de 5 centímetros.
Luego colocaremos mas bloques de avance y una pausa de medio segundo al inicio del SI, esto nos va a permitir que el robot se acerque lo suficiente para poder capturar bien el objeto si es detectado.
Colocaremos mas bloques de movimiento y una pausa de un segundo antes de la ultima pausa del SI, esta vez con dirección ADELANTE
Ahora pondremos otra pausa de un segundo y dos bloques de movimiento y dos bloques de apagado justo después de la ultima pausa, cabe destacar que los motores están con dirección opuesta, es decir uno va hacia ATRAS y otro hacia ADELANTE.
Por ultimo, luego del bloque del servo dentro del SI colocaremos mas bloques de movimiento y pausas, preste atención a las direcciones de los motores.
Colocaremos el bloque del led Bicolor con color AMARILLO que estará conectado al puerto 5 junto con una pausa de un segundo al final de al iniciar.
Colocaremos otro bloque del Led Bicolor al inicio del SI y colocaremos un color VERDE.
En la sección del SI NO colocaremos otro bloque del Led Bicolor pero con color ROJO.
Si bien el robot ya funcionaria de acuerdo al objetivo de la actividad, hay ocasiones en las que el sensor ultrasónico no toma una buena lectura, por este motivo realizaremos la implementación de dos variables numéricas nuevas y de un bucle PARA. La primer variable la llamaremos contador y la estableceremos en 0, a la segunda variable la llamaremos detecta_objeto y al igual que contador la estableceremos en 0, ambas variables las pondremos al inicio de al iniciar. También, para evitar otros percances incluiremos debajo de estas variables el bloque para deshabilitar la matriz de leds del neopixel.
Al inicio de para siempre colocaremos nuevamente el bloque para establecer la variable contador a 0, debajo del mismo colocaremos un bucle PARA que contenga la variable index y le diremos que vaya de 0 a 19 para que de 20 vueltas.
Colocaremos dentro del bucle PARA una condición SI y dentro de la condicional colocaremos el condicional que se encuentra en el SI principal, es decir la que nos indica si el valor devuelto por el ultrasonido es menor o igual a 4.
Colocaremos dentro de la condición SI un bloque para cambiar la variable contador por uno, esto hará que se le sume uno a la variable contador por cada vuela del bucle PARA. También pondremos otra condición SI-SI NO debajo del bucle.
Dentro de la condición que colocamos recientemente pondremos en el condicional si la variable contador es igual a 20, dentro del SI pondremos que establezca la variable detecta_objeto a 1 y en el SI NO pondremos que establezca la variable detecta_objeto a 0. Por ultimo pondremos como evaluación en la condicion de movimiento del robot, si la variable detecta_objeto es igual a 1.
.
Con esto concluiremos la actividad, cargaremos el programa a la placa micro:bit y veremos las acciones que programamos recientemente. Aquí tenemos un video de ejemplo de como debería verse el robot al finalizar la actividad.
Kit | R503 Micro:bit |
---|---|
Sensor | Ultrasonido |
Plataforma | MakeCode |
Valoraciones
No hay valoraciones aún.