Task eleven. Mara se ha desorientado.
Caso práctico
El Ingenuity.... ¡ Menudo robot con alas de pacotilla !
Mientras ese roborcillo que vuela empieza a parlotear, Mara no puede dejar de pensar: "se lo tiene muy creído... No me toques, dice. No, no se te vayan a estropear tus aspitas tan delicaditas.... Menudo tipo. Claro, como fue el primer aparato que voló en Marte. En la Tierra no tendría nada que hacer; conozco yo unos drones primos míos capaces de volar el Atlántico de un tirón..."
Pero cuando el runrún de sus prejuicios se va acallando empieza a escuchar lo que sale del sintetizador de voz del Ingenuity...
- ¡Por favor! ¡Ayúdame! Mi rover Perseverance se ha quedado atascado, con una rueda enterrada en un pozo de arena con el que se ha tropezado en las faldas del crater Jezero.
- ¿Y eso cómo ha sido? - contesta Mara -.
- Al hacer fuerza para taladrar el suelo y recoger muestras, una de sus seis ruedas se ha hundido en un pozo de arena... ¡Y se está hundiendo cada vez más poco a poco!
- ¿Y qué puedo hacer?
- ¡Sígueme! ¡A ver si entre los dos podemos empujar y sacar su rueda de la trampa!
¡Y allá va Mara detrás del Ingenuity! Es de noche, no se ve bien, Mara ha abandonado el camino y lo único que la guía son esas luces brillantes que tiene ese cacharro volador que, encima, se ha elevado varios metros del suelo. Mara no tiene más remedio que guiarse por sus sensores de luz...
¡Por favor , Mara! No te quedes sin baterías... No te quedes sin baterías... Al menos ya está escarmentada, y lo primero que hace es mandar un mensaje a través de las radio balizas a Mili y a Nico. Para que ellos también se movilicen y vayan a ver qué pasa.
Where is Perseverance? (Dominio público) |
||
Encontrando datos del Perseverance
Resuelve todos los retos y completa el desafío. Pulsa en los números 1, 2 y 3 para seleccionar cada reto. Introduce los números que son las respuestas en la caja de texto y pulsa INTRO o el icono del tick. Si el número tiene decimales, el signo de separación de la parte decimal es el punto. Por ejemplo, trece coma veinticinco se escribiría 13.25
Aparecerán ayudas al minuto, a los cinco minutos y a los diez minutos de empezar el desafío. ¡Suerte!
¿Eres capaz de recordar cómo se llama el helicóptero que acompaña al Perseverance? Antes deberás superar tres retos. Necesitarás usar un buscador de internet para encontrar las respuestas correctas. ¡Vamos, atrévete!
Dispones de 15 minutos en total para superarlo.
Perseverance o Perseverancia —apodado Percy— es un vehículo robotizado diseñado y fabricado por el Laboratorio de Propulsión a Reacción para explorar el cráter Jezero de Marte como parte de la misión Mars 2020 del Programa de Exploración de Marte de la NASA. Fue lanzado el 30 de julio de 2020 a las 11:50 UTC1 desde Cabo Cañaveral en Florida y aterrizó en Marte el 18 de febrero de 2021 a las 20:56 UTC.2
Su diseño es casi idéntico al rover Curiosity; cuenta con siete instrumentos científicos para estudiar la superficie marciana empezando desde el cráter Jezero. También lleva a bordo veintitrés cámaras y dos micrófonos. En la misión también navegará el helicóptero explorador Ingenuity, que ayudará al Perseverance a encontrar posibles lugares para estudiar.
¿Eres capaz de encontrar el tamaño de las ruedas del Perseverance (diámetro) en centímetros?
¿Cuántos metros por hora es capaz de recorrer el Perseverance?
¿Qué tamaño de "escalón" es capaz de subir el Perseverance? Respuesta en centímetros.
Proceso para llevar a cabo la tarea
¿Qué sensores LDR uso?
Usando módulos de sensor LDR
Utilizaremos dos sensores LDR que conectaremos a nuestra placa. En el caso de tener un robot basado en Arduino usaremos dos cualesquiera de los pines analógicos (del A0 al A5).
|
Fabricando tu propio módulo sensor LDR
Si dispones de sensores LDR como los de la imagen, es posible fabricarte tu propio módulo de sensor. Para ello es necesario añadir una resistencia en serie y realizar algunos cálculos para determinar qué resistencia debo usar según el sensor LDR usado.Esto es necesario porque pueden, constructivamente, ser distintos. Normalmente se puede medir en oscuridad total una resistencia del orden de mega ohmios, bajando hasta los 100 Ohmios o menos a máxima intensidad luminosa.Para saber más, podemos acceder a páginas como la de "LDR o fotoresistor o fotoresistencia". |
||
Necesitaremos el diseño de un circuito del tipo divisor de tensiones (resistivo). Este circuito nos ofrecerá, midiendo entre los extremos de la fotorresistencia, valores distintos de tensión.
|
Mediciones de resistencia
Soldando un módulo LDR
Comprueba el módulo con un pequeño programa en makecode para el robot Maqueen micro:bit.
En la placa del robot Maqueen micro:bit encontraremos unas conexiones dupont macho. Un conjunto de tres a la izquierda del robot (visto de frente), junto a la rueda, de colores negro, rojo y verde, marcadas con las etiquetas P0, P1 y P2. Conectamos el cable rojo al positivo de la conexión P1. El negro (gris en mi caso) al negativo de la conexión P1 y el cable amarillo al conector verde.
|
||
El programa lee de forma analógica el PIN 1 (bloque en AVANZADO >> PINES) y lo muestra en pantalla. Los valores son altos en oscuridad, cercanos al valor máximo de este tipo de lectura que es 1023. Al iluminar la escena normalmente baja (500~700 aprox.), y al iluminar el LDR intensamente baja mucho el valor. Para ilustrar esta bajada, se ha establecido un valor umbral de 200. Por debajo de 200, enciende el LED derecho del robot. Por encima de ese valor lo apaga. El efecto es que al iluminar con una linterna intensamente el LDR, el LED se enciende. |
Conexionado para el robot Maqueen micro:bit.
Después de comprobar cada uno de los módulos de sensores LDR que hemos fabricado, los conectaremos a los pines P0 y P1 respectivamente (ver NOTA). Una vez cargado el programa, los fijaremos a la placa controladora, uno a cada lado. Quizás una gomilla elástica te venga bien para colocarlos en su sitio, uno a cada lado Y ya tan sólo te queda diseñar el algoritmo... NOTA: experimentalmente he comprobado que P2 me da problemas; no sé si es un error de mi placa o que no puede usarse de la misma forma que los otros. |
|
|||||
¿Cuál es el derecho y cuál el izquierdo? Para no tener confusiones, lo mejor es mirar el Maqueen de frente, donde vemos el sensor de ultrasonidos. A nuestra izquierda (nuestra mano izquierda) colocamos P1 y a la derecha (nuestra derecha) colocamos P0. P1 debe controlar el motor contrario, el que está a nuestra derecha, y P0 el motor que está a nuestra izquierda. |
Razona el algoritmo
Para llegar a hacer este programa necesitas razonar el algoritmo. ¿Qué tal si diseñas un diagrama de flujo?
Orientaciones para desarrollar el algoritmo
Hay dos enfoques distintos a este programa:
-
Primero, establecer el umbral y, si en un LDR se recibe un valor inferior a ese umbral (mayor iluminación), el robot deberá girar hacia ese lado, lo que significa que el motor del lado contrario avanzará más rápido que el del lado del LDR. Estudia cada LDR colocado en cada uno de los pines y establece un umbral para ambos o un umbral para cada uno de ellos.
-
Segundo, no establecer el umbral y convenientemente calcular la velocidad de cada motor según la iluminación que recibe el LED. Para hacer los cálculos puede ser muy útil la función de mapeo.
-
Prueba ambos algoritmos. ¿Cuál te parece más eficaz? ¿Por qué?
Función de mapeo. Robot Maqueen micro:bit
Bloque en makecode: la variable LDRIZ, que toma valores desde un máximo maxLDRIZq hasta un mínimo de 2, se transforma a valores desde 20 hasta 50 proporcionalmente. El mapeo consigue un valor proporcional. |
Función de mapeo. Otros robots
Bloque en Arduinoblocks |
Función de mapeo. Código Arduino
Cómo trabajar
- Normalmente se trabaja en parejas o en pequeños grupos, con un robot y un ordenador para programarlo.
- Aunque tu compañero/a sea quien maneje el ordenador o el robot, intenta siempre entender lo que estáis programando o haciendo: las órdenes o bloques que se están usando, el tiempo que tardan en ejecutarse, el orden en el que se colocan los bloques en el programa...
- Compartir las ideas con los demás, colaborar en lograr el reto, no molestar a otros grupos si están probando o trabajando...
- Importante: averigua primero cómo funcionan los LDR por separado, cada uno en el pin P0 o P1 donde irán colocados. Anota los valores que van generando con el programa de testeo. Con toda esa información intenta desarrollar el algoritmo. Tienes que estructurar muy bien el algoritmo y el programa antes de que te funcione.
- Si no sale a la primera, no desanimarse. Es normal que haya que hacer varias pruebas hasta que salga.
Pistas
La clave para el éxito está en:
- Pensar siempre, a priori, qué estamos haciendo.
- Averiguar los bloques de programación necesarios.
- Deducir el diagrama de flujo ANTES de escribir el programa.
- Elige bien tus variables.
- Haz las pruebas de testeo necesarias antes de empezar a diseñar el algoritmo final.
- Sé estricto y concienzudo a la hora de organizar los sensores y su información.
- Haz las cosas paso a paso: no pasar al paso siguiente hasta no tener seguro el anterior.
Obra publicada con Licencia Creative Commons Reconocimiento No comercial Compartir igual 4.0