PROGRAMACIÓN DEL ROBOT LEGO EV3

FernandoEnriqueArauz 666 views 45 slides May 18, 2020
Slide 1
Slide 1 of 45
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45

About This Presentation

Guía de programación rápida para el Robot LEGO EV3. Incluye una introducción a la programación con actividades resueltas.Operaciones con secuencias y listas.


Slide Content

1

2

Yo tengo el corazón puesto sobre el futuro


Yo tengo el corazón puesto sobre el futuro,
puesto en los hijos que de mis hijos vengan,
puesto en el corazón de los que vengan luego,
puesto en los miles que han de vivir mañana.


Tengo puesto mis brazos
en las calles del mundo,
puesto en los hijos que de mis hijos vengan.


Cuando venga hacia la tierra
las mieses desde el aire,
cuando giren los astronautas
en torno de las rosas.


Tengo los ojos puestos
en los números del calendario próximo,
puesto en los hijos que de mis hijos vengan.


Cuando vengan marcando con sus ritmos
el rojo de las fiestas
y tenga en sus manos tréboles de diez hojas.


Yo tengo los pies puestos
en el camino del tiempo
que se viene
¡Y he de llegar a verlo!





Augusto Tamayo Vargas

3

ÍNDICE

PROYECTO INTRODUCCIÓN A LA PROGRAMACIÓN Y ROBÓTICA ................................. 4
INTRODUCCIÓN ............................................................................................................. 4
CAPITULO I ..................................................................................................................... 5
FORMOSA PIONERA: UN POCO DE HISTORIA DE LA EDUACIÓN INFORMÁTICA EN
FORMOSA ...................................................................................................................................... 5
INTRODUCCIÓN A LA PROGRAMACIÓN ......................................................................... 5
CONSTANTES Y VARIABLES ............................................................................................ 6
OPERADORES MATEMÁTICOS DE COMPARACIÓN Y OPERADORES LÓGICOS ............... 8
LÓGICA MATEMÁTICA ................................................................................................... 8
BUCLES Y ESTRUCTURAS REPETITIVAS......................................................................... 11
ESTRUCTURAS DE DECISIÓN TIPO SI..ENTONCES SEGÚN CASO HACER.. ................... 13
CAPITULO II .................................................................................................................. 14
EL ENTORNO DE PROGRAMACIÓN DE SCRATCH ......................................................... 14
CAPITULO III ................................................................................................................. 17
INTRODUCCIÓN AL ROBOT LEGO EV3 DESCRIPCIÓN GENERAL .................................. 17
CAPITULO IV ................................................................................................................. 21
PROGRAMACIÓN BASICA DEL EV3 ............................................................................... 21
BIBLIOGRAFÍA .............................................................................................................. 33
ANEXO II ....................................................................................................................... 34
ASPECTOS AVANZADOS ............................................................................................... 34
LOS VECTORES O ARREGLOS O ARRAYS.......................... ¡Error! Marcador no definido.
VECTORES EN EV3 ....................................................................................................... 37
MATRICES..................................................................................................................... 40
ANEXO III ...................................................................................................................... 42
APLICACIONES DE BUCLEAS DE CARGA Y LECTURA EN EL ROBOT SELECCIONADOR .. 42

4

PROYECTO INTRODUCCIÓN A LA PROGRAMACIÓN Y ROBOTICA
INTRODUCCIÓN

La programación constituye la base de la programación de los sistemas
actuales. Un artefacto común y corriente como un lavarropas posee varias rutinas con
una serie de tareas por un determinado tiempo para realizar distinto tipos de lavado.
Aquí la tarea es simple para el usuario ya que este solo debe seleccionar el programa
adecuado a la tarea a realizar y la maquina que ya posee la programación ejecuta el
paso a paso.
La robótica educativa es la utilización de robots armables o listos, donde el
estudiante debe anticipar todos los movimientos y las tareas a realizar mediante la
programación. De esta manera nuestros jóvenes estudiantes van adquiriendo
conocimiento en el uso de distintos sensores, motores, servomotores y así también la
programación de la interacción de estos con el modulo central. De este modo estarán
desarrollando capacidades muy específicas como la del pensamiento computacional,
pensamiento lógico matemático, entre otras, preparándose así para afrontar los
desafíos de su vida adulta durante el siglo XXI.
“LEGO Education changed our school. These hands-on solutions level the
playing field and create an opportunity for even the least likely students to succeed”

Muchas Gracias
Fernando Enrique Arauz Sanz
[email protected]

5

CAPITULO I

FORMOSA PIONERA: UN POCO DE HISTORIA DE LA EDUCACIÓN
INFORMÁTICA EN FORMOSA

Desde 1985 tres escuelas de la provincias tuvieron privilegio de tener la
orientación de Bachilleres en Informática, el Arturo Jauretche (Formosa capital) , EPES
32 de General Mansilla y una localidad de Pirané. Fué una experiencia innovadora
nacida en el seno de la provincia de Formosa que funcionó hasta la sanción y
aplicación de la Ley Federal de Educación.
La mayoría de los docentes fueron oriundos del Instituto Robustiano Macedo
Martínez (Instituto local de larga trayectoria educativa) cuyos egresados ostentaban
el titulo de Analista en Computación Administrativa con titulo intermedio de Técnico
Superior en Estadísticas. También participaron en esta odisea educativa ingenieros de
la UTN y algunos egresados de otras universidades como la UNC, UNLP etc.
Estos colegios contaban con asignaturas como Sistema de Procesamiento
Electrónico de Datos SPED I y SPED II, Programación. Contaban además con horas
taller para la práctica de las actividades de programación en las salas de computación
creadas para tal efecto.
Las computadoras fueron otorgadas por el gobierno y se trataban en su
mayoría microcomputadoras Commodore 64 y 128. Funcionaban con disqueteras de
5 ¼” con un sistema operativo CPM/ PLUS (Control Program for Microcomputers) que
corría en unos disquetes llamados discos maestros (no poseía discos rígidos).
Posteriormente ingresaron las primeras PC XT y AT en algunos colegios.
Desgraciadamente todo fue abandonado y el proyecto archivado por intereses
mezquinos junto a la salida forzada de profesionales técnicos de la educación. Desde
allí la educación local experimento un divorcio vincular con el mundo real, en todos los
espacios curriculares.

INTRODUCCIÓN A LA PROGRAMACIÓN

¿Qué es la programación? ¿Para qué programar?

