ROBÓTICA

En los nuevos currículos de Tecnología se incorporan contenidos relativos a el control y la robótica, sin tener en cuenta el elevado costo que supone, para los Centros o departamentos, la adquisición de nuevos equipos que permitan poder experimentar en el taller dichos contenidos con los alumnos .

 Prof. Jorge Cabrera


Metodología clásica de la robótica en el taller de Tecnología.

En los nuevos currículos de Tecnología se incorporan contenidos relativos a el control y la robótica, sin tener en cuenta el elevado coste que supone, para los Centros o departamentos, la adquisición de nuevos equipos que permitan poder experimentar en el taller dichos contenidos con los alumnos .

La solución típica por parte del profesorado, consiste en aprovechar las dotaciones de tarjetas controladoras (tipo Inves, Enconor, CNICE) que se recibieron en los Institutos en los años 90 o quizás posteriores dotaciones de ladrillos Lego (adquiridas por las Consejerías de Educación de algunas Comunidades); el problema surge cuando existen insuficientes unidades de los equipos citados (con un precio mínimo de alrededor de 100 euros por unidad), de modo que es complicado que cada uno de los seis grupos de trabajo (compuesto de 4 ó 5 alumnos) con los que se organiza normalmente una clase en el taller de Tecnología, pueda disponer de su propia tarjeta o ladrillo.

Aunque cualquiera de estas circunstancias pueda solventarse por parte del profesor, con estrategias metodológicas diversas e imaginativas que aprovechen nuestros siempre escasos recursos, creo que todos estamos de acuerdo en que son contenidos que deben ser tratados dignamente, ya que además suponen para muchos chicos y chicas, el punto de partida para ser atraídos hacia estudios tecnológicos posteriores.

Las tarjetas controladoras a las que me he referido anteriormente, utilizan el lenguaje LOGO para su programación, y para funcionar, se conectan con el ordenador a través del puerto serie (Enconor) o paralelo (Inves, CNICE); además se necesita cargar un programa de cierta complejidad que las permita entenderse con el ordenador y con el software de programación correspondiente.

En este punto es, en mi opinión, donde los alumnos (y sobre todo las chicas) se asustan con la robótica, perdiendo muchos el interés hacia los conocimientos relativos al ámbito de la Tecnología, la cual se muestra conceptualmente inabordable. Pasan de un modo súbito, dsde montar sencillos circuito eléctricos (por ejemplo, un mando con pulsadores conectado mediante un cable a un dispositivo móvil) o electrónicos (tipo sensores de luz con transistor y relé para activar un motor incidiendo en una LDR con una linterna) que pueden llegar a comprender, hasta trabajar con una tarjeta comercial llena de elementos electrónicos, componentes integrados y relés, es decir, de circuitería excesivamente compleja.

No cabe duda del potencial que tienen estas tarjetas para automatizar todo tipo de proyectos utilizando sus entradas y salidas digitales o analógicas, pero creo que es de sumo interés que además los alumnos comprendan qué está pasando en cada dispositivo utilizado (así como a través de los cables con los que se conectan al ordenador) cada vez que se ejecuta una instrucción de programación.

Aprovechando los ordenadores antiguos.

En los ordenadores o portátiles de última generación prácticamente han desaparecido los puertos de conexión con periféricos de tipo paralelo o serie, siendo sustituidos por el puerto USB. Entender el funcionamiento de los dos últimos citados resulta difícil incluso para cualquier profesor del área, sin embargo ocurre justo lo contrario con el puerto paralelo que, a grandes rasgos, puede ser explicado a los alumnos y ser utilizado por ellos con soltura, tanto para establecer su cableado, como para programar a través de él.

Cualquier ordenador antiguo (incluso con procesador Pentium I) que disponga de puerto paralelo, puede ser utilizado para el desarrollo de las prácticas y circuitos que pasaré a describir a lo largo de este monográfico; no se necesitan tampoco requerimientos especiales de memoria Ram, excepto la que permita poner a funcionar el sistema operativo (desde Windows 95). Es importante saber que si nuestro sistema operativo va a ser el 2000 ó el XP, debemos instalar un fichero especial en el sistema, tal y como se explica al descargar la aplicación gratuita “UserPort” (existen otras, pero esta es la más recomendable).

Dicho de otro modo, podemos aprovechar un montón de ordenadores desechados del aula de informática de nuestro Instituto o inutilizados por los profesores y por los mismos alumnos debido, sobre todo, a su incapacidad de conectarse en buenas condiciones a Internet; además existen en el mercado virtual muchos sitios donde adquirir equipos de segunda mano a muy bajo coste, y con garantía de al menos un año.

Breve introducción al puerto paralelo.

