Вы находитесь на странице: 1из 193

Cambiando el ADN de la educación

Robótica STEM
SESIÓN 2
¿Qué es un diagrama de flujo?

Es una representación
gráfica de una serie de
pasos que se deben de
seguir para llegar a un
objetivo o destino final
Figuras básicas en diagramas de flujo
otras figuras para entrada y salida de
información
ENTRADA SALIDA
Ejemplo
Diagrama de flujo lineal
Se pueden separar
en dos romboides

ÁREA DE UN TRIÁNGULO
Otro ejemplo
Diagrama de flujo lineal
Se pueden separar
en dos romboides

CAMBIAR DE
PESOS A
DÓLARES
Ejemplo
Diagrama de flujo lineal Se pueden separar
en tres romboides
RESOLVER UNA CUADRÁTICA

Cuando se hace una multiplicación se


debe usar el símbolo de *

Se pueden separar
en dos romboides
4*a*c

2*a
Controles (Condicionantes)
No todos los diagramas de flujo son
lineales o tienen un sólo camino, en
algunas ocasiones hay condiciones que si
son verdaderas se van por un camino o si
son falsas toman otro diferente.

Ejemplo: Introduce la edad, si es mayor o


igual a 18 puede votar.

9:30
Actividad 1: DF con condicionantes
En una hoja en blanco TAMAÑO CARTA o de libreta tamaño
PROFESIONAL anoten los nombres de sus compañeros de equipo y
realice un diagrama de flujo donde se le pida al usuario un precio, si el
precio es mayor a 100 entonces se le hace un descuento de 10% en
caso contrario se le hace un descuento del 5% y se muestra el
resultado
Actividad 2: DF con condicionantes
En una hoja en blanco TAMAÑO CARTA o de libreta tamaño
PROFESIONAL anote los nombres de sus compañeros de equipo y
realice un diagrama de flujo donde se le pida al usuario 2 números, y se
le pregunte la opción de sumarlos o restarlos, y dependiendo de su
opción seleccionada haga lo correspondiente y muestre el resultado

Además escriban su propia definición de CONDICIONANTES EN UN


DIAGRAMA DE FLUJO y enmárquenla.

9:45
REPASO
CONDICIONANTES
REPASO
CONDICIONANTESN S

N S

N S
REPASO
CONDICIONANTES

QUÉ SIMILITUD HAY EN ESTE DF


CON EL ANTERIOR?
¿Y LOS CICLOS?

9:55
Conociendo los ciclos
Qué es un ciclo?

En el robot de la sesión pasada, ¿dónde pudimos usar ciclos?

¿Qué ventajas se tiene de usar ciclos?


REPASO
CICLOS
Bloques de
Sensores
Sensor Blocks

10:00
Bloques de Sensores (Sensor Blocks)
Se muestran al hacer clic en el grupo “Sensor Blocks” del listado de
bloques.
● Light Detection: Sensor de luz ● Magnetism Detection: Sensor
(análogo). magnético (digital).
● Temp Detection: Sensor de ● Key Detection: Sensor de teclas de
temperatura (análogo). la controladora PLC (digital).
● Grayscale Detection: Sensor de ● System Time: Tomar tiempo del
escala de gris (análogo). sistema (en segundos).
● Flame Detection: Sensor de flama ● Reset Time: Reiniciar tiempo del
(análogo). sistema.
● Voice Detection: Sensor de sonido ● Analog Input: Analizar entradas
(análogo). análogas.
● Switch Detection: Sensor de switch ● Digital Input: Analizar entradas
o botón (digital). digitales.
● Counter: Contador (digital).
Bloques de Sensores (Sensor Blocks)
Los bloques de sensores permiten inicializar variables para cada sensor disponible. Al hacer doble clic en el bloque dentro
del diagrama de flujo se mostrará la ventana de opciones.

Con excepción de Key Detection, System Time, Reset Time y Counter, todas las ventanas de diálogo para sensores son
iguales, permitiendo seleccionar el puerto y creando una variable de acuerdo al tipo de sensor.

1. Ícono del sensor


2. Puerto I/O
3. Variable a crear
4. Convertir en bloque de
comparación.
En el diagrama de flujo se muestra un romboide con el ícono del
sensor, seguido del puerto I/O donde debe conectarse.
Bloques de Sensores (Sensor Blocks)
Caja de variables: Haz clic en el nombre de la variable, en este caso “Light Var1”
para abrir la caja de variables y ver más opciones.

Se mostrarán con fondo amarillo las variables que


ya han sido creadas; la seleccionada para este
bloque aparecerá con una llave a la derecha. Haz
clic en cualquier otra variable para seleccionarla.

Abajo solo estará disponible el bloque del sensor


correspondiente, para evitar mezclar variables
entre bloques.
Bloques de Sensores (Sensor Blocks)
Key Detection: Inicializa variables para detección de teclas pulsadas en la
controladora: Enter, Izquierda y Derecha.

Selecciona la tecla de la
controladora y la variable a crear.

Clic en el nombre de variable Button


Var1 para abrir la caja de variables.

En el diagrama de flujo se muestra un romboide con el ícono del


bloque, seguido del nombre de la tecla que se va a detectar.
Bloques de Sensores (Sensor Blocks)
System Time: Obtiene los segundos transcurridos desde el inicio del
programa o el último bloque Reset Time.

Solo puedes modificar la variable a crear.

En el diagrama de flujo se muestra el


bloque en un romboide.

Reset Time: Inicializa el tiempo del sistema. Este bloque


no tiene opciones y se muestra un rectángulo en el
diagrama de flujo.
Bloques de Sensores (Sensor Blocks)
Counter: Permite controlar el contador magnético.

Las opciones Start, Clear y Stop muestran la


misma ventana donde solo se puede seleccionar
el puerto donde se debe conectar el sensor.

Get Counter: Obtener el valor actual del


contador, seleccionando puerto y creando
la variable Counter Var1.

En el diagrama de flujo se muestra la


acción, seguida de Cnt y número de puerto.
Bloques de Control
(Control
Avanzado)
Control Blocks
(Condiciones, ciclo en base a
condición y salir de ciclo)
Bloques de Control (Control Blocks)
Se muestran al hacer clic en el grupo “Control Blocks” del listado de
bloques.
Control Básico Control Avanzado
(Visto en sesión anterior) ● Condition Loop: Ejecutar los
● Multiple Loop: Ejecutar un bloques dentro del ciclo mientras
determinado número de veces se cumpla una condición.
los bloques dentro del ciclo. ● Compare: Realizar una
● Infinite Loop: Ejecutar los comparación y ejecutar ciertos
bloques dentro del ciclo bloques si el resultado es
indefinidamente. Solo se puede verdadero y otros si el resultado
salir del ciclo si se usa un bloque es falso.
Break. ● Break: Salir del ciclo actual.
Bloques de Control (Control Blocks)
Condition Loop (Ciclo en base a condición): Ejecutar los bloques dentro
del ciclo mientras se cumpla una condición.

Se compara una variable con un valor (constante) u


otra variable. Haciendo clic en “Integer Var1” o
marcando la casilla “Variable” se muestra la caja de
variables.

En el diagrama de flujo se muestra un rombo con la palabra


“Condition”; los bloques a repetir deben colocarse debajo del rombo
(Y) y se debe continuar el programa colocando otros bloques en el
conector de abajo que proviene de la línea de la derecha (N).
Bloques de Control (Control Blocks)
Compare (Comparación): Ejecutar bloques dependiendo del resultado de
una condición, verdadero (Y) o falso (N).

Se compara una variable con un valor (constante) u otra


variable. Haciendo clic en “Integer Var1” o marcando la
casilla “Variable” se muestra la caja de variables.

En el diagrama de flujo se muestra un rombo con la palabra “Condition”;


a la izquierda (Y) se colocan los bloques a ejecutar cuando el resultado
sea verdadero, a la derecha (N) se colocan los bloques a ejecutar cuando
el resultado sea falso. Se continúa el programa colocando bloques en el
conector de abajo, fuera de la comparación.
Bloques de Control (Control Blocks)
Comparación usando bloque de sensor: Ejecutar bloques dependiendo
del resultado de una condición, verdadero (Y) o falso (N).

Agrega un bloque de sensor al


diagrama de flujo y selecciona el
puerto para inicializar la variable.

Agrega otro bloque del mismo sensor,


selecciona el mismo puerto y haz clic
en “Convert it to a compare block after
detection”; tendrás dos bloques
iguales… ¡por ahora!
Bloques de Control (Control Blocks)
Comparación usando bloque de sensor: Ejecutar bloques dependiendo
del resultado de una condición, verdadero (Y) o falso (N).

En la parte derecha de la ventana


establece la condición seleccionando
la variable, el operador lógico y el valor
deseados. Haz clic en el botón OK.

En el diagrama de flujo se mostrará un bloque de sensor y, debajo, uno


de comparación con el ícono del sensor elegido. Coloca los siguientes
bloques igual que en el bloque de comparación (Compare Block).
Bloques de Control (Control Blocks)
Caja de variables para comparación: Haz clic en el nombre de la variable, en este
caso “Integer Var1”, o marca la casilla “Variable” para abrir la caja de variables y
ver más opciones.
Arriba se mostrarán las variables disponibles, resaltando con fondo
amarillo las que ya fueron inicializadas; abajo puedes seleccionar
otro origen (bloques de variables para cada sensor).

Haz clic en el ícono de sensor que ya inicializaste y luego en la


variable que deseas comparar; se marcará como seleccionada con
un ícono de llave a la derecha.

Si el bloque corresponde a un sensor convertido en comparación, solo tendrás acceso al


bloque de variables de ese sensor.
Bloques de Control (Control Blocks)
Break (Romper ciclo): Cancela la repetición de bloques dentro del ciclo y
continúa con el programa.

Este bloque solo puede utilizarse dentro de un ciclo y no tiene ventana


de opciones.

En el diagrama de flujo se muestra en un rectángulo con su ícono,


seguido de la palabra “break”.
Actividad 3

Descripción del problema y


sugerencia de armado

10:00
Actividad - 3
Escenario
● En Holanda el calentamiento global está terminando con los recursos
naturales, entre ellos los que ayudan a generar electricidad.

Problema
Mencione en voz alta las posibles problemáticas

Solución
● Mencione en voz alta las posibles soluciones
Problema y Solución (una de tantas)
Problema

Roterdam, población de Holanda, tiene problemas con su subestación


hidroeléctrica porque el río se está secando. Los molinos se están echando a
perder porque no están en uso.

Solución

Usar los molinos como generadores de energía eólica


4 PRIMEROS PASOS DEL PBL
1. Entender todos los conceptos
a. No se sabe qué es “Calentamiento Global”
2. Entender el problema
a. El problema identificado es: “No hay recursos naturales que ayuden a generar electricidad”
3. Lluvia de ideas (Posibles soluciones)
a. Traer electricidad de otro lado
b. Poner una eléctrica nuclear
c. Generar energía eólica Solución seleccionada
4. Qué se sabe y qué no
a. Qué es la energía eólica
b. Cómo se genera electricidad
c. Partes a utilizar en el robot
d. Programación por bloques
ARMADO DEL MOLINO
● Esta actividad será sobre tiempo: 30 MINUTOS
● El armado del molino puede ser libre o siguiendo las
diapositivas.
● El diseño es libre sólo si en verdad se sienten seguros
que pueden hacerlo sin usar apoyo, en caso contrario se
les puede pasar los pasos para su armado
IMPORTANTE
Diferencias entre kits
En algunos kits el engranaje 1:1
con conector corto se puede
insertar un tubo redondeado de la
medida deseada.

En otros, ya incluye un tubo


redondeado de 20mm y no se
puede quitar, por lo que el armado
de algunos proyectos deberá ser
diferente.
Actividad - Molino de viento
Sugerencia de armado Piezas:
1. 1 rueda dentada
con 4 conectores
2. 1 tableta 6x4
3. 4 escalera
4. 7 cubo conector
5. 2 conector corto
6. 1 motor
7. 1 cable
8. 2 engranajes 1:1 con conector corto
9. 1 tubo redondeado 80 mm
10. 1 tubo redondeado 20 mm
11. 2 conector transparente
12. 2 medio cubo conector corto
Nota: En este proyecto se usarán reductores de velocidad solo si el engranaje 1:1 viene con tubo redondeado
Actividad - Molino de viento

Tableta y
conectores
Actividad - Molino de viento
Engranaje sin tubo Engranaje con tubo

Motor y soporte Motor y soporte

Nota: Usar conector transparente para unir medio cubo con cubo externo
Actividad - Molino de viento
Engranaje sin tubo Engranaje con tubo
Columna de Columna de molino
molino Usa dos reductores 5 a 1 y
un engranaje 1:1 sin
conector
Actividad - Molino de viento

Motor y base
Actividad - Molino de viento
Aspas de molino Completar aspas

Nota: Si el engranaje ya tiene tubo, no conectes el tubo redondeado de 20mm a la rueda dentada
Actividad - Molino de viento
Aspas y columna Ensamble final
PROGRAMACIÓN ALERTA
DEL MOLINO La programación de esta actividad

USANDO es diferente a la presentada en el


manual, evitando el uso de
BOTONES DE LA condiciones anidadas.

CONTROLADORA
10:35
ANTES DE INICIAR...

VAMOS A
RAZONARLO…
¿Qué se necesita saber?
¿Qué se necesita?
1. Saber cómo se va a activar
a. Si se oprime la flecha derecha gira a la derecha
b. Si se oprime la flecha izquierda gira a la izquierda
c. Si se oprime el ENTER se para
2. Decirle a la robot que usaremos teclas de la controladora
3. Si se oprime la flecha derecha
a. El motor gira positivamente
4. Si se oprime la flecha izquierda
a. El motor gira negativamente
5. Si se oprime el ENTER
a. El motor de para
6. Dentro de un ciclo infinito porque podrá oprimirse las veces que uno quiera
VARIABLES
1. Cuando se usan los botones de la controladora se mandan valores a la
controladora
2. Los valores deben ser almacenados en alguna parte que llamaremos
VARIABLES
3. Se le llaman variables debido a que
a. Pueden obtener cualquier valor
b. Se le asigna un espacio en la memoria de la controladora donde se guardará ese valor
4. Hay diferentes tipos de variables
a. varX
b. Light VarX
c. Voice VarX
d. Magnet VarX
e. etc
Veamos paso a paso la programación
Para ejecutar acciones en un robot se puede ser automatizado o bien al oprimir
los botones del PLC o controladora.

Para este primer ejercicio se hará junto con el instructor la programación usando
los botones de DER, IZQ, ENTER
Actividad - Molino de viento
Nombre del programa:

Teclea “Molino1” en el cuadro de texto “Main Program Name” para poder


identificar el programa al ejecutarlo en la controladora.
Actividad - Molino de viento
Accionar en cualquier momento:

Se requiere un ciclo infinito para que el


programa quede en espera de recibir una
solicitud (tecla pulsada) para ejecutar una
acción.

Inicia con un bloque de


ciclo infinito.
Actividad - Molino de viento
Estado de tecla izquierda:
En la sección izquierda selecciona “Left Key”,
en la derecha, verifica que se está creando la
variable “Button Var1”.

Agrega un bloque Key


Detection para tecla izquierda.
Nota: Es recomendable inicializar sensores creando sus respectivas variables antes de usar en comparaciones
Actividad - Molino de viento
Estado de tecla derecha: En la sección izquierda selecciona “Right Key”, en la
derecha, haz clic en el nombre de variable “Button Var1”
para abrir la caja de variables y selecciona “Button Var2”;
a la derecha de la variable aparecerá el ícono de llave.

Agrega un bloque Key


Detection para tecla derecha.
Actividad - Molino de viento
Estado de tecla Enter: En la sección izquierda selecciona “Enter Key”, en la
derecha, haz clic en el nombre de variable “Button Var1”
para abrir la caja de variables y selecciona “Button Var3”;
a la derecha de la variable aparecerá el ícono de llave.

Agrega un bloque Key


Detection para tecla Enter.
Actividad - Molino de viento
¿Se pulsó la tecla izquierda?: En la sección izquierda selecciona “Left Key”.

Agrega un bloque Key En la sección derecha haz clic en “Convert to


Detection. a Compare block after detection”.
Actividad - Molino de viento
¿Se pulsó la tecla izquierda?: Una vez convertido a comparación, cambiará
el contenido de la sección derecha de la
ventana.

Agrega un bloque Key


Detection. La comparación debe ser: Button Var1 == 1
Actividad - Molino de viento
Que comience a girar el motor:
Selecciona puerto cero y velocidad de 50.

Agrega un bloque Set Motor en Cuando la comparación resulte verdadera el


la sección izquierda (Y). motor avanzará.
Actividad - Molino de viento
¿Se pulsó la tecla derecha?:
En la sección izquierda selecciona “Right Key”; en la
derecha, haz clic en el nombre de la variable y selecciona
“Button Var2” en la caja de variables.

Haz clic en “Convert to a Compare block after


Agrega un bloque Key
detection”.
Detection.
Actividad - Molino de viento
¿Se pulsó la tecla derecha?:
Una vez convertido a comparación, cambiará
el contenido de la sección derecha de la
ventana.

Agrega un bloque Key Condición 1 debe ser Button Var2 == 1 para


Detection. analizar si se pulsó la tecla derecha.
Actividad - Molino de viento
Girar en sentido inverso:
Agrega un bloque Set Motor en la sección
izquierda de la comparación “Right Key” (Y);
Puerto cero, velocidad -50.

Cuando la comparación resulte verdadera el


motor retrocederá.
Actividad - Molino de viento
¿Se pulsó la tecla Enter?:
En la sección izquierda selecciona “Enter Key”; en la
derecha, haz clic en el nombre de la variable y selecciona
“Button Var3” en la caja de variables.

Haz clic en “Convert to a Compare block after


Agrega un bloque Key
detection”.
Detection.
Actividad - Molino de viento
¿Se pulsó la tecla Enter?:
Una vez convertido a comparación, cambiará
el contenido de la sección derecha de la
ventana.

Agrega un bloque Key Condición 1 debe ser Button Var3 == 1 para


Detection. analizar si se pulsó la tecla Enter.
Actividad - Molino de viento
Detener motor:
Agrega un bloque Stop Motor en la sección
izquierda de la comparación ”ENTER” (Y);
Puerto cero.

Cuando la comparación resulte verdadera el


motor dejará de girar.
Actividad - Molino de viento
Fin de programa:
Agrega un bloque “End Block” para indicar el
fin del programa.

En las 3 comparaciones solo se ejecutan


acciones cuando el resultado es verdadero.

1. Encender motor con velocidad positiva


2. Encender motor con velocidad negativa
3. Apagar motor
EJECUCIÓN DEL
PROGRAMA
MOLINO DE VIENTO
Actividad - Molino de viento
● Conecta la controladora a la PC por medio
de cable USB.
● Descarga el programa a la controladora
haciendo clic en el botón “Download
program” en la barra de herramientas.
● Desconecta el cable USB.
● El motor debe estar conectado en DC 0.
● Selecciona el menú “Program” (ícono de
carpeta) en la controladora.
● Con las teclas izquierda y derecha localiza
el programa “Molino1” y presiona ENTER.
PROGRAMACIÓN
DEL MOLINO
AHORA USANDO
SENSORES
Actividad 4
Actividad - Molino de viento con sensores
Sugerencia de armado Piezas:
1. 1 molino
2. 1 sensor de sonido
3. 1 sensor de luz
4. 1 sensor magnético
5. 1 imán
6. 3 conector corto
7. 4 cubo conector
8. 2 conector tipo “A” mediano

Nota: En este proyecto no es necesario usar reductores de velocidad


Actividad - Molino de viento con sensores
Molino y
conectores
Actividad - Molino de viento con sensores
Molino y sensores Ensamble final
Actividad - Valores de sensores
Sugerencia de armado Piezas:
● 1 controladora
● 1 imán
● 1 sensor de luz
● 1 sensor de sonido
● 1 sensor magnético

Conectar sensores
● Puerto I/O 0 - Luz
● Puerto I/O 1 - Sonido
● Puerto I/O 2 - Magnético
ALERTA
Actividad 4
Molino de Viento La programación de esta actividad
es diferente a la presentada en el
con Sensores manual, evitando el uso de
condiciones anidadas.
Sugerencia de programación
Esta actividad será guiada y
explicada por el instructor
ANTES DE INICIAR...

VAMOS A
RAZONARLO…
¿Qué se necesita saber?
¿Qué se necesita?
1. Saber cómo se va a activar
a. Sensor de luz activa el motor a la derecha
b. Sensor de sonido activa el motor a la izquierda
c. Sensor magnético para el motor
2. Decirle al robot que usaremos SENSORES
3. Si aumenta la luz
a. El motor gira positivamente
4. Si aumenta el sonido
a. El motor gira negativamente
5. Si detecta un imán
a. El motor de para
6. Dentro de un ciclo infinito porque podrá oprimirse las veces que uno quiera
¿Qué se necesita? (Cont…)
1. Saber el valor de luz que tenemos en este momento
2. Saber el valor de sonido que tenemos en este momento

Por lo anterior es necesario que de manera manual se verifiquen los valores de los
sensores en la controladora.

Estos valores los usaremos en la programación. APÚNTENLOS


VARIABLES
1. Cuando se usan sensores se mandan valores a la controladora
2. Los valores deben ser almacenados en alguna parte que llamaremos
VARIABLES
3. Se le llaman variables debido a que
a. Pueden obtener cualquier valor
b. Se le asigna un espacio en la memoria de la controladora donde se guardará ese valor
4. Hay diferentes tipos de variables
a. varX
b. Light VarX
c. Voice VarX
d. Magnet VarX
e. etc
Actividad - Molino de viento con sensores
Nombre del programa:

Teclea “Molino2” en el cuadro de texto “Main Program Name” para poder


identificar el programa al ejecutarlo en la controladora.
Actividad - Molino de viento con sensores
Accionar en cualquier momento:

Se requiere un ciclo infinito para que el


programa quede en espera de recibir una
solicitud (activada por sensores) para
ejecutar una acción.

Inicia con un bloque de


ciclo infinito.
Actividad - Molino de viento con sensores
Estado de detector de luz:
Selecciona el puerto cero y verifica que se
está creando la variable “Light Var1”.

Agrega un bloque Light


Detection.
Nota: Es recomendable inicializar sensores creando sus respectivas variables antes de usar en comparaciones
Actividad - Molino de viento con sensores
Estado de detector de sonido:
Selecciona puerto 1 y verifica que se está
creando la variable “Voice Var1”.

Agrega un bloque Voice


Detection.
Actividad - Molino de viento con sensores
Estado de detector magnético:
Selecciona puerto 2 y verifica que se está
creando la variable “Magnet Var1”.

Agrega un bloque Magnetism


Detection.
Actividad - Molino de viento con sensores
¿Hay menos luz de la normal?: Selecciona puerto cero.

Agrega un bloque Light En la sección derecha haz clic en “Convert to


Detection. a Compare block after detection”.
Actividad - Molino de viento con sensores
¿Hay menos luz de la normal?: Ya convertido el bloque en comparación.

En la sección derecha la comparación debe


Agrega un bloque Light ser: Light Var1 < 200
Detection.
Nota: Ajusta el valor de la comparación de acuerdo a los resultados del ejercicio anterior
Actividad - Molino de viento con sensores
Que comience a girar el motor:
Selecciona puerto cero y velocidad de 50.

Agrega un bloque Set Motor en Cuando la comparación resulte verdadera el


la sección izquierda (Y). motor girará a la derecha.
Actividad - Molino de viento con sensores
¿Hay más ruido del normal?: Selecciona puerto 1.

Haz clic en “Convert to a Compare block


Agrega un bloque Voice Detection. after detection”.
Actividad - Molino de viento con sensores
¿Hay más ruido del normal?: Ya convertido en bloque de comparación.

Condición 1 debe ser Voice Var1 > 200 para


Agrega un bloque Voice Detection. analizar el sonido ambiental.
Nota: Ajusta el valor de la comparación de acuerdo a los resultados del ejercicio anterior
Actividad - Molino de viento con sensores
Girar en sentido inverso:
Agrega un bloque Set Motor en la sección
izquierda de la comparación (Y); puerto cero,
velocidad -50.

Cuando la comparación resulte verdadera el


motor girará a la izquierda.
Actividad - Molino de viento con sensores
¿Hay un imán cerca?: Agrega un bloque Magnetism Detection y
selecciona el puerto 2.

Haz clic en “Convert to a Compare block


after detection”.
Actividad - Molino de viento con sensores
¿Hay un imán cerca?: Ya convertido en bloque de comparación.

Condición 1 debe ser Magnet Var1 == 1 para


analizar si se acercó un imán al detector.
Actividad - Molino de viento con sensores
Detener motor:
Agrega un bloque Stop Motor en la sección
izquierda de la comparación (Y); puerto cero.

Cuando la comparación resulte verdadera el


motor dejará de girar.
Actividad - Molino de viento con sensores
Fin de programa: Agrega un bloque “End Block”, fuera del ciclo infinito, para
indicar el fin del programa.

En las 3 comparaciones solo se ejecutan acciones


cuando el resultado es verdadero:

1. Encender motor con velocidad positiva cuando la


luz disminuye
2. Encender motor con velocidad negativa cuando se
incrementa el sonido
3. Apagar motor cuando se acerca un imán al sensor
magnético
EJECUCIÓN
Molino de Viento
con Sensores
Ejecución del programa
Actividad - Molino de viento con sensores
● Conecta la controladora por USB.
● Descarga el programa a la controladora.
● Desconecta el cable USB.
● El motor debe estar conectado en DC 0,
detector de luz en puerto cero, detector de
sonido en puerto 1, detector magnético en
puerto 2
● Selecciona el menú “Program” (ícono de
carpeta) en la controladora.
● Con las teclas izquierda y derecha localiza
el programa “Molino2” y presiona ENTER.
Actividad
(opcional)
Valores de
Sensores
Sugerencia de programación
Actividad - Valores de sensores
Toma nota de los valores mostrados en pantalla; por ejemplo:

● Sensor de luz: Normalmente estará entre 400 y 800,


dependiendo de las condiciones ambientales; al cubrirlo con
la mano, su valor será inferior a 100.
● Sensor de sonido: Normalmente entre 150 y 300; al aplaudir
cerca, subirá a más de 800.
● Sensor magnético: Este es un dispositivo digital y solo tiene
dos valores (0 y 1); sin embargo, en el análisis de la
controladora para entrada análoga, muestra 4095 y este valor
no puede tomarse en cuenta al programar un robot.
Actividad - Valores de Sensores
Nombre del programa:

Teclea “Sensor1” en el cuadro de texto “Main Program Name” para poder


identificar el programa al ejecutarlo en la controladora.
Actividad - Valores de sensores
Accionar en cualquier momento:

Se requiere un ciclo infinito para que el


programa muestre constantemente los
valores de sensores en la pantalla de la
controladora.

Inicia con un bloque de


ciclo infinito.
Actividad - Valores de sensores
Crear variable para sensor de luz:
Selecciona puerto cero, se creará la variable
Light Var1.

Agrega un bloque Light


Detection.
Nota: Es recomendable inicializar sensores creando sus respectivas variables antes de usar sus valores
Actividad - Valores de sensores
Crear variable para sensor de sonido:
Selecciona puerto 1, se creará la variable
Voice Var1.

Agrega un bloque Voice


Detection.
Actividad - Valores de sensores
Crear variable para sensor magnético:
Selecciona puerto 2, se creará la variable
Magnet Var1.

Agrega un bloque
Magnetism Detection.
Actividad - Valores de sensores
Mostrar valores en pantalla: Usa una línea para el nombre del sensor y otra
para su variable, marcando la casilla “Variable”
y seleccionando la que corresponda en la caja
de variables (ver siguiente diapositiva).

Agrega un bloque Display.


Nota: No olvides agregar un bloque “End Block” para indicar el fin del programa.
Actividad - Valores de sensores
Caja de variables: Se activa al hacer clic en el nombre de variable en una ventana
de diálogo o al marcar la casilla “Variable”.

Haz clic en el botón del sensor correspondiente. Se mostrarán


con fondo amarillo las variables creadas; haz clic en la que vayas
a usar y después en OK para cerrar la ventana.
Actividad
OPCIONAL
Valores de
Sensores
Ejecución del programa
Actividad - Valores de sensores
● Conecta la controladora a la PC por USB.
● Haz clic en el botón “Download program” en
la barra de herramientas.
● Desconecta el cable USB.
● Conecta los sensores (Luz: puerto cero,
sonido: puerto 1, magnético: puerto 2,
temperatura: puerto 3).
● Selecciona el menú “Program” (ícono de
carpeta) en la controladora.
● Con las teclas izquierda y derecha localiza
el programa “Sensor1” y presiona ENTER.
Actividad 5

Descripción del problema y


sugerencia de armado
Actividad - Levanta pesas
ESCENARIO
● Una bodega de productos de gimnasio pierde mucho dinero ya que no
encuentra sus productos y además se rompen muy seguido antes de salir a la
tienda para ser vendidos

● Cuál es la problemática?

● Cuál es la solución?
Actividad - Levanta pesas
● Esta actividad no es por puntos
● Se puede armar sin apoyo o con apoyo de diapositivas
● Se dará un tiempo de 60 minutos para el armado

Las piezas claves son:


● Motor
● Tornillo guía
● Contador
● Reductores de velocidad
● Escaleras
Actividad - Levanta pesas
Piezas:
Sugerencia de armado 1. 31 cubo conector
2. 1 tableta 6x4
3. 1 motor
4. 1 cable para motor
5. 2 engranaje 1:1
6. 1 engranaje reductor 5:1
7. 1 contador magnético
8. 5 medio cubo conector
9. 4 conector medio
10. 4 escalera
11. 1 tornillo guía
12. 6 conector transparente
13. 3 conector redondo medio
14. 1 tubo cuadrado 80 mm
15. 2 cubo para rueda
16. 2 rueda
Actividad - Levanta pesas
Base Motor y soportes

Nota: El engranaje 1:1 permite cambiar la orientación de la tracción, de horizontal a vertical


Actividad - Levanta pesas
Base y motor Contador y tornillo
guía

● Abajo el contador
magnético, colocando
primero el imán giratorio
y con el cable hacia
atrás
● Después el engranaje
1:1
● Arriba el tornillo guía
Nota: El uso de otro engranaje 1:1 invierte el giro del motor
Actividad - Levanta pesas
Columnas Columnas y base
Actividad - Levanta pesas
Protector de Estabilizador de
engranajes guía
Actividad - Levanta pesas
Columna de Brazos de carga
carga
Actividad - Levanta pesas
Torre y columna Pesa y montaje
de carga final
Actividad “Levanta ALERTA
pesas usando el La programación de esta actividad

PLC para activar el es diferente a la presentada en el


manual, adaptando la funcionalidad
robot” del contador magnético, pues solo
incrementa, independientemente
Sugerencia de programación del sentido en que gira el motor.
Esta actividad será guiada y
explicada por el instructor
ANTES DE INICIAR...

