-->

Menú principal

jueves, 4 de febrero de 2016

TECNOLOGÍA 4º ESO: TEMA 5.- CONTROL POR ORDENADOR

INDICE TEMA 5.- CONTROL POR ORDENADOR

1.- BASES DEL CONTROL POR ORDENADOR

2.- PROGRAMACIÓN CON LENGUAJE DE ALTO NIVEL: LOGO

     2.1.- El entorno de Xlogo
     2.2.- Primitivas de programación con LOGO
     2.3.- Ejercicios con Xlogo
     2.4.- Las variables
     2.5.- La reutilización del código: rutinas
     2.6.- Realizando operaciones

3.- EL LENGUAJE DE PROGRAMACIÓN BASIC

     3.1.- Las líneas de programa
     3.2.- Variables

     3.3.- Las funciones
     3.4.- Las estructuras de decisión

4.- CONTROLADORAS DE INTERFACES DE CONTROL

     4.1.- Accionar interruptores
     4.2.- Encender una bombilla con una controladora
     4.3.- Mover un motor con una controladora
     4.4.- Controlar el giro del motor
     4.5.- Sensores
     4.6.- Conectar un sensor a una controladora
     4.7.- Tipos de controladoras

5.- INTERFACES DE CONTROL Y PROGRAMACIÓN

6.- CODIFICANDO PROGRAMAS

7.- DIAGRAMAS DE FLUJO

8.- ESQUEMA Y VOCABULARIO

9.- ACTIVIDADES




1. BASES DEL CONTROL POR ORDENADOR:

 Un dispositivo es automático cuando es capaz de realizar una tarea determinada sin la intervención del hombre. Para que una máquina funcione automáticamente, es necesario disponer de un sistema de control, es decir, de un conjunto de dispositivos de distinta naturaleza (mecánicos, hidráulicos, neumáticos, eléctricos, informáticos, etc.) que realicen las acciones necesarias en cada momento.

 Los sistemas de control automático tienes tres partes diferenciadas:
     Las entradas o sensores.- son los dispositivos que detectan el estado en el que se encuentra el sistema. 
     La unidad de control.- decide la acción que han de realizar las salidas con la información recibida de las entradas. 
     Las salidas o actuadores.- son los dispositivos que ejecutan las acciones que decide la unidad de control. 
Para realizar programas de control automático, vamos a utilizar el ordenador con unidad de control, pero conectaremos las entradas y las salidas a través de una tarjeta controladora. Para manejar esta tarjeta controladora, se utilizan distintos programas informáticos y uno de los más empleados es el MSWLogo, que estudiaremos a continuación.

1.1.- Lenguaje

El lenguaje de programación o código es la forma que tenemos de comunicarnos con un ordenador; los circuitos electrónicos digitales de la máquina le permiten transformar nuestras instrucciones en señales eléctricas.

Recordemos que es el código binario el que nos permite interactuar con la máquina. A los ceros y unos se les llama con el nombre de lenguaje máquina porque son instrucciones que el sistema electrónico es capaz de comprender (pasa o no pasa corriente).

Pero sería muy laborioso traducir a ceros y unos las instrucciones que queremos que realice el ordenador. El código nos permite recurrir a un lenguaje mucho más comprensible para nosotros, llamado lenguaje de programación de alto nivel; bajo este código existe un subcódigo encargado de traducir nuestras instrucciones al lenguaje máquina, es decir, a ceros y unos, pero ya no necesitamos conocerlo.
Existen cientos de lenguajes de programación y son muy diversos; algunos de ellos son muy antiguos, mientras que otros son relativamente nuevos. Además, varían mucho según su complejidad, existiendo algunos más o menos simples. A finales de los años 60 se desarrolló un lenguaje sencillo para educación llamado LOGO. Este lenguaje es el que vamos a utilizar en esta unidad didáctica.

1.2.- Tarjetas controladoras

Las tarjetas de control o controladoras sirven de enlace entre el ordenador y el sistema a controlar o un robot. Reciben las instrucciones del ordenador en forma digital y tienen que convertirlas en señales, normalmente analógicas, que sean comprensibles para el robot; y viceversa, también tienen que recibir las señales del sistema robótico y enviárselas al ordenador para su procesamiento. Es decir, estas tarjetas tienen una serie de entradas y una serie de salidas.

