En esta sesión vamos a seguir trabajando con las listas o arrays. En una primera parte vamos a resolver dos de los tres ejercicios planteados en la sesión anterior que os ayudarán a comprobar vuestros programas.
Veremos como añadir elementos a un array en la ejecución del programa, leer un elemento concreto o incluso eliminarlo. Conociendo todas las posibilidades que nos dan las listas o arrays seremos capaces de plantear proyectos muy interesantes.
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 11 del curso de programación por bloques con mBot Ranger.
Descargas:
Da un vistazo a estos retos de programación resueltos con listas para entender mejor el concepto.
- Lector de código de barras. Uso de listas y variables acumulando valor.
- Programando un sensor de color con mBot. Uso avanzado de listas.
Ejercicios:
Igual que en la sesión anterior recuerda que para realizar los ejercicios de lista debes actualizar firmware a través de cable USB para poder trabajar en colaboración con el PC tal y como se ve en el inicio del vídeo. Posteriormente ya puedes trabajar con comunicación PC-mBot con cable, Bluetooth o 2,4G . Ya deberías tener soltura con esto, pero si tienes dificultad… ¡ponte en contacto!
- Programa mBot para que avance durante dos segundos tomando los valores de luminosidad y distancia cada 0.5 segundos de manera que se almacenen en dos listas. Sería bueno insertar al principio una orden de borrar las listas para que en una segunda ejecución del programa se borren antes de añadir nuevos valores.
- Añade al programa que el robot retroceda dos segundos mientras muestra cada 0.5 el valor de luminosidad almacenado a través de los LED. Si hay almacenado un valor elevado de luminosidad programa los LEDs para que se iluminen mucho, y si el valor almacenado es bajo haz que los LEDs se iluminen poco. Del ejercicio 1 podrás saber el valor máximo de luminosidad que puedes tener para ajustar los LEDs.
- Modifica el programa para que en la parte de distancia guarde «Libre» si detecta distancia mayor de 20cm y «Peligro» si detecta menos de 20cm.
- Añade que en el camino de vuelta que se añadió en el ejercicio 2, se haga sonar alguna señal con sonido grave si se detecto «Peligro» al avanzar, o un sonido agudo si todas las medidas fueron mayores de 20cm.
- Añade al programa anterior una rutina final una vez ha vuelto y se ha parado, que localice las posiciones en las que se detectó «Peligro» y se sustituya por «Controlado». Utiliza condicionales de cada posición de una en una de manera que si el valor almacenado es «Peligro» se sustituya por «Controlado», y si no es «Peligro» no haga nada.
- Añade una última rutina al final de todo lo anterior que inserte los valores de la lista de valor de luminosidad detrás de cada valor de distancia que estará con valores «Libre» o «Controlado». La lista final debe ser algo como:
Todas las clases de este curso
- Curso de programación por bloques con mBot Ranger #1 – Conociendo Ranger.
- Curso de programación por bloques con mBot Ranger #2 – mBlock y ubicación del programa.
- Curso de programación por bloques con mBot Ranger #3 – LEDs RGB, sonidos y condicionales.
- Curso de programación por bloques con mBot Ranger #4 – Control de motores.
- Curso de programación por bloques con mBot Ranger #5 – Sensores y actuadores.
- Curso de programación por bloques con mBot Ranger #6 – Condicionales.
- Curso de programación por bloques con mBot Ranger #7 – Bucles de repetición.
- Curso de programación por bloques con mBot Ranger #8 – Subprogramas y variables.
- Curso de programación por bloques con mBot Ranger #9 – Variación de valores de variables.
- Curso de programación por bloques con mBot Ranger #10 – Introducción a los arrays o listas.
- Curso de programación por bloques con mBot Ranger #11 – Utilización avanzada de arrays o listas.
- Programación con Ranger #12 Timer interno para programar multitarea