Anda di halaman 1dari 8

8º A / B / C - Programación en ROBOLAB 2.5.

2
(1º Parte) Nociones de Programación

Introducción

Para poder controlar un robot, debo definir algunas operaciones básicas y ciertos
conceptos que será la base donde, podremos construir creativamente.

Robot Modelo

Para nuestra tarea, usaremos un robot clásico. El


mismo tiene dos ruedas, una llamada A y otra llamada B. La
flecha sobre el Robot indica hacia donde apunta el frente del
mismo. A B
Cuando queremos que el Robot vaya hacia delante,
prenderemos ambos motores
para el mismo lado. Por lo
contrario si queremos que el robot camine hacia atrás,
prenderemos los motores en sentido inverso…

Las órdenes que puede realizar mi robot están agrupadas


en un panel de funciones donde la zona superior agrupa
las salidas de un robot, motores, luces, sonidos. La zona
inferior hace referencia a la lógica y a las entradas de
datos de mi robot.

Continuando con el ejemplo…


Podemos entonces hacer que nuestro robot
camine hacia delante o camine hacia atrás.

Definiremo s que cuando un motor va hacia la derecha


eso se entiende como ADELANTE y cuando un motor
va a la izquierda se entenderá como ATRÁS.

Cuando queremos que nuestro robot frene, y deje


de caminar, lo haremos con algunas de las siguientes
indicaciones…

1
Doblando

Cuando queremos que nuestro robot doble, (no siempre queremos que vaya para
adelante), podremos hacerlo de 3 formas distintas….

1º) Poniendo los motores en direcciones opuestas.

2º) Frenando uno de los motores.

3º) Poniendo ambos motores para un mismo lado pero cambiando


la potencia de uno de los motores (tema que veremos mas
adelante….)

Primer Ejercicio

Supongamos que mi robot debe hacer una línea recta. Como


decíamos antes tendremos que poner ambos motores para
ADELANTE.
Pero ¿Por cuánto TIEMPO?, ¿dejaremos que el robot camine hacia delante en
forma indefinida?

Debemos entender que el robot cumple órdenes y que si le ordenamos prender


un motor, alguna vez deberemos decirle que lo apague.

Entonces debemos ser bien claros….


A B

Programando mi robot

El resultado del problema será el siguiente…

Revisemos el programa… identificamos un semáforo Verde que dice CLI (Control Lab
Interface) es donde conectaremos nuestro robot con la computadora.
A continuación le ordenamos que prenda los motores A y B durante 6 segundos y luego
de ello los apagara.
Por ultimo el semáforo rojo, indicara que nuestro programa ha llegado a su fin.

Muy importante: El Reloj de 6 segundos no detiene al robot durante ese tiempo, si


no que significa que durante ese tiempo las cosas no cambian y debe continuar
haciendo lo que estaba.

2
Haciendo un Cuadrado

Vamos a cosas más complejas, supongamos que nuestro Robot, debe moverse en forma
de cuadrado.
Como podemos observar, nuestro robot deberá realizar los siguientes pasos

1) Hacer una línea recta


2) Doblar
3) Hacer la segunda línea
4) Doblar
5) Hacer la tercer línea
6) Doblar
7) Hacer la cuarta línea
8) Doblar
9) Fin.

Ahora, presten atención, las tareas 1 y 2 son similares a la 3 y 4 y a su vez estas son
iguales a las tareas 5 y 6 y así hasta terminar.

Con lo cual podemos concluir que hacer un cuadrado es…

1) Hacer 4 veces lo siguiente


2) Hacer una línea recta
3) Doblar
4) Fin

Lo que hemos hecho es descomponer un problema en pequeños problemas, mucho


más fáciles de resolver, de controlar y de corregir.

Bucles

Repetir algo varias veces se logra con los comandos de BUCLE o


LOOP.

El primero indica el comienzo del BUCLE y cuantas veces deberá


repetir y el segundo donde termina el BUCLE.
Cantidad de
Repeticiones
La programación del cuadrado entonces, quedaría así…

Linea Doblar

Hasta aca…
Hacer 4 veces

3
Modificadores de Ordenes

Cuando armamos un programa, para un determinado robot, el lenguaje Robolab


2.5.2, esta basado en un lenguaje grafico, donde cada orden que mi robot puede
procesar , esta representada como un icono. Cada una de las órdenes, están sujetas a
pequeñas variantes y modificaciones. En el ejemplo que tenemos a continuación la
orden CICLO tiene un modificador de orden que determina que debe hacer 4 CICLOS.

Inicio Fin
Por lo tanto cada icono (Orden) posee…

Modificadores de Orden
Como manejar el Tiempo

Como vemos en el grafico existen varios


relojes de 1 segundo, 2 segundos, 4 segundos, etc..

¿Cómo podríamos hacer un reloj de 3 segundos?

Algunos alumnos muy creativos me dijeron que una


solución posible seria…

y es cierto, pero por una cuestion de


comodidad preferimos para resolver este
acertijo usar el siguiente reloj…

Ejercicios
Realizar los siguientes ejercicios, utilizando los conceptos antes vistos. Resuelva los
problemas con la consigna “Un problema es mas fácil de resolver como un conjunto de
pequeños problemas”