Al ser un puerto inventado por los ingenieros de IBM para conectar una impresora a los primeros ordenadores allá por 1981, tiene desde mi punto de vista, un carácter tecnológico muy primitivo que le proporciona un gran atractivo hoy día. Durante su funcionamiento se transmite un byte de información digital en cada instrucción efectuada desde el ordenador y los 8 bits que lo componen se transmiten a la vez (en paralelo) y desde su correspondiente pin numerado del puerto; en cada uno de ellos se podrá conectar un cable que nos lleve una señal digital desde el ordenadorhasta el dispositivo exterior que queramos controlar.

El puerto tiene 25 pines clasificados en cuatro grupos: ocho pines de salida o de Datos (del número 2 al 9), ocho de puesta a tierra (del número 18 al 25), cinco de entrada o de Estado (del 10 al 13 y el 15) y cuatro pines de Control (que no usaremos). Como consecuencia tenemos la posibilidad de enviar 8 señales electrónicas desde el ordenador y de detectar fácilmente hasta 5 señales desde el exterior; para ello bastará utilizar un cable para cada uno de estos pines, junto con uno más, conectado a los pines de masa (GND).


Los diodos led que voy a montar en mi placa electrónica, a modo de display, se van a alimentar únicamente con la corriente proporcionada por las propias salidas del puerto, es decir, sin necesidad de baterías externas: en la mayoría de los PC el puerto paralelo proporciona corriente suficiente (unos 20 mA) para una clara indicación visual de los diodos.

Como primer ejemplo, la programación del encendido de un diodo led sólo necesitaría de dos cables, lo que configura un circuito electrónico elemental (y conocido por los alumnos) compuesto por el ordenador (que hace de fuente de alimentación), cable de salida, resistencia de protección (que puede ser de valor 220 ohmios), diodo led y cable de puesta a tierra. Si queremos programar tres leds de distintos colores a modo de semáforo, sólo necesitaremos tres cables de salida más uno común de puesta a tierra, pasando el circuito a tener una configuración en paralelo: enlazamos así el mundo del control con los conceptos más básicos del estudio de la electricidad. Finalmente, si conectamos 8 diodos leds (con su resistencia de protección) tendremos que utilizar 9 cables para programar sus secuencias de encendido desde el puerto.

En las tiendas de electrónica pueden adquirirse conectores macho de 25 pines con los que fabricarse un cable que sirva para unir nuestros dispositivos con el puerto hembra del ordenador: es una opción que considero mucho más didáctica que el utilizar cables de tipo paralelo con su cableado completo y oculto; otra alternativa interesante puede ser pelar la funda exterior de algún cable paralelo standard antiguo y dejar sólo los cables del interior correspondientes a los pines que se vayan a utilizar.

Para programar con los alumnos recomiendo utilizar el lenguaje LOGO a través del programa de distribución gratuita MSWLogo en su versión 6.3c (anterior y distinta de la última desarrollada por el CNICE, que es la 6.5 y que sirve para las controladoras comerciales). Las ventajas frente a otros lenguajes de programación son la sencillez de su sintaxis, su vocabulario en castellano y , por supuesto, la facilidad que tiene el usuario para comunicarse con el puerto paralelo.

 

Prof.Jorge Cabrera

Conexión a los pines de Entrada del puerto paralelo

Ya sabemos que el puerto paralelo proporciona 5 voltios de tensión en sus pines de salida, y también podemos decir que los pines de entrada son como un borne eléctrico que tuviera por defecto dicho potencial, con lo que al cerrar un circuito entre dos pines del puerto provocamos que una pequeña corriente recorra un cable fino (en el que intercalaríamos una resistencia) que una el pin de entrada (que hace las veces de un polo positivo) con el pin de masa (polo negativo). Al no existir alimentación externa, los riesgos de dañar el ordenador son mínimos, ya que en mi opinión, es como si estuviera el puerto paralelo autodetectándose.

El circuito de un sensor digital más sencillo, estará constituido por un pulsador (yo he escogido para mi montaje uno de tipo fin de carrera) en serie con una resistencia de 100 ohmios; desde la patilla libre de ésta saldrá un cable que se conecte al pin 25 (de puesta a tierra) del conector macho del puerto paralelo que he utilizado en la mini-tarjeta, y desde la patilla libre del pulsador saldrá otro cable que me lleve hasta el pin 13, que es el que detectará cuando, el circuito que acabo de configurar, está abierto o cerrado.



He repetido el montaje con otro fin de carrera conectando su cableado correspondiente a los pines 12 (entrada) y 24 (masa), disponiendo así de dos entradas que, contando con la posibilidad de pulsar los dos a la vez, me permitan tener al menos tres combinaciones de detección. Una vez terminemos de soldar los elementos y los cables, tendremos la posibilidad de interactuar con la mini-tarjeta durante la ejecución de nuestros programas; el circuito electrónico completo tendría la siguiente representación simbólica:


Escritura de programas que interpreten las señales de entrada

La primitiva de LOGO con la que podemos conocer el estado de las entradas del puerto paralelo es LEEPUERTO 889, de tal modo que si lo escribimos en la barra de ejecución, el programa MSWLogo nos devuelve una respuesta, que queda registrada en su ventana de Trabajo, y que en el caso de no estemos accionando ningún pulsador de entrada, dice literalmente: “No me has dicho que hacer con 120” ; éste valor numérico en código decimal, es la traducción de la información en forma de byte “01111000” código máquina que entiende el ordenador y que, en este caso, significa que no detecta nada en el puerto en entrada;con dos pulsadores conectados, podremos leer los siguientes mensajes numéricos en la ventana de Trabajo:

Entrada pulsada

Mensaje decimal

Byte en el puerto

Pin 13

104

“01101000”

Pin 12

88

“01011000”

Pines 12 + 13

74

“01001000”

Se observa como al ser presionado cada pulsador o ambos, el bit en el puerto pasa del estado en código binario “1” al valor cero“0”, es decir, según una lógica negativa, justo al contrario de la lógica positiva con la que se programan los pines de salida. Conociendo los valores de la tabla y recordando la expresión condicional utilizada en el lenguaje LOGO que ya utilicé en el capítulo anterior de este monográfico, escribiremos programas con la siguiente sintaxis:

PARA PULSADORES :SEG

SI ((LEEPUERTO 889) =”120) [ESCRIBEPUERTO 888 0]

SI ((LEEPUERTO 889) =”104) [ESCRIBEPUERTO 888 (128+16+2) ESPERA :SEG]

SI ((LEEPUERTO 889) =”88) [ESCRIBEPUERTO 888 (64+8+1) ESPERA :SEG/2]

SI ((LEEPUERTO 889) =”74) [ESCRIBEPUERTO 888 (32+4) ESPERA :SEG*2]

PULSADORES :SEG

FIN

En este programa sencillo visualizaremos en la tarjeta el encendido, durante tiempos cambiantes con la variable, de los leds agrupados por colores (para el caso de esta mini-tarjeta): los verdes si pulsamos el pin 13, los rojos con el pin 12 y los amarillos si pulsamos 12 y 13 a la vez. La primera línea del procedimiento sirve para apagar los leds hasta la siguiente pulsación, pero como existe recursividad, el procedimiento permanece activo hasta que hagamos click en el botón Alto de la pantalla de MSWLogo.


Dentro de los corchetes de la expresión condicional de PULSADORES, podremos incluir cualquiera de los programas que probé en la segunda entrega de este monográfico, ya que todos procedimientos que realicemos para la mini-tarjeta se pueden guardar agrupados en un solo fichero en el disco duro del ordenador, lo que permite aprovechar las variables :LED y :SEG (u otras con el nombre que se quiera, pero siempre indicadas con los dos puntos antes de la primera letra), que ya utilizamos anteriormente:

PARA SECUENCIANDO

SI ((LEEPUERTO 889) =”120) [ESCRIBEPUERTO 888 0]

SI ((LEEPUERTO 889) =”104) [SEMAFORO]

SI ((LEEPUERTO 889) =”88) [LUCES]

SI ((LEEPUERTO 889) =”74) [NUMERO 129]

SECUENCIANDO

FIN

Conviene que los procedimientos entre corchetes no dispongan de su propia recursividad, ya que no se observarían cambios en el funcionamiento de la mini-tarjeta mientras el procedimiento SECUENCIANDO continúe activo, a pesar de que pulsemos en las entradas.

Nueva propuesta de mini-tarjeta controladora

Dado lo económico (menos de 6 euros) que va ha suponer elaborar este tipo de placa electrónica, podemos proponer a los alumnos que realicen su propia mini-tarjeta y que dispongan los diodos de manera lógica (sin desordenar la numeración de las salidas), pero con un cierto grado de libertad en su colocación (delimitando un cuadrado, en diagonal, haciendo una línea quebrada, combinando colores, etc.). El inconveniente principal de este proyecto sería el de un consumo excesivo de cables paralelos pelados (en función del número de grupos de alumnos del Centro), lo que se soluciona utilizando un conector de 25 pines acodado para pinchar en la placa (lo he escogido de tipo macho, pues voy a utilizar los cables paralelos de las controladoras del taller).

