Empezamos este curso que pretende ser la continuación avanzada con mBot del curso de iniciación que tienes disponible en la plataforma.
En esta primera sesión vamos a ver como podemos simular una multitarea con mBot a través de la vigilancia del timer interno de Arduino.
A modo de ejemplo programaremos mBot para ser manejado a través de mando a distancia. Haremos que se pueda encender, apagar y variar la velocidad de parpadeo de las luces de una sirena sin la utilización de esperas de tal manera que podamos atender la comunicación por infrarrojos del mando de manera continua.
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 1 del curso de programación avanzada por bloques con mBot.
Como puedes ver la vigilancia del timer de Arduino nos permite simular una multitarea de manera que podemos atender continuamente la lectura del receptor de infrarrojos mientras simulamos un bucle de parpadeo y alternancia de colores sin la necesidad de esperas.
Ejercicios propuestos:
- Programa mBot en modo siguelíneas para que pueda avanzar mientras alterna alguna secuencia de luces.
- Modifica el programa para que pueda recibir órdenes del mando de manera que podamos acelerar o frenar la velocidad del robot en modo siguelíneas y que varíe proporcionalmente la velocidad de parpadeo de las luces.
- Amplía el programa permitiendo salir del modo siguelíneas mediante el mando y entrar en un modo control remoto manteniendo la secuencia de luces. Se debe poder volver al modo siguelíneas con el mando si lo hemos llevado previamente por control remoto hasta la línea. Te puedes apoyar en la selección de programas de la lección 11 del anterior curso con mBot.
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.