VAMOS A
RAZONARLO…
¿Qué se necesita saber?
¿Qué se necesita?
1. Saber cómo se va a activar
a. Botón izquierda sube
b. Botón derecha baja
2. Decirle al robot que usaremos BOTONES de la controladora
3. Si se oprime la flecha izquierda y está abajo
a. Sube la pesa
4. Si se oprime la flecha izquierda y está arriba
a. No pasa nada
5. Si se oprime la flecha derecha y está arriba
a. Baja la pesa
6. Si se oprime la flecha derecha y está abajo
a. No pasa nada
7. Dentro de un ciclo infinito porque podrá oprimirse las veces que uno quiera
¿Qué se necesita? (Cont…)
1. Cuánto va a subir
2. Cuánto va a bajar
VARIABLES
1. Cuando se usan botones de la controladora se mandan valores a la
controladora
2. Los valores deben ser almacenados en alguna parte que llamaremos
VARIABLES
3. Se le llaman variables debido a que
a. Pueden obtener cualquier valor
b. Se le asigna un espacio en la memoria de la controladora donde se guardará ese valor
4. Hay diferentes tipos de variables
a. varX
b. Light VarX
c. Voice VarX
d. Magnet VarX
e. etc
Actividad - Levanta pesas
Nombre del programa:

Teclea “Pesas1” en el cuadro de texto “Main Program Name” para poder


identificar el programa al ejecutarlo en la controladora.
Actividad - Levanta pesas
Inicializar contador: En la parte de arriba selecciona “Start
Counter” para inicializar el contador en 1;
abajo, selecciona el puerto cero.

Agrega un bloque Counter.


Actividad - Levanta pesas
Activar en cualquier momento:

Se requiere un ciclo infinito para que el


programa quede en espera de recibir una
solicitud (activada por sensores) para
ejecutar una acción.

Agrega un ciclo infinito.


Actividad - Levanta pesas
Obtener valor del contador: En la parte de arriba selecciona “Get Counter”
para obtener el valor del contador en la
variable “Counter Var1”; abajo, selecciona el
puerto cero.

Agrega un bloque Counter.


Actividad - Levanta pesas
Inicializar tecla izquierda:
En la izquierda selecciona “Left Key”, en la
derecha verifica que se va a crear la variable
“Button Var1”.

Agrega un bloque Key


Detection.
Actividad - Levanta pesas
Inicializar tecla derecha:
En la izquierda selecciona “Right Key”, en la
derecha verifica que se va a crear la variable
“Button Var2” usando la caja de variables.

Agrega un bloque Key


Detection.
Actividad - Levanta pesas
¿Se pulsó la tecla izquierda?: Usa la caja de variables para seleccionar
“Button Var1”.

Atención:

Todavía no cierres esta


ventana, falta configurar
la segunda condición; la
pesa se levantará solo si
está abajo, es decir, si el
contador es igual o menor
que 1.
La comparación en “Condition 1” debe ser
Agrega un bloque Compare. Button Var1 == 1
Actividad - Levanta pesas
Haz clic en la pestaña “Condition 2”, marca la
¿La pesa está abajo?:
casilla “Valid” y usa la caja de variables para
seleccionar “Counter Var1”.
Atención:

En “Logic Relation” selecciona


“AND”

En la primera ejecución el
valor del contador es 1,
posteriormente es cero.
La comparación en “Condition 2” debe ser Counter Var1 <= 1,
interpretando ambas condiciones como:
Button Var1 == 1 AND Counter Var1 <= 1
La pesa será levantada solo si está abajo.
Actividad - Levanta pesas
Levantar la pesa: Agrega un bloque Set Motor a la izquierda
izquierda de la comparación (Y); selecciona
puerto cero y velocidad de 80.
Actividad - Levanta pesas
Límite de 50 vueltas:

Recuerda que hay un límite de 50 vueltas del


tornillo guía y se va a controlar por medio del
contador magnético.

Será necesario agregar un ciclo en base a


condición para llegar a ese punto.
Actividad - Levanta pesas
Limitar a 50 vueltas: Agrega un bloque Condition Loop; usa la caja
de variables para seleccionar “Counter Var1” y
establece la condición en:
Counter Var1 < 50

Atención:

Al término de las 50
vueltas el programa
saldrá del ciclo.
Actividad - Levanta pesas
Obtener contador: Agrega un bloque Counter abajo del rombo del
ciclo (Y); selecciona “Get Counter”, puerto cero
y verifica que la variable sea Counter Var1.

Atención:

Esto hará que se actualice


la variable Counter Var1 y
se evalúe en cada
iteración del ciclo.
Actividad - Levanta pesas
Detener motor: Abajo del ciclo (N) agrega un bloque Stop
Motor y selecciona puerto cero.
Actividad - Levanta pesas
¿Se pulsó la tecla derecha?: Usa la caja de variables para seleccionar
“Button Var2”.
Atención:

Todavía no cierres esta


ventana, falta configurar
la segunda condición; la
pesa se bajará solo si
está arriba, es decir, si el
contador es mayor que
uno.
La comparación en “Condition 1” debe ser
Agrega un bloque Compare, al final
de la primera comparación. Button Var2 == 1
Actividad - Levanta pesas
Haz clic en la pestaña “Condition 2”, marca la
¿La pesa está arriba?:
casilla “Valid” y usa la caja de variables para
seleccionar “Counter Var1”.
Atención:

En “Logic Relation” selecciona


“AND”

En la primera ejecución el
valor del contador es 1,
posteriormente es cero.
La comparación en “Condition 2” debe ser Counter Var1 > 1,
interpretando ambas condiciones como:
Button Var2 == 1 AND Counter Var1 > 1
La pesa se bajará solo si está arriba..
Actividad - Levanta pesas
Bajar pesa: Agrega un bloque Set Motor a la izquierda
izquierda de la comparación (Y); selecciona
puerto cero y velocidad de -80.
Actividad - Levanta pesas
Límite de 50 vueltas:
Recuerda que el contador siempre se
incrementa, independientemente del sentido en
el que gire el motor.

El valor actual es de 50 y hay dos opciones:


1. Reiniciar contador y comenzar de cero
2. Continuar con el valor actual hasta llegar a
100; esta es la que usarás
Actividad - Levanta pesas
Limitar a 50 vueltas: Agrega un bloque Condition Loop; usa la caja
de variables para seleccionar “Counter Var1” y
establece la condición en:
Counter Var1 < 100

