En esta sesión vamos a ver cómo podemos adaptar los rangos de entradas analógicas al rango numérico que necesitemos.
Tal y como ya vimos en el curso de introducción hay veces en las que no podemos utilizar directamente los valores leídos de una entrada analógica porque el rango no es el mismo.
Por ejemplo el sensor de luminosidad de mBot nos devuelve valores entre 0 y 1023 debido a que utiliza un conversor analógico dígital de 10 bits. Sin embargo puede ser que el rango que nos venga bien utilizar sea entre 0 y 100.
Evidentemente al final se trata de adaptar matemáticamente las horquillas, por lo que veremos un sistema que puede ser muy práctico en la mayoría de casos.
Recuerda a lo largo de todo el curso que tienes disponible el formulario de soporte para alumnos para plantear tus dudas y preguntas.
Vídeo de la sesión 3 del curso de programación avanzada por bloques con mBot.
En el último ejemplo hemos visto cómo utilizar dos rangos de salida diferentes, pero esta técnica la podríamos utilizar para la cantidad de rangos de salida que necesitemos.
Ejercicios:
- Aunque el sensor de ultrasonidos no sea una entrada analógica podemos aprovechar esta técnica de adaptación de rangos. Crea un programa que pueda mostrar la distancia a la que detecta algún objeto en forma de porcentaje, con una rango de 0 a 100. Si no dispones de display o matriz de LEDs para mostrar el dato trabaja conectado al PC para poder ver el dato en mBlock.
- Manteniendo el dato del porcentaje crea otro rango de salida que permita que los LEDs cambien de un tono azul cuando la distancia sea muy lejana a rojo intenso cuando sea muy cercana pasando por todo el rango tonal.
- Si dispones de otros sensores analógicos o de un potenciómetro practica variando el rango de salida a diferentes escalas.
Todas las clases de este curso
- Programación avanzada por bloques con mBot #1. Multitarea con timer.
- Programación avanzada por bloques con mBot #2. Multitarea con puntero de programa.
- Programación avanzada por bloques con mBot #3. Adaptar rango entradas analógicas.
- Programación avanzada por bloques con mBot #4. Argumentos de funciones o bloques.
- Programación avanzada por bloques con mBot #5 Comunicación serie.
- Programación avanzada por bloques con mBot #6. Música, avanzado.
- Programación avanzada por bloques con mBot #7. Evitar el uso de esperas.
- Programación avanzada por bloques con mBot #8. Lecturas de sensores fiables.