Existen diferentes tipos de controladoras pero su apariencia es la de cualquier circuito impreso. Las controladoras necesitan su propia fuente de alimentación.

1.3.- Comunicación con el ordenador. Entradas y salidas

Las controladores disponen de varias entradas y salidas; éstas pueden ser analógicas o digitales:
• Digitales admiten solamente información del tipo pasa-no pasa; permitirán o no el
     paso de la corriente por el circuito; son adecuadas para conectar elementos del sistema robótico como lámparas, diodos LED o indicadores del funcionamiento de la máquina.
• Analógicas, en cambio, permiten regular la cantidad de corriente que pasa
    (recordemos que las variables analógicas admiten cualquier valor). Serán adecuadas si queremos regular la luz que emite una bombilla, la velocidad de giro de un motor .

2.- PROGRAMACIÓN CON LENGUAJE DE ALTO NIVEL: LOGO

Una vez que tenemos una idea de cómo se transmiten nuestras órdenes al robot, vamos a empezar a estudiar las órdenes, es decir, los lenguajes de programación; por muy variados que sean estos, su estructura es similar: siempre parte de unas órdenes básicas denominadas primitivas.
Vamos a estudiar las primitivas que usa el software XLogo, ya que es el programa que tenemos instalado en nuestros ordenadores con el sistema operativo Guadalinex EDU, basado en el lenguaje Logo, pensado con fines didácticos para explicar los conceptos básicos de programación.

2.1.- El entorno de XLOGO

La pantalla de XLogo se divide en varias partes; Un lienzo, en la zona superior donde podemos ver la posición y dirección del cursor y el resultado de las órdenes que hayamos dado hasta entonces. En la zona inferior podemos ver la consola de comandos con el código que hayamos escrito. En la parte superior tenemos una línea de comandos donde podemos ejecutar los comandos individualmente y ver el resultado inmediatamente en el área de dibujo o lienzo.

También tenemos dos botones en la parte inferior derecha, un botón para editar, que nos abre la ventana de edición para crear nuestros procedimientos con varias primitivas, y otros botón para detener la ejecución del programa.

2.2.- Primitivas de programación en LOGO

Primitivas básicas
Las órdenes o instrucciones básicas de MSWLogo se llaman primitivas. Las primitivas deben escribirse en el cuadro inferior de la ventana de trabajo. Al pulsar Enter o hacer clic en el botón Ejecutar, la primitiva se ejecuta. Si la primitiva es mal escrita o si le faltan datos, el intérprete contesta “no sé cómo...” Cada una de las órdenes queda anotada en la ventana de trabajo.

La primitiva puede escribirse completa o mediante abreviaturas y tanto en minúsculas como en mayúsculas.

• AVANZA (AV): Sirve para desplazar el cursor una determinada longitud que debe de especificarse a continuación de AVANZA o de AV. Por ejemplo, AV 40 desplazará el cursor 40 unidades. Es importante separar con un espacio la primitiva (AV) del parámetro (40) o el programa no entenderá la orden.

• GIRADERECHA (GD) Y GIRAIZQUIERDA (GI): Sirven para cambiar la orientación del cursor; el parámetro que acompaña a la primitiva será el número de grados de giro y tendrá que ir separado mediante un espacio de la primitiva. Al abrir el programa, el cursor está orientado en dirección vertical con sentido hacia arriba.

GD 90 desplazará el cursor 90 grados en el sentido de las agujas del reloj. GD 180 o GI
180 da la vuelta al cursor y lo pone en posición de retroceso.

•RETROCEDE (RE): Hace retroceder el cursor el número de unidades que le indique el parámetro que venga a continuación. Es equivalente a GD 180 o a GI 180 seguido de AV.

En este enlace podemos ver un manual completo con todas las primitivas de Xlogo


2.3.- Ejercicios con Xlogo

Algunos ejercicios realizados por los alumnos con Xlogo:

Para ampliar información sobre Xlogo y ver más ejemplos consulta esta entrada del blog:

2.4. Las variables

Las variables son espacios de la memoria del ordenador donde se guardan valores que se van a utilizar durante la ejecución del programa. Imagina la memoria como un mueble con muchos cajones, a cada uno de los cuales se le da un nombre y dentro de cada uno se almacena un valor numérico o letras.
Ejemplos de variables: area, pi, edad, lado, número, nlados, etc.

2.5.- La reutilización del código: rutinas

En logo para escribir una rutina o procedimiento utilizamos las primitivas PARA y FIN.Ejemplo:
Para realizar un cuadrado escribimos el siguiente procedimiento:

PARA cuadrado :l
 repite 4 [av :l gd 90]
FIN

En la primera línea definimos el procedimiento "cuadrado" con el parámetro "l"  (lado).
En la segunda línea usamos el comando "repite" para dibujar los cuatro lados.
En la tercera línea  terminamos el procedimientos con la orden FIN.

De esta manera evitamos repetir muchas líneas de código y los programas resultas más elegantes.

2.6.- Realizando operaciones

Con Logo podemos realizar operaciones matemáticas como suma, resta, división, multiplicación, etc.
En esta tabla podemos ver algunos de los operadores que tiene Logo:


3.- EL LENGUAJE DE PROGRAMACIÓN BASIC

En la programación de ordenadores, siglas de Beginner's All-purpose Symbolic Instruction Code1 (Código simbólico de instrucciones de propósito general para principiantes en español), es una familia de lenguajes de programación de alto nivel.
El BASIC es un lenguaje de programación que se creó en 1964 con fines educativos por su sencillez y facilidad de aprendizaje.

BASIC sigue siendo popular a día de hoy ya que ha surgido nuevos lenguajes influenciados por BASIC tales como Microsoft Visual Basic o Gambas en GNU/Linux. En el año 2006, el 59% de los desarrolladores para la plataforma .NET usaban Visual Basic .NET como su único lenguaje.

El BASIC consta de instrucciones, comandos y funciones. Estas son palabras inglesas que tienen un significado especial para el ordenador. Los programas en BASIC son sencillamente un grupo de instrucciones, comandos y funciones, que realizan conjuntamente una tarea determinada.

3.1.- Las líneas de programa

Como aprendimos anteriormente, un programa es un grupo de instrucciones.
La manera de que el ordenador ejecute las instrucciones de un programa es
numerando cada instrucción con un número de línea. El ordenador realiza
cada instrucción en el orden marcado por su número de línea.En las siguientes instrucciones: 

10 PRINT 3+2
20 PRINT 3+3 

10 y 20 son números de línea. Actualmente no es necesario numerar las líneas de programa, ya que la mayoria de las versiones de BASIC permiten insertar, borrar o modificar líneas sin problemas. 

3.2.- Variables

 Una variable es un símbolo (usualmente una letra del alfabeto) que se usa para
representar un número. Una variable puede representar varios valores. Las
variables son muy importantes en la programación de un ordenador.
En la expresión algebraica: 

9=X+3,     X es la variable.

 Para que 9=X+3 sea cierto, el valor de X debe ser 6  (porque 9 y 6+3 son iguales).
En la expresión: 

SUM=A+B,  SUM, A y B son variables. A y B pueden tener cualquier valor
y la variable SUM es la suma de esos valores.

3.2.- Las funciones




3.3.- Las estructuras de decisión

  • Las instrucciones IF THEN.
Las instrucciones |IF THEN~ nos permiten elegir, entre dos opciones. Si una
condición es verdadera el ordenador ejecuta lo que sigue a THEN,  si no
es verdadera, el ordenador ejecuta la línea siguiente o lo que va despues de ELSE
Mediante Operadores de relacion comparamos los dos valores de la
condición en las instrucciones IF THEN. 

Los Operadores de Relación más comunes son los siguientes:
=    igual a 
<    menor que 
<=  menor o igual que
<>  distinto de 
>    mayor que 
>=  mayor o igual que

Un ejemplo de utilización de la instrucción IF THEN sería
IF ano="bisiesto"THEN
  ndias= 29
ELSE
  ndias=28
ENDIF