La reforma educativa ens dona un marc legal que, no només ens ajuda a incloure aquest temes al currículum, si no que ens ho demana. Específicament a l'àrea de Tecnologia (veure annex 2: Decret 96/1992).
La robòtica és cara. Necessita una preparació i dedicació important del professorat. Necessita uns materials cars i en nombre suficient per que la classe no s'esdevingui una classe magistral, contrària a l'esperit constructivista de la reforma, sinó una classe participativa i creativa. Encara que busquem solucions més modestes, que donem als professors recursos per millorar el desenvolupament del currículum i per estalviar recursos, objectius d'aquest curset, la robòtica és cara.
Però, per a què tants esforços ? Per què? Per a què tantes hores de dedicació, tants recursos monetaris? Per què? Quin és el motiu, o la finalitat, de tot això?
Aquest impacte, encara que monstruós, en la nostra societat de la robòtica no és prou. Cal buscar la resposta en l'interès pedagògic.
Efectivament. La robòtica:
El terme robot no és massa recent: l'introdueix l'autor
txec Karel Capek a la seva obra de teatre R.U.R. (Rossum's Universal
Robot) al 1920. Sembla derivar del txec robotnik
(=serf)[Webster Encyclopedic Unabridged Dictionary of the English Language.
1989].
La seva definició actual és molt amplia [Diccionari de la llengua Catalana. Enciclopèdia Catalana. CD-ROM 1994]:
robot [ rußÓt ] 1 1 m autom En les obres de ficció, màquina daspecte humà, capaç de moures, executar operacions, parlar, etc. 2 m inform/autom Màquina automàtica capaç de manipular objectes, executar operacions i moviments diversos segons un programa que pot ésser modificable o adaptable, i que pot anar equipat amb sensors per tal de detectar els senyals dentrada i les condicions ambientals. 3 adj Comandat per un robot. Avió robot. 2 retrat (o foto) robot Retrat dun individu buscat per la justícia que hom obté bo i combinant certs tipus de fisonomia a base de les senyes aportades per testimonis oculars.
robòtica f autom/inform Conjunt destudis i tècniques de realització de robots.
Encara que depèn molt de la font consultada [Enciclopedia Multimedia. Planeta De Agostini. CD-ROM. 1994]:
robot m. CIB. Ingenio mecánico controlado electrónicamente, capaz de moverse y ejecutar de forma automática acciones diversas, siguiendo un programa establecido.
robótica f. Técnica que trata del diseño y construcción de robots
robotizar tr. Dotar de robots
Cal dir que aquesta darrera definició és del diccionari d'aquesta obra. L'article enciclopèdic és molt més complert (veure Annex 4: Articles enciclopèdics, on també hi ha un article molt bo de l'enciclopèdia Encarta, què es troba a tots els centres de recursos i a molts instituts, encara que en anglès).
Encara que el terme robot és
tan recent, el seu concepte és vell, malgrat que expressat en sinònims
com autòmat (=que pensa per si mateixa.
A la mitologia grega, una de les cíclades). El trobem a la mitologia,
als rellotges del segle XVIII, a la literatura infantil (Pinotxo,
1883), a la revolució industrial (indústria tèxtil),
als circs (una visita al museu d'autòmats del Tibidabo seria una
activitat molt interessant), la ciència ficció, la descoberta
espacial o a les centrals nuclears, per citar només uns exemples.
I molts d'ells pertanyen a coneixements ja adquirits pels alumnes, que
caldria aprofitar. No es pot demanar que un alumne conegui la mitologia
clàssica, però segur que ha vist la pel·lícula
cortocircuit.

La mobilitat és cara. Més amb alumnes. Necessita actuadors cars i sofisticats. Necessita una estructura mecànica robusta, que es pugui deixar als alumnes sense por. Si renunciem a la mobilitat com a condició necessària, si no ens limitem a robots si no que acceptem qualsevol autòmat per al nostre estudi, les dificultats de realització baixen. Molt. Té menys interès pedagògic per això? Sembla que no. I guanyem molt.
Dues aplicacions típiques dels autòmats fora del mon
dels robots són la domòtica (control de la casa) i el control
industrial. Dos exemples clars són el control dels llums i d'altres
aparells electrodomèstics (simulador de presència antirobatori)
i el control del trànsit. Els podem tenir presents amb els robots
a l'hora de suggerir projectes o plantejar problemes.
Ja hem comentat que l'aparició de l'ordinador a la dècada
dels 40 va accelerar vertiginosament el desenvolupament dels robots.
La pregunta clau és aquesta: Podem fer servir l'ordinadors personal que tenim a l'institut com a cor d'un robot o autòmat?
Per poder respondre aquesta pregunta cal verificar si es compleixen les condicions:
El comandament de jocs (joystick) permet en un joc marcar la
posició i disparar. Això es tradueix en dos senyals analògics
(posicions X-Y) i dos digitals. La possibilitat de connectar dos comandaments
(A i B) duplica el nombre d'entrades (Veure Annex 5: Documentació
Entrada de Joystick).
El port d'impressora permet escriure 1 byte (8 bits) a la vegada, a més a més de llegir 5 senyals de control (un d'ells permet provocar una interrupció en el PC !) i escriure en altres 4 (Veure Annex 6: Documentació Sortida Impressora).
A nivell de sortides amb vuit n'hi ha prou per la majoria de projectes, pel que treballarem, bàsicament, amb els vuit bits de dades del port d'impressora. De vegades potser sigui interessant utilitzar una sortida analògica. En aquest cas podríem posar un convertidor de digital a analògic (A/D) connectat al port d'impressora. Encara que al mercat trobem molts convertidors no massa cars, ens podem construir un a base de resistències, més fàcil de controlar des del QBasic i encara més barat (Veure annex 7: Convertidor D/A).
Això ens dona una idea de les grans possibilitats del PC com a cor d'un autòmat. Cal, però, anar amb molt de compte fent les connexions, no sigui que espatllem l'ordinador. Si volem seguretat, podem triar dues opcions:
Mitjançant els sensors l'autòmat coneix la situació
al mon exterior. Com rep aquesta informació ?
Suposem que la nostra àvia que viu a Madrid ens troca per
telèfon, i volem conèixer quin temps fa allà.
Ella ens pot contestar de dues maneres:
Les darreres respostes son analògiques. 10, 9, 6, 7, 2 són valors possibles a les hores d'insolació. La temperatura pot anar des de -20 °C a 40 °C, i qualsevol termòmetre domèstic ens ho diu amb dècimes de °C. La humitat pot prendre qualsevol valor entre 0 i el 100 %.
Els senyals digitals els entén l'ordinador com un voltatge
de 0 o de 5 V.
A qualsevol entrada digital podem
adaptar qualsevol d'aquests tipus d'interruptor:

Una vegada adaptat el sensor al rang d'entrada, caldrà calibrar la seva resposta. Serà interessant que aquesta calibració la facin els alumnes, encara que d'una manera empírica, treballant així els conceptes de precisió i resolució.
Molt senyals
analògics es poden treballar com digitals (llum/foscor, calor/fred,
...) amb circuits molt senzills, tenint en compte el gran canvi que experimenta
el sensor (una LDR pot variar d'una resistència de l'ordre de 1
MW a la foscor fins l'ordre dels 100 W a plena llum) amb un divisor de
tensió. Encara que això a la pràctica professional
és habitual, és interessant que els alumnes passin per la
fase de tractament analògic. Una vegada que han vist i mesurat el
comportament del sensor (encarar que sigui amb un polímetre) podran
passar a la fase digital.
En principi no ens hauríem de preocupar pels rebots típics
de les entrades digitals, donat el temps característics que farem
servir (treballarem a l'ordre dels segons o dècimes de segon com
a molt). Només en el cas de fer servir l'entrada amb interrupció
de la impressora ens haurem d'amoïnar. En aquest casos podem fer servir
un biestable RS (l'integrat SN 74279 en porta 4), o, fins i tot, un condensador.
El port d'impressora ens dona sortides digitals. Ens limitarem a aquestes 8 sortides bàsiques (el bus de dades de la impressora) encara que podríem fer-ne ús de les altres sortides o utilitzar aquestes 8 sortides digitals per codificar un senyal analògic de sortida que caldria amplificar (veure annex 7: Convertidor D/A).
Aquesta sortida digital no ens permet molta potència. com a molt ens permet encendre un LED. Però la podem fer servir per excitar un transistor o un relè que controli l'actuador.
El LED és
el cas més senzill d'utilització. Cal posar una resistència
per limitar el corrent que el travessa:
encara que els LEDs es poden col·locar en paral·lel:
La caiguda de tensió al LED (VLED) depèn del
tipus de LED amb que treballem. Normalment ens trobarem amb valors al voltant
dels 2 V.
La intensitat màxima típica pels LEDs és de
20 mA, encara que s'acostumen a polaritzar amb un corrent de 5 o 10 mA.
Cal anar amb
molt de compte amb els extracorrents de ruptura i obertura d'actuador inductius
(o capacitius) com ara els relès o solenoides. Caldrà protegir
la sortida, fins i tot els transistors, perquè no es facin malbé
(per una informació més detallada vegeu el llibre Adquisición
y Distribución de Señales. Ramón Pallás
Areny. Ed. Marcombo 1993).
Per altre banda, en els robots és típic l'ús
de motors per donar el moviment. Són molt més controlables
els motors anomenats pas a pas (veure Annex 9: Motors
pas a pas).
No només
hem de poder llegir i escriure l'entorn, hem d'actuar en conseqüència.
Per això cal programar l'autòmat. Cal tenir les idees molt
clares abans d'escriure res, i organitzar-nos de manera que si ens equivoquem
-cosa força freqüent- ens sigui fàcil rectificar.
Una de les eines més adients és el diagrama de flux o ordinograma.
Farem servir una sèrie de símbols que representen cada acció de l'ordinador i fletxes que uneixen les diferents accions.
Podem assegurar que el coneixement de la tècnica de diagrames de flux justifica per se qualsevol crèdit del nou sistema educatiu. Fins i tot es pot practicar sense cap aparell a l'abast: podem fer que els alumnes, per parelles, executin els diagrames desenvolupats pels seus companys. És una de les eines mes potents per desenvolupar projectes i organitzar el pensament a qualsevol disciplina.
Qualsevol llenguatge de programació inclou dos tipus de processos
en els que es fonamenta la seva utilitat: les decisions i els bucles o
iteracions.
Les decisions són els elements bàsics de qualsevol màquina polivalent. Correspon a la implicació matemàtica: si es cumpleix la condició A aleshores executem la tasca B.
En aquest petit
exemple l'ordinador demana l'edat de l'usuari i decideix si és o
no major d'edat. Si en lloc de demanar l'edat a l'usuari l'ordinador llegeix
la temperatura d'una habitació i en lloc de decidir el missatge
el que fa és apagar o engegar una resistència calefactora
tindríem un control de temperatura constant (caldria fer que després
d'executar l'acció adient el programa tornés a llegir la
temperatura, i així sempre).
La decisió s'utilitza al llenguatge BASIC mitjançant la sentència IF ... THEN ... ELSE ... (Veure Annex 10: Decisions)
Les decisions senzilles són fàcils d'entendre. El tema
es complica quan una decisió afecta a una altre decisió posterior
(bifurcacions successives), o quan la condició és complexa
(condicions elementals amb connectors AND i OR). Cal que els alumnes s'exercitin
en aquests tipus de complicacions. Per que l'exercici sigui ràpid
i segur, és millor que el facin amb programets senzills com l'exemple
anterior, on les dades i les accions es fan al mateix ordinador.
|
|
|
|
|
|
|
|
|
|
|
|
Respecte als operadors AND i OR, caldrà recordar la seva taula
de veritat, ja que, a més a més de fer-se servir per les
condicions, al seu paper és fonamental en la modificació
de les sortides i la lectura de les entrades. Cal recordar que els senyals
s'agrupen en blocs de 8 bits (byte) i, per tant, hem d'aïllar el bit
que volem modificar o llegir amb una màscara i fent servir OR o
AND. També l'operador XOR és molt útil, ja que la
seva actuació és reversible i permet invertir directament
els bits desitjats.
|
|
|
|
|
|
|
|
|
|
|
|
Els bucles o iteracions són els altres elements bàsics de la programació, malgrat no tinguin un símbol propi. De fet, les diferents formes de fer les iteracions responen a diferents diagrames de flux de la iteració. Quan l'alumne ja està familiaritzat amb la iteració, pot representar-la com una subrutina o procés sense entrar en detalls de flux, només d'accions a realitzar. En BASIC farem servir, bàsicament, les estructures FOR ... NEXT i WHILE ... WEND, malgrat n'hi ha moltes més com el REPEAT ... UNTIL, DO WHILE ... LOOP, DO ... LOOP WHILE, DO UNTIL ... LOOP, DO ... LOOP UNTIL, o sentències de decisió més complexes com el SELECT CASE ... END SELECT.
És important que l'alumne s'acostumi a treballar amb aquests
tipus d'estructures, i limiti l'ús de redireccions directes del
flux (GOTO) quan és imprescindible (de fet, sempre, ja que les úniques
redireccions necessàries són a subrutines gestionades amb
un GOSUB o subrutines de servei d'interrupció gestionades per ON
event GOSUB, que tornen amb un RETURN o RESUME). De fet, és molt
important que no utilitzin el GOTO per sortir o entrar d'un bucle, doncs
la pila quedaria corrompuda ja que no existeix la instrucció POP
del GWBASIC. En cas necessari, es por fer servir la instrucció EXIT
FOR o EXIT DO, malgrat no és recomanable. EL QBASIC és un
llenguatge estructurat, amb un editor de pantalla completa i ajut amb hipertext.
Lluny som d'editors de línia i similars. Aquesta és una de
les raons d'haver escollit el QBASIC.
Els elements anteriors es poden quedar curts per fer alguns dissenys
concrets que necessiten més potència o rapidesa. En aquest
cas podem fer servir:
Molta feina pot ser avançada en altres crèdits. Si es tracta de fer un control del transit amb semàfors i passos a nivell, potser la maqueta podria plantejar-se en una feina prèvia. Si cal un sensor de temperatura, un braç articulat o un sistema per regar les plantes, es pot aprofitar un projecte prèvia no automatitzat, però on s'havia pensat aquesta possibilitat.
Es pot dividir un projecte en tasques que els alumnes facin individualment o per parelles i desprès posin en comú. Per això caldran reunions prèvies de coordinació i plantejament. Cal que els alumnes facin esborranys, estudis de viabilitat, fins i tot amb petites experiències per veure si aquesta o l'altre solució és factible. Cal que facin els diagrames de flux i els modifiquin quan s'han adonat dels seus errors i els han solventat. I que facin programes de prova on les connexions són simulades amb entrades pel teclat o indicadors a la pantalla. Cal que documentin la feina i facin un informe sobre el seu desenvolupament.
N'hi ha una infinitat de projectes per proposar. Només cal estudiar el nostre entorn. N'està ple. L'única limitació és la nostra limitació, el temps i els diners. Per això cal plantejar bé els objectius, i limitar-se als aspectes més suggerents i pedagògics. Controlar 1000 bombetes és el mateix que controlar-ne una sola. És més important com la controlem.
Alguns exemples (un de robòtica, un de domòtica i un altre de control industrial) són: