tema 4: control y robÓtica - para ayuda de clase de ... · componentes del robot para que ejecute...
Post on 02-Nov-2018
220 Views
Preview:
TRANSCRIPT
TEMA 4: CONTROL Y ROBÓTICA
I. INTRODUCCIÓN A LA ROBÓTICA
Sistema de control
• Definición.
Dispositivos o conjunto de dispositivos, capaces de ordenar, dirigir y regular su propio comportamiento, o el de otros
sistemas.
Según el método de control utilizado se clasifican en:
1) Sistema de lazo abierto.
2) Sistema de lazo cerrado.
Robótica
• Definición.
La robótica se ocupa del diseño y la construcción de máquinas capaces de desempeñar tareas que resultan
repetitivas, requieren una alta precisión o son peligrosas o imposibles de realizar por los seres humanos.
• Evolución de la robótica, (fases).
Se entiende por MECANIZACIÓN la incorporación de máquinas para ejecutar determinadas tareas; el propósito no es
otro que realizar, de forma automática, una serie de acciones que anteriormente se llevan a cabo de modo manual.
El resultado final es una mayor rapidez en el trabajo y, en determinados casos, una mejor calidad en el resultado.
La AUTOMATIZACIÓN consiste en eliminar, de forma parcial o total, la intervención de personas en la ejecución del
trabajo. Las máquinas automáticas pueden repetir continuamente la acción para la que están diseñadas, pero sin
posibilidad de variar su funcionamiento. Las consecuencias más directas son el aumento de la productividad y la
ejecución de tareas desagradables o peligrosas sin participación humana.
La ROBOTIZACIÓN también es una automatización, pero en este caso, las máquinas utilizadas son capaces de llevar a
cabo diferentes acciones según se las programe; además serán capaces de captar información de su alrededor y
procesarla, para variar posteriormente su acción en función del resultado obtenido.
DEFINICIÓN DE ROBOT
Podemos decir que un robot es una máquina que cumple dos características básicas:
• Hace un trabajo físico en sustitución de las personas
• Tiene algo de inteligencia, lo que le permite variar su forma de trabajar en función de la tarea que tiene que
hacer.
Luego un robot es una máquina que puede ejecutar distintas tareas en sustitución de las personas, bien bajo su
supervisión directa, bien de forma autónoma. Los más avanzados son capaces de adaptar su comportamiento a las
circunstancias de cada momento.
Un robot es capaz de captar información del entorno y, en función de los datos que recibe, realiza alguna
acción como respuesta. La diferencia entre un robot y un mecanismo es que los mecanismos realizan funciones
repetitivamente, independientemente de que cambien las condiciones de su entorno. En cambio, los robots solo
reaccionan cuando se producen determinados cambios en sus proximidades.
Hay robots de muchos tipos, que se pueden clasificar atendiendo a distintos criterios: por su forma, según la
función que realizan, por su nivel de inteligencia. La mayoría de los robots actuales son industriales. Más del 90% de
los robots se utilizan en las industrias, especialmente en la industria automovilística, donde hacen trabajos de
soldadura, montaje, pintura,..
COMPONENTES DE UN ROBOT
Los robots constan de tres componentes principales:
• Los sensores que facilitan la información necesaria para que los robots interpreten el entorno en el que se
desenvuelven. Percibe las características del entorno y el estado del mismo robot y los envían a la unidad de
control, que decide qué secuencia de órdenes tienen que ejecutar los actuadores. Podemos dividir los
sensores en dos grandes grupos:
o Sensores internos, que captan la información relacionada con el estado y las características del
robot. Entre otras captan la información relacionada con
� la posición y movimiento de los motores
� la posición de las articulaciones y brazos
� la fuerza que realiza la herramienta
� la temperatura de cierta parte del robot
� …
o Sensores externos que son los encargados de captar el estado del entorno del robot y proporcionar
información sobre la posición de un objeto, la presencia de un obstáculo,… Los robots pueden estar
equipados con sensores de temperatura, humedad, de presión, de luz… No obstante, gran parte de
los robots suelen estar provistos de sensores táctiles y de presencia.
• La unidad de control que se ocupa de procesar la información que recibe de los sensores y tomar decisiones
de acuerdo con ella. Generalmente es un ordenador el que se encarga de controlar los diferentes
componentes del robot para que ejecute las acciones previstas. Dicho ordenador sueles ir unido a una
controladora que dispone de una serie de entradas y salidas a través de las cuales recibe las señales de los
sensores y envía instrucciones a los actuadores
• Los actuadores que son aquellos elementos encargados de proporcionar la fuerza necesaria para dotar de
movimiento a las articulaciones y extremidades del robot. Pueden ser hidráulicos, neumáticos o eléctricos,
dependiendo de la fuerza y precisión que se quieran conseguir.
o Los actuadores eléctricos se usan en robots que no precisan una alta potencia y velocidad y en
aquellas aplicaciones que piden exactitud y repetitividad.
o Los actuadores neumáticos. La fuente de energía es el aire comprimido. Ofrecen poca precisión en el
posicionamiento y se usan en circunstancias en las que es suficiente el posicionamiento de dos
estados, como en la apertura y el cierre de unas pinzas.
o Los actuadores hidráulicos. La fuente de energía es el aceite mineral a alta presión. Se emplean en
robots de gran envergadura en los que se precisa una velocidad alta y la manipulación de cargas
pesadas.
Unidos a los actuadores están los elementos terminales que son los elementos encargados de interaccionar
directamente con el entorno del robot. Se pueden clasificar en dos categorías:
• Elementos de sujeción, que se utilizan para coger y sujetar los objetos y normalmente se los llama
pinzas.
• Herramientas, cuando el robot tiene que usar una herramienta en concreto (pintar, soldar, cortar,
perfilar, pulir,…)
ROBOT INDUSTRIAL
Un robot industrial es un manipulador capaz de manejar herramientas o instrumentos especializados a
través de movimientos programados. Los más habituales consisten en un brazo articulado en cuyo extremo se
acopla una herramienta. Los movimientos que puede realizar el brazo dependen del tipo y número de articulaciones.
Básicamente encontramos, de nuevo, tres partes en un robot industrial:
• Ordenador, que controla el robot y envía las órdenes que ejecuta el brazo robótico. Está protegido por un
armario metálico.
• El brazo que está compuesto por una estructura metálica y motores neumáticos, hidráulicos o eléctricos que
le dan movimiento
• La herramienta de trabajo que hace el trabajo para el que está programado el robot.
Entre muchos otros usos los robots se emplean en:
• Soldadura
• Aplicación de materiales, tales como pinturas, esmalte o partículas de metal, con fines decorativos o de
protección
• Aplicación de sellantes y adhesivos
• Alimentación de máquinas como hornos, estampadoras o prensas
• Corte
• Montaje y ensamblado
• Paletización, que consiste en disponer piezas sobre una plataforma (palet) procurando que la disposición sea
estable, fácil de manipular y con la menor extensión posible.
Llamamos configuración de un robot industrial a la forma que le ha sido dada al brazo y al tipo de movimientos que
puede realizar. Hay seis configuraciones básicas:
1. Cartesiana: tres movimientos lineales
2. Cilíndrica: dos movimientos lineales y uno de rotación
3. Polar o esférica: Tiene tres articulaciones y cada una de ellas puede realizar un movimiento distinto:
rotacional, angular y lineal
4. Angular o de brazo articulado: Tiene una articulación con movimiento rotacional y dos con movimientos
angulares. Son los más comunes, presenetan gran maniobrabilidad y son capaces de hacer movimientos
rápidos y muy complejos.
5. Scara: El brazo tiene dos articulaciones rotacionales y una tercera que le permite hacer movimiento lineal.
6. En paralelo: La herramienta o elemento terminal se acciona por, al menos, dos cadenas de mecanismos
independientes.
ROBOT DE SERVICIOS
Están diseñados para ayudarnos a hacer las tareas domésticas. De momento hay pocos modelos, ya que se trata de
un campo nuevo y de mucha complejidad. Se pueden encontrar robots que aspiran el polvo del suelo, cortan el
césped de los jardines,…
También se utilizan en ámbitos en los que existen unas condiciones extremas del entorno de trabajo (ambientes
contaminantes, construcción, salas asépticas…) o bien en aquellos donde es necesaria una elevada exigencia en los
resultados (robots médicos).
ROBOTS TELEMANIPULADORES
Son robots controlados directamente por personas a través de un mando o desde la pantalla de un ordenador. No
tienen la capacidad de tomar decisiones de forma autónoma y se utilizan para llegar a lugares donde no pueden
llegar las personas o es peligroso ir.
ROBOTS ESPACIALES
Resulta más barato y sencillo enviar un pequeño robot, en lugar de a una persona, a explorar un planeta. Muchos de
estos robots son telemanipuladores (controlados manualmente desde la Tierra), a pesar que los nuevos modelos
tienen cada vez más capacidad de tomar decisiones propias, lo que los hace más autónomos y eficaces.
II. EL ORDENADOR COMO DISPOSITIVO DE CONTROL
El ordenador es el medio que habitualmente se utiliza para controlar un robot o cualquier otro dispositivo
robotizado. Este control suele hacerse mediante un lenguaje de programación que permite indicar las acciones que
debe llevar a cabo, y cómo debe procesar la información que le llega del exterior a través de sensores para tomar las
decisiones en función de los resultados.
Una tarjeta de control o controladora es un sistema o equipo electrónico que permite la comunicación entre el
ordenador y el sistema o máquina a controlar. Es un dispositivo que actúa de intermediario entre el mundo exterior
y el ordenador. Por un lado, se encarga de digitalizar la información analógica procedente de los sensores para que
el ordenador pueda procesarla, y por otro lado se ocupa de realizar el proceso contrario, transformando la
información suministrada por el ordenador para que los actuadores puedan comprenderla y comportarse de
acuerdo con la señal que reciban
CONTROLADORA CNICE
Salidas digitales Entradas digitales
Masa
Entradas analógicas
Conector 25 pines
Conector alimentación
La controladora CNICE es una interfaz de control que dispone de los siguientes elementos:
• Ocho entradas digitales con niveles TTL. Para que se pueda recoger la señal en una entrada digital se ha de
conectar un cable a la entrada de la fuente emisora de la señal y otro a la conexión MASA, recogiendo,
únicamente, la activación o no activación de dicha entrada. Hay que recordar que en esta controladora se
utiliza lógica negativa para las entradas digitales, es decir, cuando las entradas están al aire o se les introduce
un valor 1, se interpreta un 0; por el contrario, si se le introduce un 0 en la entrada se leerá un 1.
• Ocho salidas digitales. En esta controladora cuando una salida digital no está activada emite una señal de
0V, por el contrario, si se activa emitirá una señal de 5 V.
• Cuatro entradas analógicas. Las entradas analógicas, al contrario que las digitales, recogen una señal
variable de entre 0 y 5 V. También debemos saber que la lectura de las entradas, tanto analógicas como las
digitales, se realiza en dos partes: primero se lee la parte alta y después la parte baja del dato de entrada.
• Conector de fuente de alimentación. La fuente de alimentación es el circuito que se encarga de suminsitrar
energía eléctrica adecuada a toda la placa controladora. Al conector de entrada se le conectará un
transformador con un voltaje de salida de 12 V. Si la conexión a la red es correcta se debe encender un led
rojo.
• Conector macho de 25 pines. La comunicación entre la controladora y el ordenador se realiza a través del
puerto paralelo LPT y para ello la placa controladora tiene un conector macho de 25 pines. Se debe unir el
puerto paralelo del PC al conector de 25 pines mediante un cable de 25 contactos macho-hembra.
• Masa. Sirve para conectarse a MASA o a tierra, es decir, a 0 V. Para que exista corriente eléctrica tiene que
existir diferencia de potencial entre dos puntos.
En el proceso de conexión deberemos tener en cuenta las siguientes consideraciones:
• Una salida digital, cuando se activa, emite una señal de 5 Voltios. Si no lo está la señal será de 0 voltios.
Cuando una salida digital está activada su LED correspondiente debe estar encendido.
• Para que se pueda recoger la señal en una entrada digital se ha de conectar un cable desde la fuente
emisora de la señal (pulsador, motor, etc.) a la entrada y otro a la conexión MASA de la tarjeta de control. En
este caso sólo se recoge la activación o no activación de dicha entrada al ser de tipo digital.
• Las entradas analógicas, al contrario que las digitales, recogen una señal variable de entre 0 y 5 Voltios. Para
recoger la señal en una entrada de este tipo se debe conectar un cable desde la fuente emisora de la señal a
la entrada y otro a la conexión GND de la placa.
Para conseguir un perfecto funcionamiento de la tarjeta de control y para mantener en óptimas condiciones
asegúrese de cumplir las siguientes recomendaciones:
• Desconecte el ordenador y la tarjeta de control de la tensión de red antes de proceder a la conexión o
desconexión de la tarjeta en el puerto de impresora (conector hembra de 25 contactos).
• A la hora de desconectar los equipos, desconecte de la red primero la tarjeta de control y posteriormente el
ordenador.
• Evite la utilización de la tarjeta en lugares donde exista agua o líquidos.
• No manipule con las manos la tarjeta (tocando las pistas del circuito impreso) mientras el equipo esté
conectado.
• Siempre que conecte o desconecte algún circuito con la tarjeta, asegúrese de que la alimentación de la
tarjeta está desconectada.
Al conectar o desconectar circuitos con la tarjeta asegúrese de que no se producen cortocircuitos entre los cables a
conectar y los componentes de la tarjeta.
ENTRADAS DIGITALES
En nuestra tarjeta tenemos ocho posibles entradas digitales. Para saber si tenemos algún puerto conectado o hay
algún tipo de corriente eléctrica en funcionamiento utilizaremos la orden del programa MSWLogo Ve? para conocer
las conexiones si están en funcionamiento o con corriente eléctrica o no.
Al utilizar esta orden nos dará un número decimal específico x, que representa un número binario que indica los
puertos que están conectados. Cuando la entrada está copnectada se representa con el número 1 y cuando no con el
0. Así teniendo ocho puertos marcados con los números de 0 a 7. Cada puerto está representado con una potencia
desde 20 a 27.
Si por ejemplo el número decimal que obtenemos de Ve? es 67 tendríamos el número binario 01000011 y
tendríamos activadas las entradas correspondientes a 0,1,6.
PROGRAMACIÓN DE LA TARJETA
Para poder controlar las entradas y las salidas de la tarjeta, el fabricante ha de proporcionar las instrucciones
necesarias que permitan activar o desactivar entradas o salidas y controlar las posibles acciones de los actuadores o
de los sensores conectados a ella.
los lenguajes de programación más utilizados suelen ser alguna de las variantes de LOGO (WINlogo, MSWLogo,…), de
BASIC (QBasic, GW-Basic,…) e incluso VisualBasic. Nosotros usaremos el MSWLogo. Este programa nos permite
convertir las palabras que le digamos en señales eléctricas, que enviará a la interfaz (y luego llegarán al robot).
Como todos los programas, tiene un lenguaje muy concreto: no podemos decirle “muévete a la derecha” porque el
ordenador no entiende esto, sino que tendremos que usar unas palabras concretas para que el ordenador pueda
entenderlo. Es lo que llamamos Lenguaje de Programación, compuesto por palabras y reglas para combinarlas. Las
palabras se llaman “primitivas”. Las primitivas, cuando se combinan, forman frases, instrucciones. Un programa es
un conjunto de instrucciones.
La estructura de un programa es siempre la siguiente
Un programa puede estar formado por varias “Subrutinas”, que son programas secundarios que hace una parte del
programa principal. Cada subrutina tiene la misma estructura que un programa cualquiera. Para llamar a la subrutina
desde un programa debemos escribir el nombre de la subrutina.
USO DEL MSWLogo
• Iniciamos el software haciendo doble clic en el icono de MSWLogo
• Elegimos Usar una controladora
• Elegimos CNICE
• Elegimos PROGRAMACIÓN MANUAL
PARA (Nombre del programa)
(Primitivas)
FIN
Dentro del entorno de trabajo de MSWLogo encontramos:
• Ventana de Gráficos en la que aparece una “tortuga” con forma triangular, que se desplazará según las
instrucciones que se le indiquen.
• Caja de lista, en la que aparecerá todo lo que se escriba en la caja de entrada. El programa también la utiliza
para mostrar información al usuario
• Caja de entrada en la que se escriben las órdenes
• Botón ejecutar, que cuando se pulsa se ejecutan las órdenes escritas en la caja de entrada.
Podemos ver varias ventanas de las cuales la más importante es la de abajo-izquierda:
• En la caja de entrada o cuadro de texto escribiremos los nombres de los programas cuando queramos
ejecutarlos. También podemos poner primitivas.
• El botón de ALTO sirve para detener el programa que está funcionando. Aún así, no desconectará los
motores, bombillas… y la controladora seguirá funcionando. Tendremos que usar “Desconectar” en el
cuadro de texto para apagar todo.
• Si pulsamos EDITAR se abre una nueva ventana, en la cual podremos escribir el programa. Podemos incluso
escribir varios programas o subrutinas siempre y cuando los separemos cada uno con su PARA-FIN y
nombres distintos.
• Una vez escrito, pulsamos GUARDAR Y SALIR y ya podemos ejecutarlo, escribiendo el nombre en la caja de
entrada.
ALGUNAS PRIMITIVAS DE MSWLogo
PRIMITIVA ABREVIADO ACCIÓN EJEMPLO
AVANZA 150 AV 150 La tortuga avanza el número indicado de puntos av 50
RETROCEDE 80 RE 80 Retrocede el número de puntos indicados re 80
GIRADERECHA 15 GD 15 Gira a la derecha el ángulo especificado en grados gd 90
GIRAIZQUIERDA 30 GI 30 Gira a la izquierda el ángulo indicado. gi 30
SUBELAPIZ SL Levanta el lápiz y no pita al moverse av 50 sl av 30 bl av 50
BAJALÁPIZ BL El lápiz toca el papel y pinta cuando se mueve
GOMA GOMA La tortuga borra a lo largo de su trayectoria av 50 sl av 30 bl av 50
OCULTATORTUGA OT Oculta el icono de la tortuga ot
MUESTRATORTUGA MT Muestra el triángulo que representa la tortuga mt
BORRAPANTALLA BP Borra la pantalla y sitúa la tortuga en el centro bp
PONGROSOR [0 N] PONG [0 N] Dibuja una línea de grosor n pong [0 6] av 50
CIRCULO - Dibuja un círculo del tamaño indicado circulo 25
PONLAPIZ pla Después de utilizar la goma, para que la tortuga vuelva a escribir hay que poner de nuevo el lápiz.
pla av 50
EJECUCIÓN DE LAS PRIMITIVAS
Para ejecutar la primitiva, habrá que escribir su nombre en la caja de entrada y pulsar la tecla INTRO. Por ejemplo,
un programa típico para dibujar un triángulo equilátero de lado 100 sería el siguiente:
avanza 100
giraderecha 120
avanza 100
giraderecha 120
avanza 100
giraderecha 120
REPETICIÓN DE PRIMITIVAS
Cuando un programa tiene órdenes que se repiten, resulta útil emplear la primitiva REPITE.
Su sintaxis es: REPITE n[primitivas]
Donde n es el número de veces que hay que repetir las órdenes que están encerradas dentro del corchete. Por
ejemplo, el programa para dibujar un cuadrado de lado 100 se puede escribir de dos formas:
avanza 100
giraderecha 90
avanza 100
giraderecha 90
avanza 100
giraderecha 90
avanza 100
giraderecha 90
o bien,
REPITE 4[avanza 100 giraderecha 90]
EL COLOR EN MSWLogo
En la pantalla de MSWLogo se puede cambiar el color del lápiz con el que se escribe la tortuga, el color del fondo de
la pantalla y el color con el que se rellenan los objetos dibujados. En la siguiente tabla aparece, para cada color, la
combinación de números del rojo, verde y azul, y su número correspondiente.
Las primitivas más communes para aplicar color son:
PRIMITIVA ABREV.
ACCIÓN EJEMPLO
poncolorlapiz poncl Color con el que dibujará la tortuga
poncl 6 av 50
poncolorpapel poncp Cambia el color del fondo poncp 4
rectagulorrelleno an al [color]
Dibuja un rectángulo de ancho an y alto al del color indicado
rectangulorrelleno 100 40 poccr [0 0 255]
poncolorrelleno poccr Rellena de color el espacio en el que se encuentra la tortuga. Es necesario poner después del color la primitiva rellena
circulo 25 poccr [0 255 0] rellena
VENTANAS Y BOTONES
MSWLogo permite crear ventanas, que alojen otras ventanas, botones, iconos, etc… En muchas simulaciones, por
ejemplo, se puede controlar el funcionamiento del proyecto haciendo clic sobre un botón de una ventana al que se
le ha asignado la orden correspondiente.
� Para crear ventanas y botones utilizamos las primitivas crearventana y crearboton, respectivamente. Por
ejemplo:
crearventana “”botones[control] 50 30 60 80 []
crearboton “botones”línea [recta] 30 10 20 20 [av 50]
Los elementos que acompañan a estas primitivas son los siguientes:
� En las primeras comillas [“] se indica el nombre de la ventana en la que se colocorá la nueva ventana
o botón
� En las segundas comillas [“] se escribe el nombre que queremos dar a la ventana o botón
� Entre los primeros corchetes [] se añade el texto que aparecerá en la ventana o botón
COLOR VALOR RGB (red-green-blue)
Nº
Negro [0 0 0] 0
Azul [0 0 255] 1
Verde [0 255 0] 2
Cian [0 255 255] 3
Rojo [255 0 0 ] 4
Magenta [ 255 0 255] 5
Amarillo [ 255 255 0] 6
Blanco [255 255 255 ] 7
Marrón [155 96 59] 8
� Los dos primeros números indican la posición de la ventana o botón respecto a la esquina superior
izquierda de la ventana en la que se crearán
� Los dos siguientes números indican el ancho y el alto
� En los últimos corchetes ([]) señala la acción que realizará el programa cuando se cree la ventana o
se pulse el botón.
� Para borrar ventanas o botones utilizamos las primitivas borraventana y borraboton, respectivamente. Por
ejemplo:
boraventana “botones
borraboton “línea
PROCEDIMIENTOS
Tal y como hemos descrito anteriormente las primitivas de LOGO se pueden agrupar para formar procedimientos. La
forma de hacerlo es la siguiente:
1. Escribir PARA y, a continuación, el nombre que va a tener el procedimiento.
2. Escribir todas las primitivas que componen el procedimiento.
3. Escribir FIN.
4. Pulsar Guardar y Salir
Por ejemplo, el siguiente procedimiento sirve para dibujar una circunferencia:
PARA circunferencia
REPITE 360 [avanza 1 giraderecha 1]
FIN
Para ejecutar el procedimietno creado, se escribe su nombre y se pulsa la tecla INTRO. Al hacerlo, se ejecutarán en
orden todas las primitivas que lo forman.
MSWLogo incluye u editor, que se activa haciendo clic en el botón Editar. Al hacerlo, aparecerá una pantalla con
todos los procedimientos disponibles hasta el momento. En esta pantalla podemos escribir nuevos procedimientos o
modificar los que ya tenemos.
GUARDAR PROCEDIMIENTOS
A medida que vayamos utilizando LOGO, iremos disponiendo de más procedimientos; siempre y cuando tengamos la
precaución de guardarlos en el disco duro de nuestro ordenador. De esta manera podremos disponer de ellos en las
próximas sesiones.
Todos los procedimientos utilizados o creados en una sesión se guardan juntos en un mismo archivo. La forma de
guardarlos es la siguiente:
1. Seleccionare la opción de Guardar como del menú Archivo.
2. En el cuadro de diálogo que aparece, escribir un nombre para la colección de procedimientos y seleccionar la
carpeta en la que se van a guardar.
3. Hacer clic en Guardar.
Para recuperar una colección de procedimientos, creada en una sesión anterior, tendremos que:
1. Seleccionar la opción Cargar del menú Archivo.
2. En el cuadro de diálogo que aparece, localizar la colección de procedimientos que queremos cargar.
3. Hacer clic en Abrir.
VARIABLES
Una variable es un dato numérico o de texto, que toma distintos valores
� Se pueden definir variables junto con el nombre del procedimiento. Para ello se escribe el nombre, dos
puntos (:) y el nombre de la variable
� Para asignar una variable dentro de un procedimiento hay que utilizar la primitiva haz “n v. Asigna el valor
indicado en v a la variable n.
para circulocreciente
haz “ tamaño 0
repite 20 [haz “tamaño: tamaño+10
circulo: tamaño
espera 20]
fin
SIMULACIÓN DE LUCES
Una de las aplicaciones más interesantes de MSWLogo es hacer simulaciones controlando el movimiento de la
tortuga a partir de procedimientos adecuados en cada caso.
La simulación de luces se va a conseguir cambiando el color de la figura, simulando de esta forma el encendido y
apagado de una bombilla, durante un periodo de tiempo determinado.
Para poder realizar estas simulaciones de luz se utilizan las siguientes primitivas:
PRIMITIVA ABREV. ACCIÓN EJEMPLO
espera n - El programa se para durante un tiempo determinado. El
numero 1 corresponde a 1/60 segundos y 60 a 1 segundo espera 60
activa ac
El programa permite trabajar con varias tortugas. La que utiliza como defecto es la número 0.
Cuando trabajemos con varias tortugas, cada vez que queramos que una de ellas haga algo hay que escribir la
primitiva activa y a continuación su número
av 50 ac 1 gd 50 av 50
SIMULACIÓN DE MOVIMIENTO
Vamos a ver cómo se puede crear la simulación de movimiento a partir de los dibujos que realiza la tortuga.
Para dar sensación de movimiento se dibujan figuras consecutivas, cada vez con una posición ligeramente
desplazada con respecto a la anterior, igual que se hace para crear las secuencias de los dibujos animados.
Esa sensación de movimiento en los dibujos animados la produce una sucesión de fotogramas en los que los
personajes están fotografiados en cada uno en una posición ligeramente distinta a la del fotograma anterior.
Para poder realizar estas simulaciones de movimiento se utilizan las siguientes primitivas:
PRIMITIVA ACCIÓN EJEMPLO
azar x Genera un número aleatorio entre 0
y x azar 6
si condición=[a][b] Si se cumple la condición [a],
entonces se realizará la acción [b] si pixel=[255 0 0][re 5]
siempre [] La tortuga realiza indefinidamente la
acción que hay entre corchetes Siempre [av 1 espera 1]
MOVIMIENTO POR CIRCUITOS
Otra aplicación interesante de MSWLogo es la creación de programas que controlen el movimiento de la tortuga,
para que siga un circuito de manera autónoma, o bien para que se pueda controlar mediante el teclado.
El circuito se dibuja con cualquier programa de tratamiento de imágenes como Paint o Photoshop. Una vez realizado
el dibujo del circuito, hay que colocarlo en la misma carpeta en la que tengas los procedimientos.
Para realizar estas acciones son necesarias las siguientes primitivas:
PRIMITIVA ABREV ACCIÓN ORDEN COMPLETA PARA
PROBAR
cargadib”nombre - Carga un dibujo en la ventana de gráficos cargadib”f1a.bmp
ponfoco[] - nombre de la ventana que queremos tener
activa ponfoco [pantalla MSWLogo]
ponteclado[] - Al pulsar cualquier letra del teclado se ejecuta
la acción que hay entre corchetes ponteclado[av 100]
ponrumbo g ponr Orienta la tortuga en función de los grados que
se asignen a g. ponrumbo 90
caracter car Devuelve el carácter que corresponde a un
código ASCII (número), entre 0 y 127 car
leecar lc Esta primitiva devuelve el valor de la tecla
presionada o liberada lc
PROCEDIMIENTOS DE CONTROL
Lo interesante es que el programa LOGO llevan incorporadas primitivas, tales como conecta, apaga,… que permiten
controlar dispositivos externos a través de una interfaz, como una tarjeta controladora. A partir de sus primitivas se
pueden construir procedimientos de control más complejos.
Por ejemplo, a partir de las primitivas conecta, segundos y apaga, podemos escribir el siguiente procedimiento:
PARA motor
conecta 2
segundos 2
apaga 2
FIN
Con este procedimiento se pretende controlar que un motor, conectado a la salida 2 de una tarjeta controladora, se
ponga en marcha, funcione durante 2 segundos y se apague a continuación.
Algunas de las primitivas que permiten controlar son:
PRIMITIVA ACCIÓN EJEMPLO
Conecta n (siendo n un número comprendido entre el 1 y el 8)
Conecta la salida indicada y deja las demás como estaban. Es decir da voltaje al cable de la salida indicada.
Conecta 3 Activa la salida número 3 y deja el resto como estaban
Desconecta n (siendo n un número comprendido entre el 1 y el 8)
Apaga la salida indicada y deja las demás como estaban
Desconecta 3 Desactiva la salida número 3 y deja el resto como estaban.
Entrada n (siendo n un número comprendido entre el 1 y el 8)
Devuelve “CIERTO” si la entrada indicada está conectada y “FALSO” en caso contrario.
si entrada 1= “CIERTO [escribe [entrada conectada]] Aparecerá en pantalla el mensaje ‘entrada conectada’ si está activa la entrada 1 y en caso contrario no se visualizará nada.
Espera s (siendo s cualquier número)
Produce un retardo o espera del número especificado. El número va en sesenta-avos de segundos
Segundos 180 El programa se detiene durante 3 segundos antes de continuar
LeeAnalogica n (siendo n un número entre el 1 y el 5)
Devuelve el valor de 8 bits de la entrada analógica especificada. La tensión en las entradas analógocas puede variar entre 0 y 5 voltios, por lo que la precisión en la lectura será de 0,0195 voltios.
Escribe leeanalogica 2 Aparece en pantalla el valor (de 0 a 255) correspondiente al valor de tensión existente en la entrada analógica 2. si ((leeanalogica 2) >140)[escribe[valor alto de tensión]] Mostrará en pantalla el mensaje ‘valor alto de tensión’ si el valor que
se lee de la entrada analógica 2 es mayor de 140 (2,74 voltios). En caso contrario no se visualizará nada.
ALTO Detiene el procedimiento que se está ejecutando y devuelve el control al procedimiento que lo llamó
Escribe [dato] Sirve para presentar por la ventana de trabajo el texto escrito en [dato]
Si queremos presentar un texto la primitiva será <escribe [este es el texto que quiero presentar< y si lo que queremos es que nos dé el valor de una variable <escribe:nombrevariable>
Mn “D, Mn “I, Mn “P El número indica el motor al que damos la orden: M1: el conectado a las salidas 1 y 2 M2: el conectado a las salidas 3 y 4 M3: el conectado a las salidas 5 y 6 M4: el conectado a las salidas 7 y 8
Da la orden de girar el motor tanto a la derecha como a la izquierda, como pararlo (según escribamos D,I o P)
M1 “D Gira el motor 1 a la derecha
PRIMEROS PASOS
Encender una bombilla Para llevar a cabo este ejemplo lo dividiremos en DOS partes:
• Conexiones • Programación en MSWLogo
Conexiones
Necesitará una bombilla pequeña de 0,3 Amperios aproximadamente. Es conveniente usar un casquillo donde poner la
bombilla y conectar un cable al polo positivo y otro al negativo del casquillo.
Las conexiones que se establecerán entre la bombilla y la tarjeta controladora CNICE se muestran en la siguiente tabla:
CONECTOR SALIDA DIGITAL
0 Cable del polo positivo
1 Cable del polo negativo
Es indiferente si la conexión se hace al revés, es decir, se conecta el cable conectado al polo negativo del casquillo a la
salida digital 0 y el otro cable a la salida 1. Esto es así porque la bombilla no tiene polaridad.
Se puede usar cualquiera de las otras salidas digitales para realizar la conexión entre la bombilla y la controladora.
Programación en MSWLogo
La programación de este caso se estructura en los siguientes pasos:
1.- Se implementa un procedimiento para crear la ventana gráfica del programa. Para ello se utiliza la función
creaventana. Para crear un marco dentro de la ventana se utiliza la función creagroupbox. Por último dentro del
marco se crean los botones con la función creaboton. Dentro de cada botón se establecerán entre los corchetes las
funciones que se han de ejecutar una vez presionado el botón.
Ejemplo:
para VentanaSeleccion
creaventana ''trabajo ''EncBombilla [BOMBILLA] 40 30 125 75 []
creagroupbox ''EncBombilla ''E_Ventana 5 0 113 60
creaboton ''EncBombilla ''Encender ''Encender 25 20 35 10 [EncenderBombilla]
creaboton ''EncBombilla ''Apagar ''Apagar 70 20 35 10 [ApagarBombilla]
creaboton ''EncBombilla ''Salir ''Salir 45 40 35 10 [ApagarBombilla borraventana ''EncBombilla]
fin
2.- Se crean varios procedimientos para encender y apagar la bombilla. Para encender la bombilla se utilizará la función
conecta y a continuación el número 1 que indica que se activen el par de salidas digitales 0 y 1, y para apagar la
bombilla se utiliza la función desconecta, similar es su sintaxis a la función anterior.
Ejemplo:
para EncenderBombilla
CONECTA 1
fin
para ApagarBombilla
DESCONECTA 1
fin
3.- Se llama al procedimiento que crea la ventana gráfica fuera de cualquier procedimiento, para que se cargue la
aplicación gráfica nada más cargar el fichero de logo.
Descargue el fichero programado en MSWLogo, descomprímalo y guárdelo en un directorio aparte. Contiene el fichero
de código en MSWLogo (bombilla.lgo). Ejecute el compilador MSWLogo versión 6.5a en castellano. Vaya al menú del
programa, Archivo/Abrir y seleccione el fichero bombilla.lgo que se descargó previamente. Se visualizará la siguiente
pantalla:
Pulsando los botones que se le presentan podrá encender y apagar la bombilla o salir de la aplicación.
Mover un motor Para llevar a cabo este ejemplo lo dividiremos en DOS partes:
• Conexiones • Programación en MSWLogo
Conexiones
1.- Necesitamos un motor pequeño de tensión baja. Uno de 6 V, 12 V o similar servirá. Tendremos que tener
conectados un cable a cada polo del motor.
Las conexiones que se establecerán entre el motor y la tarjeta controladora Cnice se muestran en la siguiente tabla:
CONECTOR SALIDA DIGITAL
0 Cable del polo positivo
1 Cable del polo negativo
2.- Si la conexión se hace al revés, es decir, se conecta el cable conectado al polo negativo del motor a la salida digital
0 y el otro cable a la salida 1 se invertirá la polaridad y hará que el motor gire en sentido contrario al de las conexiones
anteriores.
3.- Se puede usar cualquiera de las otras salidas digitales para realizar la conexión entre el motor y la controladora.
Programación en MSWLogo
La programación de este caso se estructura en los siguientes pasos:
1.- Se crea un procedimiento para crear la ventana gráfica del programa. Para crear la ventana utilizamos la función
creaventana. Para crear un marco dentro de la ventana se utiliza la función creagroupbox. Por último dentro del
marco se crean los botones con la función creaboton. Dentro de cada botón se establecerán entre los corchetes las
funciones que se han de ejecutar una vez presionado.
Ejemplo:
creaventana ''trabajo ''ControlMotor [MOTOR] 40 30 150 90 []
creagroupbox ''ControlMotor ''E_Ventana 5 0 140 60
creaboton ''ControlMotor ''Izquierda ''Izquierda 20 22 35 10 [MotorIzq]
2.- Se crean varios procedimientos para que el motor gire a izquierda y a derecha y para desactivar el motor. En estos
procedimientos se va a utilizar la función M seguida del número que indique el par de salidas digitales a activar, y tras
esto se pondrán unas comillas con la letra D o I que indicará que el motor gire a la derecha (activa la salida 1 y
desactiva la salida 0) o que el motor gire a izquierda (activa la salida 0 y desactiva la salida 1), con la letra P se le
indica al motor que se detenga (desactiva las 2 salidas digitales).
Ejemplo:
para ApagarMotor
M1 ''P
fin
para MotorIzq
M1 ''I
fin
para MotorDer
M1 ''D
Fin
3.- Se llama al procedimiento que crea la ventana gráfica fuera de cualquier procedimiento, para que se cargue la
aplicación gráfica nada más cargar el fichero logo.
Descargue el archivo programado en MSWLogo, descomprímalo y guárdelo en un directorio aparte. Contiene el fichero
de código en MSWLogo motor.lgo. Ejecute el compilador MSWLogo versión 6.5a en castellano. Vaya al menú del
programa, Archivo/Abrir y seleccione el fichero motor.lgo que se descargó previamente.
Se visualizará una pantalla donde pulsando en los botones correspondientes podrá hacer que el motor gire a derecha o
izquierda o que se pare.
top related