Atención:

Cuando el contador llegue


a 100 el programa saldrá
del ciclo; recuerda que el
contador inició en 50.
Actividad - Levanta pesas
Obtener contador: Agrega un bloque Counter abajo del rombo del
ciclo (Y); selecciona “Get Counter”, puerto cero
y verifica que la variable sea Counter Var1.

Atención:

Esto hará que se actualice


la variable Counter Var1 y
se evalúe en cada
iteración del ciclo.
Actividad - Levanta pesas
Detener motor: Abajo del ciclo (N) agrega un bloque Stop
Motor y selecciona puerto cero.
Actividad - Levanta pesas
Detener motor: Agrega un bloque Counter; arriba selecciona
“Clear Counter” y abajo el puerto cero.

Atención:

Esto pondrá el contador


en cero y permitirá que el
programa identifique que
la pesa está abajo.

Nota: No olvides agregar un bloque “End Block”, fuera del ciclo infinito, para indicar el fin del programa
Actividad
Levanta Pesas
Automatizada
Descripción del problema y
sugerencia de armado
Actividad - Levanta pesas
ESCENARIO
● El uso del levanta pesas ha disminuido considerablemente las pérdidas, pero
el dueño de la bodega cree que aún puede hacer algo para mejorar los
procesos.

● Cuál es la problemática?

● Cuál es la solución?
Actividad - Levanta pesas automatizada
Piezas:
Sugerencia de armado 1. 1 levanta pesas con
contador magnético
2. 2 sensor magnético
3. 2 medio cubo
conector
4. 1 cubo conector
5. 6 conector tipo “A”
mediano
6. 1 imán
Actividad - Levanta pesas automatizada
Sensores Imán
magnéticos (2)
Actividad - Levanta pesas automatizada
Imán en levanta Sensores en torre
pesas

Nota: Integra dos sensores magnéticos, el de arriba en puerto 0, el de abajo en puerto 1.


PROGRAMACIÓN
CON SENSORES
Actividad “Levanta
pesas
automatizada”
Sugerencia de programación
Actividad - Levanta pesas automatizada
Nombre del programa:

Teclea “Pesas2” en el cuadro de texto “Main Program Name” para poder


identificar el programa al ejecutarlo en la controladora.
Actividad - Levanta pesas automatizada
Subir la pesa: Selecciona puerto cero y velocidad 80.

Agrega un bloque Set Motor.


Actividad - Levanta pesas automatizada
Inicializar sensor superior: Recuerda que antes de comparar el valor de
un sensor se debe inicializar.
Selecciona puerto cero y verifica que se está
creando la variable Magnet Var1.

Agrega un bloque Magnetism


Detection.
Actividad - Levanta pesas automatizada
¿Cuando dejar de subir?: Usa la caja de variables y establece la
condición en Magnet Var1 == 0

El ciclo se ejecutará
hasta que el imán se
acerque al sensor,
cambiando el valor
de Magnet Var1 a 1.

Agrega un bloque Condition


Loop.
Actividad - Levanta pesas automatizada
Actualizar variable: Selecciona puerto cero; esto hará que la
variable se actualice en cada iteración del
ciclo para poder salir cuando el imán esté en
rango de detección y el valor cambie a 1.

Agrega un bloque Magnetism


Detection dentro del ciclo.
Actividad - Levanta pesas automatizada
La pesa está arriba: Selecciona puerto cero.

La pesa ya llegó hasta arriba, por eso es


necesario detener el motor.

Agrega un bloque Stop Motor


fuera del ciclo.
Actividad - Levanta pesas automatizada
Hacer una breve pausa: Teclea 1 en el cuadro de texto.

Agrega un bloque Wait.


Actividad - Levanta pesas automatizada
Bajar la pesa: Selecciona puerto cero y velocidad -50 para
iniciar el descenso.

Agrega un bloque Set Motor.


Actividad - Levanta pesas automatizada
Inicializar sensor inferior: Selecciona puerto 1 y usa la caja de
variables para seleccionar la variable Magnet
Var2.

Agrega un bloque Magnetism


Detection.
Actividad - Levanta pesas automatizada
¿Cuando dejar de bajar?: Usa la caja de variables y establece la
condición en Magnet Var2 == 0

El ciclo se ejecutará
hasta que el imán se
acerque al sensor,
cambiando el valor
de Magnet Var2 a 1.

Agrega un bloque Condition


Loop.
Actividad - Levanta pesas automatizada
Actualizar variable: Selecciona puerto 1 y variable Magnet Var2;
esto hará que la variable se actualice en
cada iteración del ciclo para poder salir
cuando el imán esté en rango de detección y
el valor cambie a 1.

Agrega un bloque Magnetism


Detection dentro del ciclo.
Actividad - Levanta pesas automatizada
La pesa está abajo: Selecciona puerto cero.

La pesa ya llegó hasta abajo, por eso es


necesario detener el motor.

Agrega un bloque Stop Motor


fuera del ciclo.
Nota: No olvides agregar un bloque “End Block” para indicar el fin del programa.
Actividad 6 ESTA ACTIVIDAD ES OPCIONAL
Grúa Chatarrera PARA HACERSE EN CASA

(opcional)
Descripción del problema y
sugerencia de armado
Actividad - Grúa chatarrera
Problema:
● En el yonke requieren procesar los bloques de chatarra de una mejor forma,
porque no es posible cargarlos manualmente y se han registrado accidentes
al usar el montacargas convencional.

Retos:
● Crear una grúa chatarrera usando 1 electroimán,
1 polea, 1 cubo para rueda y 1 cuerda.
● Crear el diagrama de flujo con ciclo infinito.
● Usar 2 botones (switch) para subir y bajar la carga, 1 sensor de luz para
activar electroimán y un sensor magnético para desactivarlo.
Actividad - Grúa chatarrera Sugerencia de armado
Piezas:
1. 1 tableta 6x4
2. 1 tableta 8x4
3. 33 cubo conector
4. 1 engranaje 1:1 con conector
5. 1 tableta 2x4
6. 3 engranaje reductor 5:1
7. 1 electroimán
8. 1 motor
9. 1 cable para motor
Dependiendo del kit, esta pieza se
10. 2 medio cubo conector
usa en lugar de 4 y 23
11. 14 conector medio
12. 1 botella verde 17. 1 tubo redondeado 20 mm 22. 1 cuadro giratorio
13. 1 imán 18. 4 conectores tipo “L” 23. 1 tubo redondeado 40 mm
14. 1 cubo para rueda 19. 1 polea 24. 2 conector transparente
15. 1 sensor de luz 20. 1 cuerda 25. 2 sensor de botón (switch)
16. 1 tubo cuadrado 20 mm 21. 1 engrane pequeño 12 mm 26. 1 sensor magnético
Actividad - Grúa chatarrera
Estabilizadores Montaje
de electroimán electroimán
Actividad - Grúa chatarrera
Electroimán y Base
cuerda