Aunque tenemos dos líneas en dicho conector con trece y doce pines, nos basta con utilizar la línea de trece pines completa (que consta de 8 pines de salida y 4 de entrada) junto con el pin 25 (de la otra línea) para la puesta a tierra, el cual ligeramente doblado, lo podremos alinear con los anteriores; todos los demás pines (incluido el 1) pueden ser recortados ya que no vamos a utilizarlos y además, nos impedirían pinchar nuestro nuevo conector en las placas estándar.



Como ejemplo, he realizado una mini-tarjeta sobre una placa recortada de 4,5 x 7 cm, sobre la que he dispuesto los diodos leds configurando tres líneas diagonales paralelas de dos, cuatro y dos diodos, que me permitirán realizar distintas figuras luminosas; además, sus colores se ordenan agrupados (tres rojos, dos amarillos y dos verdes) en orden creciente al valor del bit de salida. Cada uno de los diodos led se conecta en serie con una resistencia de 220 ohmios, las cuales deben conectarse al pin 25 de masa, tal como ya se explicó en el primer capítulo de este monográfico.


Si bien la placa sobre la que se realiza el montaje dispone de una trama de topos de cobre cada 2,5 mm donde se supone que se pueden soldar los componentes, yo he optado por doblar las patillas de diodos y resistencias sin recortar, aprovechando su rigidez, para soldarlas alineadas directamente entre sí bajo la placa, incluso para llegar hasta cada pin correspondiente del conector. La conexión a masa de las patillas de las resistencias que cierran cada circuito las he soldado entre sí, volviendo por la superficie de la placa con un cable de cobre negro hasta el pin 25 del conector.

He querido completar la mini-tarjeta aprovechando al menos dos de las entradas digitales de las cuatro posibles que me posibilitan los pines 10 al 13, eligiendo precisamente estas dos extremas; para su activación utilizaré dos mini pulsadores de cuatro patillas, conectados en serie con resistencias de 220 ohmios. El circuito simbólico completo vuelve a ser el mostrado justo antes del inicio del apartado b) de este capítulo, cambiando el pin 12 por el 10, por lo que las posibilidades de programación ahora quedarían así:

Entrada pulsada

Mensaje decimal

Byte en el puerto

Pin 13

104

“01101000”

Pin 10

56

“00111000”

Pines 10 + 13

40

“00101000”


Podemos probar esta nueva mini-tarjeta con distintos programas como, por ejemplo, el de simulación de un carrusel de luces de tiempo variable, el encendido de una “flecha” o el parpadeo de dos “comillas”:

PARA FLECHA :SEG

ESCRIBEPUERTO 888 (1+2+8+32+64+128) ESPERA :SEG

ESCRIBEPUERTO 888 0 ESPERA :SEG

FIN


PARA COMILLAS :SEG

ESCRIBEPUERTO 888 (4+32+128) ESPERA :SEG

ESCRIBEPUERTO 888 0 ESPERA :SEG

ESCRIBEPUERTO 888 (2+16+64) ESPERA :SEG

ESCRIBEPUERTO 888 0 ESPERA :SEG

ESCRIBEPUERTO 888 (4+32+128+2+16+64) ESPERA :SEG

ESCRIBEPUERTO 888 0 ESPERA :SEG

FIN


PARA CARRUSEL :SEG

ESCRIBEPUERTO 888 1 ESPERA :SEG

ESCRIBEPUERTO 888 2 ESPERA :SEG

ESCRIBEPUERTO 888 16 ESPERA :SEG

ESCRIBEPUERTO 888 64 ESPERA :SEG

ESCRIBEPUERTO 888 32 ESPERA :SEG

ESCRIBEPUERTO 888 4 ESPERA :SEG

ESCRIBEPUERTO 888 0

FIN

PARA BOTONES

SI ((LEEPUERTO 889) =”120) [ESCRIBEPUERTO 888 0]

SI ((LEEPUERTO 889) =”104) [CARRUSEL 50]

SI ((LEEPUERTO 889) =”56) [FLECHA 100]

SI ((LEEPUERTO 889) =”40) [COMILLAS 30]

BOTONES

FIN

El último programa integra los tres primeros posibilitando, a través de los pulsadores, que se ponga en marcha uno u otro, convirtiendo a la mini-tarjeta en un moderno panel de leds a escala reducida.

Conclusión

La posibilidad de que cada grupo de alumnos diseñe su propia placa, va a provocar que disfruten de su propia y original lista de programas consecuencia de la experimentación con distintas combinaciones luminosas, y como consecuencia, la motivación o curiosidad por estos contenidos de la Tecnología irán en aumento. Una vez dominada la programación de figuras luminosas, será el momento de pasar a escribir procedimientos menos caprichosos en los que se busquen combinaciones matemáticas, como los propuestos en el capítulo anterior.