La programación es un conjunto de tareas que se deben realizar para hacer
algo. Ejemplo Si queremos hacer una torta debemos realizar una serie de paso como:
poner la harina para la torta en un bol, agregar 10 cucharas de leche, después colocar
100gs de manteca, etc. Siguiendo hasta que esté lista. La programación en este caso
sería una receta con la serie de pasos para realizar la torta. Resumiendo una receta de
cocina es un programa para realizar una torta.

6

Programar es escribir todos los pasos a seguir por una computadora o robot
para que realice un trabajo.



CONSTANTES Y VARIABLES

Una constante es un símbolo cuyo valor es fijo y no puede cambiar durante la
ejecución del programa. Se lo define una vez y ya no cambia su valor.
Ejemplo el número pi π vale 3,1415… y muchos decimales, siempre el número Pi va a
tener este valor.

VARIABLES
Estas posen un valor pero pueden cambiar en el transcurso de la ejecución del
programa. Para darle valor a una variable usamos la asignación. Las variables pueden
ser número letras pero siempre deben comenzar con una letra. Ejemplo
NUMERO = 18
A la variable NUMERO le damos valor de 18, ahora la variable NUMERO vale 18.
Ejemplo 2
LUIS14 = 35,40 Ahora LUIS14 vale 35,40
En el transcurso del programa puede encontrase con algo como LUIS14 = LUIS14 + 20
Entonces el valor de LUIS14 cambio a 55,40

TIPO DE UNA VARIABLE
El tipo de una variable es el tipo de dato que puede asumir o tomar. Los tipos
básicamente son:
Numérico : nuero entero o con decimales.
String o de cadena de caracteres: toma valores de cadena de caracteres o sea letras
números y caracteres especiales.
Lógicos: Solo aceptan valores verdaderos true ( T) o falso ( F).
Los programas modernos adoptan el tipo con la primera asignación. Los valores string
siempre deben estar entre comillas. Ejemplo
NUMERITO = 69
NOMBREYAPELLIDO = “ Juanita Rosales Pérez Escalante”
TOMACAFE = F

7

OPERACIONES CON VARIABLES

VARIABLES NUMÉRICAS
Con las variable numéricas podemos realizar todas las operaciones matemáticas es
decir suma resta, multiplicación división potenciación, radicación y otras más
complejas. Ejemplo
VALOR = 10 + 23 * 10
O sea que valor ahora vale 240


VARIABLES STRING O DE CADENA
La única operación permitida es la concatenación (suma de letras y caracteres).
Ejemplo
MUJERES = “ Luisa ” & “ Ramona” & “ Marisa”
MUJERES tendrá como valor “Luisa Ramona Marisa”



ACTIVIDAD 1

A) Identifique el tipo de variable (numérico, Cadena de caracteres o lógico según
su valor:
B) RAMONMUJER = f ……………………………… ……………
NOMBREYAPELLIDO = “ JUANI Rosales” ……………………………………………
PODER = 55 ……………………………………………
SUMA = 13 ………………………………………….
SEXO = “ MASCULINO” ……..……………………………………
RAQUELGUAPA = .F. …………………………………………..



C) Escriba el valor final de la variable:


LUIS14 = 2 + 16/2 -
LUIS14 = LUIS14 + 1
LUIS14 = LUIS14 + 10
¿Cuánto vale LUIS14? ………………………………………………………

NOMBRE1 = “ JUANA ”
NOMBRE2 = “LA BELLA”
NOMBRECOMPLETO = NOMBRE1 & NOMBRE2
¿Qué hay en NOMBRECOMPLETO? …………………………………………………………..

8

OPERADORES MATEMÁ TICOS DE COMPARACIÓN Y OPERADORES
LÓGICOS
OPERADORES MATEMÁTICOS DE COMPARACIÓN
SIMBOLO SIGNIFICADO
> Mayor
< Menor
< > Diferente
>= Mayor o igual
<= Menor o igual
OPERADORES LOGICOS MÁS COMUNES
SÍMBOLO SIGNIFICADO
Or O v O
And O ᴧ Y
Not o ~ No
LÓGICA MATEMÁTICA

Concepto de Proposiciones lógicas
Una proposición es una oración declarativa en la cual podemos catalogar como
verdadero o falso. Ejemplo
Proposición trabajo1 : Laura lava los platos.
Vemos si Laura esta lavando los platos si es así decimos trabajo1 = V es decir
verdadero.
Si Laura no está lavando los platos diremos que trabajo1 = F es decir falso porque
Laura no está lavando los platos.
Se pueden establecer relaciones (conexiones) entre varias proposiciones para obtener
un resultado único que sea verdadero o falso.
Si Laura lava los platos “y” Juan limpia la casa “o” Juan se va a la cancha entonces
podrá determinarse si toda esta oración es verdadera o falsa dependiendo de los
conectores lógicos asociados (y/o en este caso) que lo llamamos operadores lógicos.



OPERADORES LOGICOS OR ( V), AND (ᴧ) y NOT ( ~ )


OPERADOR OR

Un operador OR ( O ) trabaja con dos proposiciones como mínimo, dará verdadero si
algunas de las proposiciones resulta verdadero. Su tabla de verdad es la siguiente
Llamemos p a la primera preposición y q a la segunda

9


P Q P OR Q (P v Q)
V V V
V F V
F V V
F F F


Ejemplo 1
Sea P : Juana Mira TV
Sea Q : Ramón lava los platos
Primer caso Si Juana Mira TV o Ramón lava los platos, basta que uno sea verdadero
para que el resultado sea verdadero.


OPERADOR AND O SUMA LOGICA
Aquí este operador requiere que las dos proposiciones sean verdaderas para arrojar un
resultado verdadero
Ejemplo
Sea P: Ramón lava los Platos y Q: Juana Mira TV
Para que el resultado sea verdadero requiere que Ramón esté lavando los platos y
Juana mirando la TV. La tabla de verdad es la siguiente:
P Q P And Q (P ᴧ Q)
V V V
V F F
F V F
F F F

OPERADOR NOT NEGACIÓN (~ )
Este operado trabaja con una sola proposición y niega su valor. Ejemplo Sea P: juan
lava los platos.
Si Juan esta lavando los platos P será verdadero
Pero si digo NOT P o ~P entonces el resultado será falso.
Pero si Juan no está lavando los platos entonces P será falso

10

Pero si digo Not P o ~P entonces el resultado será verdadero. La tala de verdad es la
siguiente.
P Not P (~P)
V F
F V

CASOS COMBINADOS
Pueden utilizarse en casos combinados estos operadores con las proposiciones.
Vamos a suponer que tenemos tres proposiciones P , Q y R
Sea P : Juana mira TV, Q : Ramón arregla el auto y R : Laura se va al cumpleaños
Sea el caso (P ᴧQ) V R
Esto indica que debemos obtener el valor de P y Q primero y después hacer R
La operación lógica se resuelve así se resuelve así
P Q R P ᴧ Q (Pᴧ Q) V R
V V V V V
V V F V V
V F V F V
V F F F F
F V V F V
F V F F F
F F V F V
F F F F F

Traducido al castellano esto indica que la condición es verdadera en los siguientes
casos:
a) Cuando Juana mira TV y Ramón arregla el auto o Laura se va al cumpleaños (las
tres verdaderas)
b) Cuando Juana Mira TV y Ramón arregla el auto pero Laura no va al cumpleaños.
c) Cuando Juana Mira TV y Ramón no arregla el auto pero Laura va al
cumpleaños.
Resumiendo basta que Laura decida ir al cumpleaños para que la condición sea
verdadera. Pero si Laura no va al cumpleaños requiere si o si que Juana este
mirando TV y Ramón este arreglando el auto para que la condición sea verdadera.

11


ACTIVIDAD 2

A) Sea P: Sheyla está comiendo manzana y Q: Laura estudia inglés.
i) Obtener P ᴧ Q
ii) Obtener P V Q
iii) ¿Cuándo es verdadera la condición en cada uno de los casos anteriores?
BUCLES Y ESTRUCTURAS REPETITIVAS

ORDEN DE EJECUCIÓN DE LAS SENTENCIAS
En un programa como una recete se comienza por lo que esta primero se sigue por el
segundo, después por el tercero y así hasta el final. Esto se conoce como
procesamiento secuencial. Ejemplo
Cambiar el color de la pantalla
Tocar la nota la 440 Hz
Poner un mensaje de bienvenida
………
Así lo ejecuta en ese orden comenzando por cambiar el color, después toca la nota La y
sigue hasta el final.
Pero en ocasiones es necesario repetir una secuencia de instrucciones por un número
de veces o hasta que se cumpla una condición. Entonces estos programas deben estar
dentro de un bucle. Un bucle lo que hacer es repetir una cantidad de veces el conjunto
de instrucciones que está dentro del él.
Ejemplo
Imprimir en pantalla mensaje de bienvenida
Repetir 10 veces
Valor = valor +1
Imprimir en pantalla “ valor vale”; valor
Fin repetir

12

Imprimir en pantalla “ esto es todo amigos”
Aquí podemos ver que el programa comienza por la primera orden que es imprimir en
pantalla, luego entra al bucle, allí repetirá diez veces Valor +1 , imprimir “ valor vale”
1, 2,3,4,5 …10
EN RESUMEN TODAS LAS INSTRUCCIONES QUE ESTAN EN UN BUCLE SE REPITEN UNA
CANTIDAD DE VECES O HASTA QUE SE CUMPLA UNA DETERMINADA CONDICIÓN.
Ejemplo 2
Imprimir mensaje “Bienvenido”
REPETIR HASTA NUMERO = 9
IMPRIMIR “ INGRESE UN NUMERO ”
Ingreso NUMERO
FIN REPETIR
IMPRIMIR “ POR FIN INGRESO EL NUMERO 9 EHHHH”

Este programa solicitara el ingreso por teclado de un numero muchas veces y solo
saldrá del bucle si se ingresa el numero 9. Casa contrario se repetirá una y otras vez los
que está en el recuadro.
Figura 1 EJEMPLO de bucles en el Programas Scratch 2.0
El la figura A vemos un bloque de bucle,
donde todas las instrucciones que estén
dentro se repetirán 10 veces.
EN LA Figura B vemos un bucle que se
repetirá eternamente salvo que lo
abortemos con un botón rojo del programa.

13

ESTRUCTURAS DE DECISIÓN TIPO SI..ENTONCES SEGÚN CASO
HACER..
Las estructuras de decisión tipo Si ..Entonces son muy importantes para comparar y
poner condiciones veamos un ejemplo.
MASA = 50
Ingrese valor para VOLUMEN
Si VOLUMEN > 100 ENTONCES IMPRIMIR PANTALLA “ ING VALOR MAS PEQUEÑO”
VOLUMENTOTAL = VOLUMEN - 10
SINO
FINSI
El ordenador aquí solicita el ingreso de un número para VOLUMEN, después se
compara este valor ingresado y si el valor ingresado es mayor a 100 entonces pide
nuevamente que ingrese otro número pero no realiza ninguna operación.
Si el numero ingresado es menor que en VOLUMEN es menor o igual a 100 entonces
asigna a la variable VOLUMENTOTAL el valor de VOLUMEN menos 10.
Imagen de estructura de decisión en lenguaje Scratch
En la figura 2 A : el
programa envía un
mensaje SOY LINDOOO si
la condición IF resulta
verdadera, esto ocurre
cuando la variable VALOR
es menor que 100.
En la figura 2 B: se envía
un mensaje Soy Lindooo
únicamente si la
condición IF es
verdadera. Esto implica
decir que la variable
VALOR es menor a 100 y
además la variable NUMERO es igual a 9. En caso contrario (no se cumple la condición)
se enviara el mensaje Entonces soy feo.

14


CAPITULO II
EL ENTORNO DE PROGRAMACIÓN DE SCRATCH

Scratch es un lenguaje de programación para niños de 6 a 12 años muy fácil de utilizar
en el aula diseñado por el Instituto Tecnológico de Massachusetts para que éstos
puedan programar. Una de sus características fundamentales es que utiliza una
programación por bloques. Los bloque se van encastrando entre si y de esta manera
se va armando un programa.
No analizaremos con mucho detalle este entorno ya que resulta intuitivo y de muy
fácil utilización, solo lo usaremos para identificar algunas estructuras fundamentales
de la programación.

En la figura 3 podemos ver el entorno de programación aquí podemos ver varios
disfraces que al cambiarlos en un tiempo podemos realizar ingeniosas animaciones.

ACTIVIDAD 3

a) Realizar un programa para hacer bailar al oriental cambiando los costumes o
disfraces utilizando un bucle. Ver figura 3.
b) Programar una rutina para cambiar el fondo de las cuatro estaciones del año
cada 3 segundos.

15



