3. Programar un robot#

Preguntas

¿Qué es un programa? ¿Qué es un escenario? ¿Qué diferencia hay entre la simulación y la realidad? ¿Cómo desarrollo un programa? ¿Cómo veo si funciona? ¿Dónde se guarda?

¿Cuales son los principales elementos de un programa? ¿Por donde empiezo a programar? ¿Es lo mismo aprender a programar que usar un robot? ¿Cómo sé qué entradas y salidas puedo usar? ¿Porqué cambian las posibilidades de programación según el robot que tengamos? ¿Hay una sola forma de programar?

3.1. Programación Estructurada#

Como ya tenemos un robot seleccionado y configurado, nos podemos poner a realizar programas más complejos. Para ello, necesitamos entender bien las tres características de la programación estructurada. Esta forma de programar (técnicamente se denomina paradigma de programación) dice que cualquier programa puede ser realizado usando instrucciones:

  1. Secuenciales. Es decir, una instrucción detrás de la otra. En este caso, un bloque detrás del otro y conectados.

    ../../_images/secuencial.webp ../../_images/cjto-instrucciones.webp
  2. De repetición. Es decir, que las instrucciones se repiten un número de veces (bucle) según una condición

    ../../_images/repeticion.webp ../../_images/instruccion-repeticion.webp
  3. De control. Es decir, que según una expresión (condición) escoge un camino de ejecución (u otro)

    ../../_images/control.webp ../../_images/instruccion-control.webp

Estos conceptos se aplican a la mayoría de los lenguajes de programación. La oportunidad aquí es aprovechar la programacion visual (usando bloques) para trabajalos de forma sencilla.

3.2. Revisando un programa completo#

Veamos el siguiente ejemplo de programa, con cierta complejidad. No nos interesa ahora entender el programa, sino ver qué un programa está compuesto por bloques como si fuera un rompezabezas donde las piezas encajan unas en otras. Esta es la ventaja de este tipo de entornos.

Podemos distinguir diferentes tipos de instrucciones:

  1. Cada tipo de instrucción se puede ver con un color, que además está en el menú de la izquierda con todos los elementos de programación.

  2. Hay varios bloques anidados, es decir, instrucciones dentro de otras

  3. Hay valores, expresiones, condiciones, operaciones y otros elementos para que funcione el programa.

../../_images/programa-complejo.webp

3.3. Empezando a practicar#

Aunque falta profundizar en algunos aspectos, que comentaremos en la siguiente sesión, lo mejor es empezar a practicar.

Estos son cinco retos rápidos , que debes realizar en orden y te permitirán realizar tus primeros programas en el simulador ORL (puedes usar casi cualquier robot pero mejor usar EV3dev como referencia).

No importa el escenario de simulación en ninguno de ellos. Veremos qué son los escenarios y cómo usarlos en la próxima sesión.

  1. Mover el robot hacia adelante

  2. Avanzar y Retroceder

  3. Avanzar en pasitos

  4. Pintar un cuadrado

  5. Cuadrados dentro de un cuadrado

Llegados a este punto, probablemente ya puedas integrar programas con robots en tu proyecto STEAM. Pero se pueden hacer más cosas, como veremos en la siguiente sección, al usar sensores y una programación más elaborada.