Nota: No es necesario hacer doble nudo a la cuerda, solo asegúrate de que no se suelte fácilmente
Actividad - Grúa chatarrera
Torre Motor

Dependiendo del kit, esta


pieza puede ser diferente.
Actividad - Grúa chatarrera
Motor y soportes Motor y cubo para
cuerda
Actividad - Grúa chatarrera
Torre y motor Torre y polea

Nota: El engrane pequeño es útil para evitar que la polea se salga de su eje
Actividad - Grúa chatarrera
Base y torre Montaje de grúa

Nota: Inserta el extremo de la cuerda en el cubo y activa el motor con la controladora para ajustarla
Actividad - Grúa chatarrera
Soportes de Montaje final
sensores
Actividad - Grúa chatarrera

Conecta el motor en el puerto cero (parte superior de la


controladora) y los dispositivos en la parte izquierda:
- Botón 1: Puerto 0
- Botón 2: Puerto 1
- Sensor de luz: Puerto 2
- Sensor magnético: Puerto 3
- Electroimán: Puerto 4
Actividad 3.4
Grúa Chatarrera
Sugerencia de programación
Actividad - Grúa chatarrera
Nombre del programa:

Teclea “Grua1” en el cuadro de texto “Main Program Name” para poder identificar
el programa al ejecutarlo en la controladora.
Actividad - Grúa chatarrera
Accionar en cualquier momento:

Se requiere un ciclo infinito para que el


programa quede en espera de recibir una
solicitud (activada por sensores) para
ejecutar una acción.

Inicia con un bloque de


ciclo infinito.
Actividad - Grúa chatarrera
Inicializar botón para subir: Selecciona puerto cero y verifica que se está
creando la variable Switch Var1.

Agrega un bloque Switch


Detection.
Actividad - Grúa chatarrera
Inicializar botón para bajar: Selecciona puerto 1 y usa la caja de
variables para seleccionar Switch Var2.

Agrega otro bloque Switch


Detection.
Actividad - Grúa chatarrera
Inicializar sensor de luz: Selecciona puerto 2 y verifica que se esté
creando la variable Light Var1.

Agrega un bloque Light


Detection.
Actividad - Grúa chatarrera
Inicializar sensor magnético: Selecciona puerto 3 y verifica que se esté
creando la variable Magnet Var1.

Agrega un bloque
Magnetism Detection.
Actividad - Grúa chatarrera
Agrega un bloque Switch Detection,
¿Se presionó el botón 1?:
selecciona puerto cero y haz clic en “Convert
to a Compare block after detection.

La comparación debe ser Switch Var1 == 1


para saber que se presionó el botón.
Actividad - Grúa chatarrera
En la parte izquierda de la comparación (Y)
Subir electroimán:
agrega un bloque Set Motor. El motor
encenderá solo cuando el resultado sea
verdadero.

Selecciona puerto cero y velocidad 50 para


hacer subir el electroimán.
Actividad - Grúa chatarrera
¿No se presionó el botón 1?:

Si el resultado de la comparación es falso, se


ejecutarán los bloques de la derecha (N),
incluso si se trata de otra comparación.
Actividad - Grúa chatarrera
En la parte derecha de la comparación (Y)
¿Se presionó el botón 2?:
agrega un bloque Switch Detection y haz clic
en “Convert to a Compare block after
detection”.

Selecciona puerto 1 y usa la caja de


variables para establecer la condición
Switch Var2 == 1
Actividad - Grúa chatarrera
En la parte izquierda de la segunda
Bajar electroimán:
comparación (Y) agrega un bloque Set
Motor. El motor encenderá solo cuando el
resultado sea verdadero.

Selecciona puerto cero y velocidad -50 para


hacer bajar el electroimán.
Actividad - Grúa chatarrera
En la parte derecha de la segunda
Detener motor:
comparación (N) agrega un bloque Stop
Motor. El motor se apagará si no se presionó
un botón.

Selecciona puerto cero.


Actividad - Grúa chatarrera
Detener motor:
En el diagrama se marcan 3 conectores:

1. Fin de la primera comparación.


2. Fin de la segunda comparación.
3. Fin del ciclo.

Agrega los siguientes bloques en el conector


marcado con 1.
Actividad - Grúa chatarrera
En el conector final de la primera
¿Hay poca luz?:
comparación, agrega un bloque Light
Detection y haz clic en “Convert to a
Compare block after detection”.

Selecciona puerto 2 y la comparación:


Light Var < 200.
Actividad - Grúa chatarrera
En la sección izquierda de la
Activar electroimán:
comparación (Y) agrega un bloque
Electromagnet.

Selecciona puerto 4 y estado On.


Actividad - Grúa chatarrera
En la sección derecha de la comparación
¿Hay un imán cerca del sensor?: (N) agrega un bloque Magnetism Detection
y haz clic en “Convert to a Compare block
after detection”.

Selecciona puerto 3 y comparación:


Magnet Var1 == 1.
Actividad - Grúa chatarrera
En la sección izquierda de la
Desactivar electroimán:
comparación (Y) agrega un bloque
Electromagnet.

Selecciona puerto 4 y estado Off.


Actividad - Grúa chatarrera
Fin de programa:

Agrega un bloque “End block” al


final del diagrama para indicar el fin
del programa.
Actividad - Grúa chatarrera
Descarga el programa a la controladora y ejecútalo.

Utiliza los botones para subir o bajar la grúa, cuando esté cerca de la carga
(botella), activa el electroimán cubriendo con tu mano el sensor de luz.

Sube y baja nuevamente la grúa y acerca un imán al sensor magnético para


liberar la carga.
FIN DE LA SESIÓN

Вам также может понравиться