Ejercicio 2 Ejercicio 3 Ejercicio 4

4
Variables

¿Qué es algo variable?, algo que cambia en el transcurrir del tiempo. Algo que
cambia. Como ejemplos podemos citar, el clima, la luz, el reloj, un semáforo. En
algunos casos estas variables son impredecibles, (El tiempo, uno nunca sabe si
va a llover o no), y en otros casos son previsibles (El semáforo tiene la secuencia verde,
amarillo, rojo, amarillo, etc…). En nuestro trabajo de programación, usaremos variables
para múltiples usos.

Observemos el siguiente ejercicio…

Ejercicio Nº 5

Observemos la figura, partiendo del centro de la misma,


se dibujan dos rayas del mismo largo y luego el tamaño se
agranda, es decir que hay que hacer medio cuadrado
(como antes), y deberemos agrandar el tiempo que tarda
en dibujar los próximos dos lados. Podemos decir que en
este proyecto el tiempo en hacer una línea es
VARIABLE. Por lo tanto ya no podremos usar un reloj de
los clásicos, deberemos marcar estos datos de forma bien
clara.

Las variables se ven en Robolab como contenedores . Cada contenedor (variable)

se identifica con un color . Eso permite el uso simultáneo de 3

contenedores (máximo). Podemos hacer las cuatro operaciones

básicas de las matemáticas. O vaciar el mismo .

Siguiendo con el ejemplo…

Comenzamos la programación

Podemos arrancar desde un


proyecto ya realizado. El
ejemplo del Cuadrado nos
viene muy bien. Pensemos
¿Qué cambios debemos
hacer para que funcione con nuestro nuevo desafió. Primeramente no vamos a hacer un
cuadrado, vamos a hacer medio ¿Qué cambiamos?

5
Seguramente no vamos a hacer 4 veces lo mismo, entonces lo primero
que cambiamos será la cantidad de veces que se ejecutara el bucle.

Luego tenemos que ver que es lo que cambia luego de


hacer 2 lados…. Piensa….. El tiempo que demoro en
hacerlo … cada dos lados que dibuja, el siguiente se hace mas grande…

Definiendo la variable

Ok… modificando el programa anterior… deberíamos tener algo así…

Observando, que el tiempo que demora en hacer una línea, ahora es variable
(variable ROJA). Y la cantidad de veces que ejecutara este programa
son 2. Pero no hemos terminado, ¿Qué valor tendrá esta variable
ROJA, al inicio…

Con 2 segundos de valor inicial, los primeros 2 lados serán de


dos segundos de largo, pero al terminar estos debería aumentar el
tiempo que demora en hacer el nuevo lado. Elegimos que se le sume 1 unidad a la
variable ROJA, nótese que esta variable afecta solo al reloj responsable de trazar una
línea.
El programa terminado quedara así…

Inicio la
variable ROJA Tomo el valor
con valor 2 de la Variable
Comienzo el ROJA Aumenta la
Ciclo que hará 8 Ciclo variable ROJA
veces 2 lados para 2 en 1 unidad
lados

6
Recuerde que las variables deben INICIALIZARSE, o INICIARSE, es decir darles
un valor inicial. Esto no solo les permite evitar confusiones a la hora de
programar, además permite que se reserve el espacio de memoria necesario para
alojar ese valor.

Estructura

Como pueden ver en el ejemplo arriba , hemos organizado el programa como una
estructura, donde se pueden ver claramente las partes de la solución al problema
planteado. Se identifica claramente que parte construye la línea, cual parte se encarga
del giro, donde se modifica la variable (después de 2 ciclos), y que todo el proceso se
repite 8 veces, para finalizar construyendo las 16 líneas…. ¿falto algo?... si apagar los
motores…. (Bueno, no entraba en la hoja así que no me reten)

Potencia de Motores

Como habíamos adelantado en nuestros primeros episodios, también podemos doblar,


usando las potencias de motores, el ángulo de giro es notoriamente más amplio, con lo
cual podemos hacer cambios de rumbo, y curvas muy amplias con facilidad.

Los motores poseen potencias siendo 5 la más alta.

Si ponemos el motor A en potencia


5
5, según la potencia que le demos
al motor B, el robot describirá un
circulo donde el radio de giro ira
de mayor a menor.

Cuando ambos motores están en


potencia 5 el robot va hacia
A B 0 1 2 3 4
adelante.

Ejemplo:

Aclaremos que potencia no es igual a velocidad….

Potencia : En Física, potencia es la cantidad de trabajo efectuado por unidad de tiempo.


Esto es equivalente a la velocidad de cambio de energía en un sistema o al tiempo
empleado en realizar un trabajo, según queda definido por: *P es la potencia*E es la
energía o trabajo*t es el tiempo.
Fuente: http://es.wikipedia.org/wiki/Potencia

7
Ejercicio Nº 6

Planifica el siguiente ejercicio. ¿Cuántas variables debemos utilizar?, ¿Qué cosas serán
“variables” en este ejercicio?. Prestar atención a la posición del robot una vez terminado
el primer circulo.

Anda mungkin juga menyukai