USOS DE VARIABLES
En la figura 4 para crear una variable debemos ir la pestaña DATA y allí pulsa el botón
Make a Variable nos abre una casilla donde debemos ingresar el nombre de nuestra
variable y especificar si la misma será de alcance global o local. Si es de alcance global
esa variable tendrá valor en todo las rutinas del programa. Si es de alcance local solo
será reconocido en este sector donde se escriba el código en otras ya no.
También posee otras opciones como.
En la figura 5 podemos pulsar la variable numero. Para
crear una nueva variable con el botón Make Variable.
También posee instrucciones como:
SET numero to ALGO: Es una asignación a la variable
numero le asigna el valor de algo que escribamos.
CHANGE numero by ALGO: Cambia el valor de numero
por el valor de ALGO
SHOW variable numero: muestra en pantalla del valor de
numero
HIDE variable numero : oculta el valor numero de la
pantalla

IMPORTANTE: No utilices en nombres de variables con acentos, y por lo general
procura usar letras en mayúsculas no muy largas que resulten de fácil reconocimiento.

16

ACTIVIDAD 4

a) Hacer un programa para sumar dos variables de ingreso por teclado.
b) Escribir un programa para obtener un promedio de 10 números ingresados por
teclado.
c) Crear un programa para resolver una ecuación lineal con dos incógnitas
d)




Las variables son a,b,c,d,r1 y r2 debemos ingresar por teclado. Luego hacemos los
cálculos y mostramos los resultados para x e y. Respuesta

17

CAPITULO III
INTRODUCCIÓN AL ROBOT LEGO EV3 DESCRIPCIÓN GENERAL

El robot básicamente está constituido por u modulo central donde se almacena toda
la programación como así también datos de configuración de cada uno de sus puerto.
Cada una de sus partes como sensores o servomotores se conecta por cable con ficha
RJ45. Es Necesario ver en qué puerto conectamos cada uno de sus elementos. La
computadora y el programa de Lego Educations se lo puede bajar de internet o
instalarlo del disco que provee la caja. La conexión de la computadora al modulo
central se realiza por diversos medio que van desde el puerto USB, WIFI o bluetoth. La
más aconsejable si se utiliza computadora es la conexión por cable USB ya que la
conexión buetoth no resulta compatible con el bluetoth de Windows.
CONFIGURACIONES POSIBLE DE ARMADO DEL KIT BASICO 45544
Existen muchos kit para armar robot de Lego en nuestro caso hablaremos del Kit Lego
Educations Mindstorms que posee determinadas características. En general podemos
armar siguiendo el procedimiento paso a paso de 4 robot diferentes:

Figura 6
A Podemos ver al robot Gyro, B
Robot Perro, C Maquina
seleccionadora y C Brazo
robótico.
El Programa de Lego Educations
incluye la construcción paso a paso de cada una de estas configuraciones de la figura
6.

18

El paso a paso incluye la
selección de cada una de las
piezas para el armado total tal
como se observa en la figura 7.





PLUS CON EL KIT EXPANSIÓN
El kit expansión es una ampliación o complemento del kit básico existen una gran
variedad de kit expansión que van desde módulos de energías renovables para estudio
y armado de equipos que promueven el uso de energías renovables entre otros.
A modo de ejemplo visualizaremos un kit expansión para el modelo básico como
podemos ver en la
figura 8.
Con ello podemos
construir el Robot
tanque, Robot, Znap,
escaladora, elefante
fábrica de spinner, y
control remoto.

SENSORES DEL ROBOT LEGO EV3 KIT BASICO

Aquí en la figura 9 podemos observar tres sensores El sensor
de color que permite identificar colores como el rojo, verde, azul,
amarillo. El sensor de choque que al momento de la colisión se activa
enviando una seña por lo general de uno, caso contrario cero. El ultimo
el sensor por ultrasonido, en una ranura circula emite un sonido de alta

19

frecuencia y con el otro la percibe, Este sensor se utiliza para detectar objetos a determinada
distancia.
Este sensor se utiliza para medir el giro del robot en grados o radianes. Resulta de
importancia ya que puede medir ángulos y giros muy precisos.


MODULO CENTRAL BLOQUE EV3


Como podemos ver en la figura 10 el modulo central se alimenta de una batería
recargable. El modulo central alimenta los motores para su movimiento y lee los datos
de los sensores. El kit básico cuenta con motores grandes y medianos. Una vez que
realizamos un programa en la computadora, pulsamos un botón y bajamos al modulo

20

central, allí se almacena el programa y ya no es necesario bajarlo de nuevo a menos
que se intente hacer modificaciones. Una vez bajado el programa al modulo central,
desconectamos el cable del usb del modulo a la Pc para luego ejecutarlo con el botón
modulo central.




ACTIVIDAD 5 ARMANDO UN ROBOT
a) Construir la base motriz de un robot ( 46 pasos)
b) Agregar motor mediano a la base motriz (21 pasos)
Para hacerlo vaya a <INICIO> <IDEAS PARA LA CONSTRUCIÓN> <IDEAS DE
CONSTRUCCIÓN>

Respuesta

21


CAPITULO IV
PROGRAMACIÓN BASICA DEL EV3

El entono de programación del EV3 es muy diferente o un poco raro ya que su entorno
esta realizado en LabView un programa hecho para programar mecanismos de
robótica e ingeniería (no encontraría un programa de bases de datos en Labview).
Aquí se utiliza una programación muy diferente de características gráficas más
parecida a los diagramas de flujos que a las tradicionales líneas de programación.
Actualmente ya se puede programar los EV3 con versiones especiales de Scratch para
los acostumbrados a ese tipo de programación o en Python con ciertas limitaciones.
ENTORNO DE PROGRAMACIÓN

En la figura 11 podemos ver a la izquierda el botón Play es el que da inicio a la
ejecución del programa. Abajo tenemos una pestaña verde allí están los motores y
servomotores para movimiento (motor mediano, motor grande, motor de giro.
Después tenemos pantalla (para mensajes en pantalla del bloque central) , sonido y
tonos y luz de estado programables del bloque central. Cada una de estos bloques
solo se arrastra con el mause y se colocan conectando de izquierda a derecha.

22

A la derecha abajo podemos ver podemos ver el indicador de conexión de la PC con el
bloque central EV3. Ali nos indica si está conectado a USB, bluetoth o modo WIFI.
El botón más a la derecha el botón ↓ nos permite transferir nuestro programa al
modulo del EV3.
PESTAÑA NARANJA

En la figura 12 podemos ver, en la pestaña de color naranja:
El botón A es el boto PLAY para inicio de la ejecución se activa al pulsar el botón
central del modulo central.
BLOQUE ESPERAR ( B)
La herramienta B es la herramienta esperar, espera un tiempo en segundo, o espera la
lectura de un sensor que pude ser de ultrasonido, de color u otro. Ejemplo.

En la figura 12B R1 programa espera, (aquí se utiliza el sensor de ultrasonido en el
puerto 4) cuando un objeto se acerca a una distancia menor a 10 pulgadas (25 cm) , el
robot emitirá un mensaje (pantalla del modulo centra) diciendo “ SE ACERCA UN
OBJETO” y después escucharemos sonido ..

23

BLUCLES EN EV3
El ítem C es un bucle, es decir que repite un número de veces las instrucciones que se
encuentran dentro. La repetición puede ser un número de veces fija, infinita o a la
espera de una condición. Ejemplo

En la Figura 12C R1 tenemos el bucle que funciona con el sensor de color conectado
en el puerto 3 en el cuadro rojo, este bucle repite el mensaje “INGRESE COLOR ROJO”
en la pantalla del modulo central una y otras vez hasta que se detecte un color rojo.
Cuando esto ocurre se escuchara un sonido y aparece otro mensaje en el modulo
central “COLOR ROJO INGRESADO”
INTERRUPTOR: ESTRUCTURAS O BLOQUES DE COMPARACIÓN Y DECISIÓN TIPO
IF/THEN
El ítem D es una estructura de
decisión tipo IF condición THEN
acción que tiene dos caminos,
uno por la verdadero y otra por
la falso. Allí debemos insertar
las tereas que deseamos según
resulte la condición verdadera o
falsa. Ejemplo.
En la Figura 12D R1 cuando se pulsa le tecla play el Sensor Táctil detecta si este está
pulsado o no. El bloque Interruptor ( If Then) toma una decisión, si la condición es
verdadera (sensor esta pulsado) sigue su camino por la tilde (√) y toca un sonido. Si la

24

condición es falsa (el sensor táctil no está pulsado) toma otro camino el del (X) y allí no
hace nada.


El elemento E es para finalizar un programa.
PESTAÑA AMARILLA

En la pestaña amarilla Figura 13 encontramos todos los sensores.
Elemento A El modulo central posee varios botones alrededor del botón central, este
bloque de programación permite detectar que botón pulso el usuario para asi tomar
una acción.
Elemento B es el sensor de color es el que permite detectar colores y también luz
reflejada. Este sensor utilizaremos más adelante.
Elemento C Girosensor puede resultar muy práctico su uso en Física o materias que
requieran mediciones ya que este permite detectar rotaciones en grados y la velocidad
con que lo hace. Puedo medir ángulos o velocidad angular. También podemos
comparar Angulo y razón de cambio.
Elemento D Sensor Infrarrojo: no disponible en el kit básico.
Elemento E sensor de Rotación del motor: permite conocer la rotación del motor como
así también comparar con un valor arbitrario que podamos insertar.
Elemento F Sensor de temperatura: No disponible en el kit básico (una pena).

25

Elemento G es el sensor temporalizador, permite medir el tiempo transcurrido. Es una
especie de reloj.
Elemento H sensor de choque o impacto: es uno de los sensores más sencillos y actúa
por presión. Cuando el robot choca se activa este sensor por presión.
Elemento I Sensor de ultrasonido en uno de los redondos emite una señal sonora
(ultrasonido no audible por el oído humano) y otro que lo percibe. Con esto detecta
obstáculos como un murciélago. Requiere de calibración.
El resto de los sensores no está disponible en el kit básico.
PESTAÑA ROJA

En la figura 14
En A tenemos el bloque variable
En la figura 14 A la variable se abre para lectura (para leer un valor) o escritura para
escribir un valor.
OPERACIONES CON VARIABLES ASIGNACIÓN O ESCRITURA
En la figura 14 A. Se abre
una variable para escritura
(para asignarle un valor).
Luego debemos especificar
el tipo de valor que tendrá,
si serán número o letras
(caracteres). También
puede tener valores
lógicos tipos verdadero y

26

falso y secuencia numérica vectores (variable estructurada). En el casillero de arrina
debemos especificar el nombre de nuestra variable para identificar. Ejemplo

En la figura 14 A R1
agregamos el bloque
operaciones matemáticas,
allí sumamos el valor de a=
10 + b=20 y el resultado
guardamos en la variable llamada Suma.

OPERACIÓN DE LECTURA DE DOS VARIABLES NUMERICAS Y ESCRITURA EN OTRA

En la figura 14 A R2 leemos el valor de la variable VALOR11 y le asignamos a b,
nuevamente leemos el contenido de VALOR2 y le asignamos a. Luego se hace la
multiplicación de a x b y el resultado lo escribimos en otra variable que se llama
PRODUCTO.

CONSTANTES
La del ítem B es una constante su valor no cambia y se define en su parte de arriba.
Puede ser numérica alfanumérica o lógica (solo valores verdaderos o falso). También
puede ser una lista de valores fijos. Ejemplo

27

Construir un bloque de código para calcular el área de una circunferencia



Vamos a suponer que tenemos el valor numérico del radio en la variable radio. Para no
escribir el número Pi cada rato definimos una constante cuyo valor es 3,1415….. como
lo hacemos en el siguiente ejemplo.

En la figura 14B R1 primero definimos la constante PI. Luego abrimos la variable radio
par lectura, su valor elevamos al cuadrado con el bloque de operación matemática
potencia ( n =2) . Luego su resultado (potencia) transferimos al operando a. El valor de
la constante de Pi ya definida le asignamos al operando de b. Luego se multiplica a x b
y su resultado se guarda en una nueva variable llamada AREA (área de circunferencia).
Ítem C bloque de operaciones secuenciales: esta herramienta se utilizan cuando
usamos variables estructuradas como vectores. Para los entendidos nos permite
recorrer el vector indicando el número de índice. Ejemplo
1
A (13) = 20 La variable A en
el índice o posición 13 posee un valor de 20.
En fin el resto de las herramientas son muy sencillas e intuitivas para su uso solo
requiere de práctica. Para más información recurrir al manual del usuario.
PESTAÑA AZUL


1
Estas herramientas escapan al nivel del curso, solo se hacen comentarios para tener una
vaga idea acerca de ellos.

28

Bloques:
El bloque A permite la apertura y el guardado de archivos.
El bloque B Registro de Datos una herramienta muy útil que explicamos a
continuación.
El bloque C se utiliza para el envió de datos. Resulta útil para la comunicación entre
varios robot (nivel avanzado).
El bloque D para configurar la comunicación por bluetoth.
Bloque F obtiene el valor del sensor sin procesar (nivel avanzado).
Bloque G y H Motor sin regular e invertir motor.

Bloque I es un bloque para detener un programa y el bloque J para añadir comentarios.

En la pestaña azul tenemos varias opciones de herramientas solo veremos la más
importante.
El bloque de Registro
de Datos. Este bloque
registra datos y
permite dar una
grafica cartesiana
asociado a los datos
que registra respecto
de un sensor. Como
vernos podemos
seleccionar cualquier
sensor cuyos datos
serán expuestos en una
gráfica en pantalla de
la PC en tiempo real o diferido. Resulta muy útil el su uso con el giro sensor. En física
podemos medir velocidad angular o desplazamientos precisos en grados.

29



EJEMPLO DE REGISTRO DE DATOS AUTONOMOS
Hacer un programa que registre un giro de 640 grados hacia la derecha registre los
datos en un archivo llamado giro1 luego detener el registro. Subir los datos registrados
(con el botón ↑ derecha parte de abajo) a la computadora y graficarlos.
RESPUESTA
El código que permite un registro autónomo es el siguiente

Primero agregamos el bloque registro de datos y le damos el nombre giro1, indicamos
que utilizaremos el Giro Sensor que estará en el puerto2. Este bloque almacenara
datos del giro que hace el robot con el otro bloque. Con el bloque giro del motor
seleccionamos giro por grados. Seleccionamos 100 para indicar que gire sobre su eje
como indica la flecha y colocamos en cantidad de grado un total de 640 esto hará que
el robot gires casi dos vueltas completas (360 + 360 = 720 grados dos vueltas
completas). Luego agregamos el último bloque para detener (parar) el registro de
datos que se almacenara el el archivo giro1.
Bajamos la programación al robot y luego desconectamos el cable USB
Luego abrimos conectamos nuevamente el cable USB al ordenador en la pestaña
programas, click en ( + ) y seleccionamos nuevo experimento le ponemos un nombre
como experiemento1.
Luego subimos los

30

datos como indica figura 18

Luego seleccionamos el archivo en una lista desplegable


Aquí debemos
buscar giro1
seleccionamos y
luego click en
IMPORTAR. Los datos se subirán y se graficaran como podemos ver en F20
Aquí podemos
observar cómo
se grafican los
datos
obtenidos por
el registro del
sensor
giroscopio.
Estas operaciones se pueden realizar en tiempo real en modos osciloscopio entre
otros. Basta ir a la pestaña Inicio y la opción Registro de Datos el tutorial paso a paso
resulta muy fácil de utilizar. Recordemos que estas herramientas son muy utiles para
su utilización en Física para experiencias de Cinemática, MC movimiento circular y
termodinámica mediante el sensor termómetro (en caso que se disponga). Realmente
vemos como un simple robot nos puede ayudar en varias disciplinas de la escuela
secundaria.

31

MODELO DE ACTIVIDADES
MOVIMIENTOS BASICOS
1. Realizar un programa que permita al robot avanzar 10 pasos (giros) adelante.
2. Realizar un programa que permita avanzar 10 pasos (giros) adelante girar 90
grados y avanzar nuevamente 10 pasos.
3. Idem. anterior pero que el robot recorra un círculos grande.

USO DE SENSOR DE ULTRASONIDO Y DE IMPACTO
1. Con ayuda del profesor realizar un programa que permita avanzar al robot
hasta chocar un obstáculo, luego retroceder, girar y seguir avanzado en otra
dirección.
ALGORITMO AVANZADO EL ROBOT SIGUE UNA LINEA OSCURA uso del sensor
de Color/luz reflejada.
1. Calibración del sensor para la luz reflejada.
a) Armar el robot en su
configuración básica (igura R1).
Colocando a la derecha el sensor
previamente calibrado en el puerto 3.
b) Introducir el código
siguiente en la computadora:

Colocamos en un bucle que se repite infinitamente. Después comparamos
con una estructura tipo If (si ) usando el sensor de color para la opción

32

comparación de luz reflejada, cuando este es menor a 50 ( condición
verdadera) sale por ( √ tilde ) y para el motor C y gira el motor B con una
potencia de 50 . Caso de que la condición resulte falsa (x) hace lo contrario
para B y gira C.
Al moverse por giros el robot se mueve a los tirones.
Este programa tiene un pequeño problema, y es que la cinta debe ser
bastante delgada, porque solo opera para valores menores y mayores que
50, es decir cuando el sensor esta fuera de la línea. Si la línea es gruesa
seria en este caso igual a 50 y en este caso no hace nada. Es bueno que
estos aspectos el alumno pueda advertir.
Hay otro algoritmo más sofisticado que podemos utilizar una opción sería
el programa de la figura F R5 pero no es la única ya que en programación
hay cientos de formas distintas para hacer algo.


SEMINARIO FINAL
Los alumnos deberán armar un robot en cualquiera de sus configuraciones
posibles, utilizando como mínimo un sensor y que el robot realice una acción.

33


ALTERNATIVA POSIBLE DE EJEMPLO
 Armado de robot perro: que al detectar la presencia de una persona el
robot ladre.
 Armado de brazo robot: Una rutina para elevar un objeto y cambiar de
lugar.
 Otras.


Bibliografía

(C), L. G. (2016). LEgo Mindstorm User Guide. : Lego educations.
Andreoli, A. (2013). Algebra y Geometría Analitica- Logica Proposicional. Corrientes:
Edit UNNE . Matemática.
Daniel, Z. (2017). Lego EV3 Prograqmaciòn de robot. RAMA.
Daniela, D. (2019). Proyecto paso a paso para Scrath. Madrid.
Santamaria, C. (2008). Elementos de Programación Fortram. Cordoba: FAMAF UNC.

Créditos de figuras
Las figuras son un 99% propiedad de GRUPO LEGO Dk 7190 Billund Dinamarca 2016 All Right
Reserve.

34

ANEXO II
ASPECTOS AVANZADOS
LOS VECTORES Y ARRAYS


Podemos distinguir dos tipos:
a) Vectores.
b) Matrices.
VECTORES

Poseen un solo índice, pueden ser de un mismo tipo o de diferentes tipos
depende del lenguaje. Por lo general es conveniente utilizarlo con un solo tipo para
todos. Ejemplo Figura 21
V(0) = 0 V(1) = 0,5 V(2) = 99 V(3) = 1,23 ….
El vector V es de tipo numérico en el índice 0 posee un valor 0, en 1 posee un
valor de 0,5 y en 2 de 99. La variable es una sola V pero tiene un índice que varía de 0
a 5 (figura 21) , en cada uno de ellos puede guardar una valor numérico.
También pueden ser alfanuméricos y guardar cadena de caracteres. Ejemplo
NYA(1) = “ Juan Ramon·”
NYA(2) = “Luis Rodriguez”
NYA(3) = “ Sandra Sosa”
FORMAS DE CARGA DE VECTORES
Por lo general se utiliza un bucle para cargar los vectores con una variable
incremental para el índice. Ejemplo
Dimensionar V(10 ) **Se asigna a V 10 posiciones de índice
Para I = 1 hasta 10 ** Se asigna a I = 1 que se irá aumentando hasta 10
Ingreso datos “ ingrese nombre y apellido”; V(I) ** se ingresa valor a V(I)

35

Fin I *** fin del bucle y retorno a Para…
Asi I en el arranque vale 1 después que llega a fin I se incrementa uno y I vale
2 o sea I = 1,2,3,4….10. Alli en el interior del bucle se repetirá 10 vences y diez veces se
pedirá al usuario que ingrese Nombre y Apellido, que serán guardados en V(1),
V(2),…V(10).
Recordemos que el valor de las variables se guarda en memoria RAM, si se corta la luz
todos los valores de la variable almacenado en cada una de las posiciones se perderá.
MOSTRAR LOS VALORES DE UN VECTOR
Para mostrar los valores de un vector una vez cargados, debemos hacer lo
mismo, es decir recorrer todo el vector haciendo variar su índice. Ejemplo
Para i = 0 hasta 5
Imprimir por pantalla “Numeros”, V(i) *** BUCLE
FIN PARA
En este caso el programa imprimirá (según valores de la Figura 21) por
pantalla lo siguiente:
Numeros 0
Numeros 0.5
Numeros 99
Numeros 1,23
Numeros 0
Numeros 400

El primer valor del vector siempre es cero, que por tradiciones y costumbres
de la matemáticas no lo usamos, pero hay que recordar que el valor 0 es el primer
valor de un vector o lista.
Al los vectores en muchos programas se los llama como listas o secuencia de
datos donde estos pueden ser numéricos o de cadena de caracteres.

ACTIVIDAD 1

36


Teniendo en cuenta la figura 22

1. Escriba el contenido de:
A) VALOR(0) ………………………..
B) VALOR(2) …………………………
C) VALOR(5) ……………………….
D) VALOR(0) + VALOR(6) ……………………………
E) VALOR(1) – VALOR(2) ……………………………..
F) VALOR(3) / VALOR(0) …………………………….
2. Teniendo en cuenta la fIgura 23 escribir lo que contiene o lo que resulta:



A) NOMBRE(0) contiene ………………………………..
B) NOMBRE(3) contiene ………………………………….
C) NOMBRE(0) & “ Y “ & NOMBRE(4) da ……………………………………..
D) GUAPAS(0) = NOMBRE(2) & NOMBRE(0)
E) GUAPAS(0) contiene ……………………………………………….

37

VECTORES EN EV3

En la programación EV3 admite el uso de vectores que lo llama, lista a diferencia de su
antecesor que no soportaba listas variables.

CREAR UNA LISTA EN EV3

Vamos a bloque rojo operaciones con datos
y seleccionamos VARIABLE Seleccionamos e
la parte izquierda si queremos abrirla para
lectura o escritura. Luego vamos hacia la
derecha y seleccionamos SECUENCIA
NUMERICA O secuencia lógica depende del
caso. En el caso que deseemos almacenar
números en el vector secuencia. Solo basta
asignarle un nombre y ya tenemos nuestro vector.
CARGA DE DATOS EN UN VECTOR
Veamos un ejemplo
Hagamos un programa que haga lo siguiente:
a) Almacenar un numero como 40 y a este le vamos restando sucesivamente una
unidad dentro de un bucle que dura 10 repeticiones. Ese valor restado en una
unidad vamos guardando en el vector así:
Vector1(0) = 40 Vector1(1) = 39 Vector1(2) = 38 Vector1(3) = 37 …..

38


Siguiendo la figura 25 vemos en:
1. Al operando (a) le asignamos 40 mientras que el (b) tiene el valor del
conteo del ciclo del bucle (en la primera vuelta vale 0 en la segunda 1 y así
hasta llegar a 10. De esta manera será 40 -0 = 40 , 40 -1= 39 , 40 -2 = 38 y
ese valor se pasa al OPERADOR DE SENCUANCIA en 2 en cada ciclo del
bucle.
2. OPERADOR SECUENCIA Lo abrimos en este caso en modo ANEXAR, de esta
manera va anexando valores a nuestro vector llamado VECTOR 1 y el índice
se incrementa solo. Lo que hace el operador secuencia es ir incrementado
el valor del índice del vector1.
3. En tres se carga el vector1 con el valor de la resta y se va corriendo el
índice. El vector es abierto aquí para escritura ya que le asignamos un
número que se va guardar en una posición que se va incrementando
automáticamente en cada ciclo que se repita el bucle.
NOTA: El ciclo se repetirá 10 veces porque fue configurado por CONTEO y tiene
una valor de 10.
RECORRIDA DE LECTURA DE UN VECTOR O LISTA
Vamos a suponer que queremos leer todo el contenido de nuestro Vector1 secuencia y
su valor que es numérico hacerlo cadena de caracteres e imprimirlos el modulo
pantalla del robot.

39


1. En uno siguiendo la figura inmediata anterior lo que obtenemos es el
número de ciclos que va recorriendo el bucle (0,1,2,3,4,…10)
2. En 2 abrimos nuestro vector para lectura ya que pretendemos leer su
contenido.
3. Aquí el OPERADOR SECUENCIAL se configura para lectura de índice
numérico. El operador secuencial toma dos cosas de la variable toma su
contenido y todos sus paramentaros, y del bucle (cable del bucle) toma el
numero de ciclos que va realizando esto es para mover el índice del vector,
observemos como está conectado.
4. En 4 toma el valor numérico de la variable que nos da el OPERADOR
SECUENCIAL lo convierte en cadena de caracteres (número se transforma
en texto).
5. En 5 se envía para visualizar el texto convertido recientemente a la pantalla
del robot. Recordemos que la herramienta pantalla tiene dos opciones
mostrar un texto que uno escribe o la forma CONECTADO debemos
seleccionar esta opción ya que el texto va ir variando a medida que corra el
ciclo del bucle.

40




MATRICES

Son homólogos a los conceptos de matrices en matemática.

Como podemos ver es una matriz de 3x3 es decir tres filas por tres columnas. Las filas
son horizontales y se cuentan de arriba para abajo. La fila uno es la de 1 3 2 , la fila
dos 6 1 5 y l fila tres 5 8 1.
La primer columna



la columna dos



y la última columna tres



.
En computación esta matriz se escribe así A(3,3) . El primer número corresponde a
las filas, el segundo para las columnas.
Para “ cargar” la matriz en esta caso matriz figura 24 podemos hacer así
A(1,1) = 1 A(1,2) = 3 A(1,3) = 2 Cargamos la primer fila.
A(2,1) = 6 A(2,2) = 1 A(2,3) = 5 Cargamos la segunda fila.
A(3,1) = 5 A(3,2) = 8 A(3,3) = 1 Cargamos la tercera fila.

41

Esta carga de matrices no se realiza por asignación de uno a uno, sino utilizando un
bucle anidado ( bucle dentro de otro bucle).
La programación del EV3 no soporta las matrices razón por la cual no vamos a
profundizar este tema ya que solo queda suscripto a lenguajes como Basic, Fortram,
Pascal y otros.
ACTIVIDAD 2
1) Dada la variable B(3,3) , cargue uno a uno los valores de la siguiente matriz
(descartamos B(0,0) )




2) En la matriz anterior B que usted cargo. ¿Qué valor tiene?
a) B(1,1) ……………………
b) B(2,2) …………………….
c) B(3,1) ……………………
3) Teniendo en cuanta la matriz B. ¿Cuánto vale?
a) B(1,1) + B(2,3) ……………………………
b) B(3,1) / B(3,3) ……………………………
c) B(1,3) + B(2,3) + B(3,3) …………………………….
4) Sumar toda la columna 2 y guardar en la variable numérica simple llamada
Columna2

42

ANEXO III
APLICACIONES DE BUCLEAS DE CARGA Y LECTURA EN EL ROBOT
SELECCIONADOR
Esta aplicación puede ser muy útil a la hora de programar el sorted robot, robot
seleccionador.
Este robot funciona de la siguiente manera:
Primero tomamos la pieza de color que
puede ser azul, verde, amarilla o rojo
acercamos al sensor de color que esta junto
al modulo central hasta sentir el bell
(sonido) y colocamos en la fuente donde
está el cable. Una vez terminada la carga
pulsamos un botón del modulo central y el
robot ordenará las piezas rojos con rojos,
verdes con verdes y así sucesivamente.
En este capítulo, voy a contribuir con la
parte más compleja de esta sencilla
programación. El proceso de carga a través
de un bucle y posteriormente a la lectura del vector cargado. En programación hay
muchas forma de hacer una misma terea aquí muestro una.

43

PROGRAMA DE CARGA DE LA LISTA
Veamos un trozo de programación y analicemos lo que hace:

BLOQUE 1 El bloque uno pone al sistema a la espera de que usted tome una pieza y
acerque al sensor de color. Una vez detectado el color el sensor emitirá un numero
que es el código de color.
BLOQUE 2: ES UNA OPERACIÓN SECUENCIAL se toma el resultado del bloque anterior
y se guarda en el parámetro de entrada de este bloque. El bloque secuencia se abre7
configura como modo AGREGAR/ ANEXAR A LISTA. De esta manera automáticamente
se irá avanzando incrementándose el valor del índice a medida que se van guardando
nuevos valores.
BLOQUE 3 Es una variable llamada valore, se abre para escritura porque vamos a
escribir una valor en ella, el valor del color y la posición del índice que nos brinda
automáticamente el sistema (no debéis preocupar por ello).
BLOQUE 4 Se emite una señal sonora de un beep para indicar que el color fue
detectado y guardado correctamente.
BLOQUE 5 Los valores del bucle indica que el proceso se va a repetirá hasta que el
usuario apreté el botón de arriba del modulo. Solo así saldrá del bucle.
Es decir no hay mas fichas que cargar entonces debemos pulsar ese botón para
finalizar la carga.

44


PROCESO DE LECTURA DEL VECTOR LISTA
Una vez cargado el vector valore con todas las piezas que deben ser ordenadas ahora
viene el proceso de ordenamiento lo que se hace con el bloque de la figura 29

EN LA FIGURA 29 cada bloque:
BLOQUE 1: Abre la variable valore para lectura y pasamos su valor a un bloque
secuancias-
BLOQUE 2: En el bloque secuencial tomamos el valor de la variable en el parámetro de
entrada. En la configuración del bloque secuencial colocamos LONGITUD NUMERICO
esto permitirá conocer el índice máximo de la carga (si se cargaron 6 piezas este dará 5
contando desde el cero, si se cargaron 4 dará 3 y así sucesivamente).
BLOQUE 3 El valor de la longitud máxima del vector se almacena en una variable
numérica común llamada FIN.
BLOQUE 4 Se abre el vector (secuencia numérica) que contiene los códigos de colores
vectore para lectura nada más. Este bloque de programación esta dentro del bucle se
repetirá la cantidad de FIN veces (FIN tiene el numero fichas cargadas contadas desde
cero).
BLOQUE 5 Bloque secuencial se configura para LECTURA EN EL ÌNDICE. Tiene como
parámetro de entrada la variable secuencia valores (que contiene todos los códigos de
color cargados) . En el parámetro índice posee el cablecito que viene del bucle, este le

45

indicara que vaya leyendo en la primera vuelta vectore(0) , en la segunda vuelta
vectore(1),…y así hasta llegar a la vuelta número FIN.
BLOQUE 6 El bloque 5 da como resultado un código de color que es numérico que se
corresponde a un índice que depende del número de vuelta del bucle. El bloque seis
una variable numérica simple que se llama color almacena el valor momentáneo.
BLOQUE 7 Aquí entra a trabajar usted mi joven amigo. Aquí usted debe comparar con
un interruptor (bloques de la banda naranja if then) la variable común llamada color si
es rojo entonces mueva el motor hasta donde está la caja del rojo y luego mueva el
otro motor para depositar la ficha. Aquí le dejo un consejo siempre que mueva para
rojo vuelva o retorne a la posición inicial que debe ser común para todos los colores.
Sea que usted deba avanzar 5 revoluciones para acomodar el rojo, luego de colocar
la ficha roja retorne en sentido contrario 5 revoluciones. Si avanza 2 revoluciones para
colorar la ficha azul una vez depositada retroceda 2 posiciones nuevamente y así
sucesivamente Son algunos consejos que le ahorraran muchos dolores de cabeza.
BLOQUE 9 Se abre para lectura la variable fin que contiene la cantidad de elementos
cargados. El valor de la variable FIN se transfiere al bucle que debe estar configurado
POR CONTEO. De esta manera el bucle se repetirá las veces que sea necesario hasta
ordenar todas las fichas.
Puede que este código tenga algunos defectos ya que no fue probado, pero si usted
llego a entender el procedimiento que es lo más importante, entonces usted ha
aprendido y podrá programar cosas mucho más complejas…