SlideShare une entreprise Scribd logo
1  sur  12
Exercici 1: Entendre el bloc “Motor” en cada roda, utilitzant rotacions.<br /> <br />Obrir el programari, salvar un primer programa amb el nom “ex1.rbt” i afegir un primer bloc “Motor” a aquest primer programa.<br /> <br />El bloc “Motor” s’ha de seleccionar de la barra d’eines i ubicar a sobre de l’anomenada “Sequence Beam” (biga de seqüència). Observar com una barra vertical de color blanc indica el lloc on s’inserirà el bloc en la biga de seqüència. És important esperar sempre a veure aquesta barra vertical per assegurar que el bloc s’ubica al lloc correcte.<br /> <br />    <br /> <br /> <br /> <br />Per defecte, el bloc “Motor” es crea amb una durada il·limitada i pel port A, que cal canviar pel B, la roda de la dreta del robot. Per tant, si no realitzem cap altre canvi, el robot girarà cap a la dreta sobre la roda del motor C, que estarà parada.<br /> <br />Una segona versió del programa, posant 2 rotacions en comptes de durada il·limitada en el mateix bloc, permet controlar la durada del gir del motor, en aquest cas el motor B. Cal observar que per defecte s’activa el control “Wait for Completion” (esperar finalització) i el control “Next Action” (acció següent). Més endavant veurem l’importància del primer control. Respecte a l’acció següent del bloc, és important veure que el bloc pot frenar el motor (opció “Break”) o no frenar-lo (opció “Coast”) en acabar el gir sol·licitat. Per exemple, cal utilitzar l’opció de frenar el motor si volem controlar amb precisió la distància recorreguda. Finalment, a més de rotacions, podem controlar el gir del motor mitjançant graus o temps expressat en segons.<br /> <br /> <br />Per acabar l’exercici podem anar variant els atributs del panell de configuració del bloc i observar l’efecte de cadascun d’ells, en especial la direcció i la potència.<br /> <br />Exercici 2: Desplaçament endavant utilitzant només el bloc “Motor” i rotacions.<br /> <br />En primer lloc podem veure l’efecte d’afegir un segon bloc “Motor” pel motor C de l’esquerra. Observar què passa si els atributs d’aquest segon bloc són diferents del primer. Cal anar amb cura i posar la mateixa durada i potència del bloc que l’anterior per a que els comportaments dels motors B i C siguin similars. Perquè el robot no va recte?<br /> <br />Per dur a terme un desplaçament correcte del robot en línia recta, a més de que els motors de cadascuna de les rodes B i C tinguin la mateixa potència (75) i girin el mateix número de rotacions (2,4), cal observar que han de funcionar alhora. Donat que això encara no és així, observar que el robot gira cap a l’esquerra (sobre la roda esquerra del motor C que estarà parada) i després cap a la dreta, sobre la roda dreta.<br /> <br />Per dur a terme aquest desplaçament correcte, cal que l’opció “Wait for Completion” (esperar finalització) del bloc “Motor” associat amb el motor B estigui desactivada. És a dir, amb aquesta opció desactivada, el programa no espera a que acabi de girar el motor B per arrencar el motor C, la qual cosa fa que els dos motors funcionin alhora i que el robot es desplaci en línia recta i endavant, si els paràmetres dels dos blocs són iguals, excepte per l’atribut esmentat. <br /> <br />Motor B<br /> <br />Per què el robot no es para correctament? Finalment, cal observar que un bloc “Motor” que tingui aquesta opció desactivada no frenarà mai (veure com l’opció “Brake” de l’atribut “Next Action” o acció següent del bloc està inhabilitada). Per tant, caldrà frenar explícitament el motor que tingui l’opció “Wait for Completion” desactivada, si es vol que el motor freni al final del recorregut. En aquest exemple, cal utilitzar un bloc “Motor” per frenar el motor B explícitament, ja que el motor C frena un cop realitzades les seves rotacions. Això permetrà parar el robot en el lloc exacte, altrament, un cop finalitzades les rotacions d’ambdós motors, el robot farà un petit gir a la dreta, equivalent al “Coast” del motor B.<br /> <br /> <br />Motor C<br /> <br />Cal observar que no frenar els motors al final del seu recorregut equival a l’opció “Coast”, que pot ser interessant en segons quines condicions, donat que al no frenar els motors no consumeix energia.<br /> <br />Coneixements adquirits: Aquest exemple bàsic de funcionament permet aprendre el funcionament bàsic dels motors. És molt útil descobrir aquest funcionament a base d’assajos, per tal d’entendre correctament el significat de cadascun dels atributs del bloc “Motor”, que seran bàsics per controlar amb precisió els desplaçaments i els girs del robot.<br /> <br />Exercici 3: Desplaçament endavant i/o enrere per tornar al lloc d’origen utilitzant només el bloc “Motor”.<br /> <br />Deixar als alumnes fer algunes proves. La solució més senzilla és copiar els 3 blocs anteriors i només modificar la direcció de gir dels motors B i C per a que el robot vagi endavant, freni i torni enrere, al lloc d’origen.<br /> <br /> <br />Suggeriment: Per tal de replicar un bloc, o conjunt de blocs, podem seleccionar-lo i copiar-lo (Ctrl-C), per després enganxar-lo (Ctrl-V) al lloc adient del programa. Alternativament, podem prémer la tecla Ctrl, seleccionar el bloc, o conjunt de blocs, que volem copiar i arrastrar-lo al lloc del programa on volem enganxar-lo. Per evitar problemes de compilació del programa, en el moment d’enganxar els blocs, és aconsellable esperar a veure que la barra o espai vertical blanc, que indica el lloc del programa on s’enganxarà el bloc en la biga de seqüència, està ubicat al lloc desitjat.<br /> <br />En una segona versió de l’exercici fer que el robot giri i torni al lloc d’origen, sempre en la mateixa direcció, endavant.<br /> <br /> <br />Observar que el gir del robot es realitza mitjançant un bloc “Motor” en el port C, per tant, girant cap a la dreta, sobre la roda del motor B i mitjançant un número de graus de gir (720) del motor C. Aquí és important veure què passa si abans d’aquest gir els motors no estan frenats.<br /> <br />Motor C<br /> <br />En aquesta segona versió del programa, cal observar que el robot no torna exactament al lloc de partida, perquè? El desplaçament del robot correspon a l’amplada del robot, ja que aquest gira sobre una roda. Com es pot corregir aquest desplaçament?<br /> <br />El gir que fa el robot s’anomena gir sobre un punt (la roda del motor B, que està parada en el nostre cas). Per tal de fer que el robot no es desplaci i arribi al mateix punt de sortida, cal fer que el robot giri el mateix sobre cadascuna de les seves rodes, un gir sobre la roda C i l’altre en sentit contrari sobre la roda B.<br /> <br /> <br />Observar que aquests dos girs impliquen reduir el número de rotacions de cada motor respecte al gir anterior.<br /> <br />Finalment, com podem fer girar el robot de forma més elegant? Com podem realitzar un gir sobre l’eix del propi robot, i no sobre cadascuna de les seves rodes? Per poder-lo realitzar cal fer els dos girs anteriors alhora.<br /> <br /> <br />Deixar que els alumnes facin proves i descobreixin que, de forma similar al programa inicial anterior, cal que el motor C tingui l’opció “Wait for Completion” desactivada i cal frenar el motor C un cop acabat el gir del robot sobre el seu eix, mitjançant els dos motors.<br /> <br />Exercici 4: Desplaçament endavant i/o enrere per tornar al lloc d’origen utilitzant el bloc “Move”.<br /> <br />Fer un segon programa nou, per exemple “ex4.rbt”, i afegir un bloc “Move”.<br /> <br /> <br /> <br />A diferència del bloc “Motor”, el bloc “Move” permet controlar els 3 motors alhora. Per defecte es configura pels ports B i C, amb 1 rotació de motor i amb l’opció de frenar per a l’acció següent (en l’exemple, aquest atribut s’ha modificat a 2 rotacions). Podem observar un nou atribut anomenat “Steering” o volant. Aquest atribut permet distribuir la potència entre els 2 motors (està inhabilitat si seleccionem 3 motors). Per defecte el volant es posa centrat, per distribuir la potència de forma idèntica entre els 2 motors. Més endavant veurem com funciona.<br /> <br />Per tant, amb el bloc configurat com en la imatge anterior, el robot es desplaçarà linealment 2 rotacions endavant. Si comparem aquest programa amb el del primer exercici, veurem que són equivalents. Per tant, el bloc “Move” és una molt bona opció per controlar el moviment en línia recta del robot, ja que sincronitza els 2 motors automàticament.<br /> <br /> és equivalent a <br /> <br />Deixar que els alumnes repliquin l’exercici anterior però només amb el bloc “Move”. Això els hi permetrà veure l’efecte de l’atribut de volant.<br /> <br />Veurem que per anar endavant i tornar enrere a la posició de partida, només haurem d’afegir un segon bloc “Move” idèntic a l’anterior, i modificar-li només la direcció dels motors.<br /> <br /> <br />Seguidament, podem inserir un tercer bloc “Move” entre mig dels dos blocs existents i jugar amb l’efecte de volant per fer girar el robot i fer-li fer una corba.<br /> <br />Quins canvis haurem de fer per tal d’aconseguir l’efecte dels blocs “Motor” de l’exercici anterior? Finalment, veurem que si desplacem la barra de volant cap a l’extrem del port d’un motor, el robot girarà sobre un punt, el motor del port contrari.<br /> <br /> <br />També podem combinar blocs “Move” amb blocs “Motor” per tal d’aconseguir un control més precís del moviment del robot.<br /> <br /> <br />Coneixements adquirits: L’alumne controla amb molta precisió el funcionament del motors mitjançant els dos blocs bàsics “Motor” i “Move”, amb la capacitat de realitzar les combinacions de blocs més adients per dirigir el robot de forma adequada. Ara només manca aprendre a calcular el número de rotacions de motor per arribar al lloc desitjat, i així anticipar el comportament del robot.<br /> <br />Exercici incremental 1: Arribar al final de la gàbia utilitzant només rotacions de motor.<br /> <br />El següent esquema mostra un recorregut que haurà de recórrer el robot per tal de sortir d’un punt i arribar a un altre. Es pot utilitzar cinta adhesiva de color negre per marcar els límits del recorregut i de la gàbia, i es pot utilitzar un cartó-pluma blanc de 1x1,5 metres. Aquest exercici s’anirà fent més complex al llarg de cada unitat didàctica.<br /> <br />Una mica de teoria<br /> <br />Abans de començar l’exercici pot ser interessant demanar als alumnes que intentin relacionar la distància que ha de recórrer el robot abans de fer el primer gir a l’esquerra (utilitzar un regle) amb el número de rotacions del motor. Aprofundir els conceptes de radi, diàmetre, perímetre, rotacions de roda (expressades en número de rotacions o graus), i descobrir el número PI.<br /> <br /> <br />Mostrar la relació entre perímetre i superfície d’una circumferència, i comparar-la a la d’un quadrat:<br /> Perímetre cercle         = 3,14 x diàmetrePerímetre quadrat      = 4 x diàmetreÀrea cercle                 = 3,14 x radi x radi = 3,14 x radi2Àrea quadrat               = 4 x radi x radi      = 4 x radi2<br /> <br />Finalment, cal realitzar les operacions per tal de calcular les rotacions de motor per recórrer una distància determinada en línia recta:<br /> rotacions = distància / perímetregraus = rotacions x 360<br /> <br />Podem fer el mateix per calcular-ho amb un gir sobre una roda:<br />Diàmetre (2 x distància rodes)PerímetreGraus de gir del robot Graus / 360 = distància / Perímetre  (robot)distància = perímetre x graus / 360  (roda) Càlcul del gir de la roda:graus = Graus x Diàmetre / diàmetrerotacions = Graus x Diàmetre / 360 x diàmetre<br /> <br />Per realitzar l’exercici incremental, podem deixar que els alumnes facin proves i tractin de calcular el número de rotacions de motor en funció del diàmetre de la roda.<br /> <br />Una solució per realitzar aquest exercici incremental, és combinar blocs “Move”, per desplaçar el robot en línia recta, amb blocs “Motor”, per fer-lo girar sobre el seu propi eix amb precisió, per seguir el recorregut marcat i arribar fins el final.<br /> <br /> <br />El desplaçament dels blocs “Move” es controla mitjançant rotacions i el dels blocs “Motor” mitjançant graus, per obtenir la precisió suficient.<br /> <br />Suggeriment: Per tal d’entendre bé el comportament del robot respecte del codi que executa, és molt recomanable realitzar i executar el programa pas a pas. Per exemple, podem començar per un recorregut recte, assegurar que el robot para al lloc adequat, i després realitzar el gir i combinar-lo al programa anterior, etc. Si cal, podem crear programes parcials i un cop funcionen podem copiar el codi i enganxar-lo al programa definitiu.<br /> <br />Coneixements adquirits: L’alumne, en funció de l’edat, ha de ser capaç de calcular els desplaçaments del robot de forma anticipada, per tal de controlar amb precisió els moviments en línia recta i en els girs.<br /> <br />Curs d'introducció a LEGO® Mindstorms NXT by José María Fargas Texidó is licensed under a Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España License.<br />Permissions beyond the scope of this license may be available at www.bogatech.org.<br /> <br />   <br /> <br />
Exercici 1 lego
Exercici 1 lego
Exercici 1 lego
Exercici 1 lego
Exercici 1 lego
Exercici 1 lego
Exercici 1 lego
Exercici 1 lego
Exercici 1 lego
Exercici 1 lego
Exercici 1 lego

Contenu connexe

En vedette

Elizabath
ElizabathElizabath
ElizabathDYUTI
 
Мониторинг битумных кровельных материалов (мастики и праймеры) 2013
Мониторинг битумных кровельных материалов (мастики и праймеры) 2013Мониторинг битумных кровельных материалов (мастики и праймеры) 2013
Мониторинг битумных кровельных материалов (мастики и праймеры) 2013Agency of Industrial Marketing
 
Slide Show Power Point For Lis
Slide Show Power Point For LisSlide Show Power Point For Lis
Slide Show Power Point For Lisguest884572
 
Afrikar Kultura
Afrikar KulturaAfrikar Kultura
Afrikar Kulturazitzia90
 
La Lista De La Compra
La Lista De La CompraLa Lista De La Compra
La Lista De La Compraguest696563
 
We are the world, we are the children cap
We are the world, we are the children capWe are the world, we are the children cap
We are the world, we are the children capemallol1
 
青藏首部曲
青藏首部曲青藏首部曲
青藏首部曲ykyr7850
 
режущие инструменты
режущие инструментырежущие инструменты
режущие инструментыfex1r
 
Исследование рынка вспенивающегося полистирола EPS, Январь-март 2012
Исследование рынка вспенивающегося полистирола EPS, Январь-март 2012Исследование рынка вспенивающегося полистирола EPS, Январь-март 2012
Исследование рынка вспенивающегося полистирола EPS, Январь-март 2012Agency of Industrial Marketing
 
My Leaders & Role Models Coral
My Leaders & Role Models CoralMy Leaders & Role Models Coral
My Leaders & Role Models Coralguest706685d
 

En vedette (17)

Cascading strategic plans during policy deployment
Cascading strategic plans during policy deploymentCascading strategic plans during policy deployment
Cascading strategic plans during policy deployment
 
Elizabath
ElizabathElizabath
Elizabath
 
ETE Award Ceremony 2009 (English)
ETE Award Ceremony 2009 (English)ETE Award Ceremony 2009 (English)
ETE Award Ceremony 2009 (English)
 
Мониторинг битумных кровельных материалов (мастики и праймеры) 2013
Мониторинг битумных кровельных материалов (мастики и праймеры) 2013Мониторинг битумных кровельных материалов (мастики и праймеры) 2013
Мониторинг битумных кровельных материалов (мастики и праймеры) 2013
 
Slide Show Power Point For Lis
Slide Show Power Point For LisSlide Show Power Point For Lis
Slide Show Power Point For Lis
 
Afrikar Kultura
Afrikar KulturaAfrikar Kultura
Afrikar Kultura
 
La Lista De La Compra
La Lista De La CompraLa Lista De La Compra
La Lista De La Compra
 
T-Mobile over de samenwerking met SUSA
T-Mobile over de samenwerking met SUSAT-Mobile over de samenwerking met SUSA
T-Mobile over de samenwerking met SUSA
 
We are the world, we are the children cap
We are the world, we are the children capWe are the world, we are the children cap
We are the world, we are the children cap
 
shchyrin
shchyrinshchyrin
shchyrin
 
submar1
submar1submar1
submar1
 
青藏首部曲
青藏首部曲青藏首部曲
青藏首部曲
 
Рынок газовых бытовых котлов
Рынок газовых бытовых котловРынок газовых бытовых котлов
Рынок газовых бытовых котлов
 
режущие инструменты
режущие инструментырежущие инструменты
режущие инструменты
 
Исследование рынка вспенивающегося полистирола EPS, Январь-март 2012
Исследование рынка вспенивающегося полистирола EPS, Январь-март 2012Исследование рынка вспенивающегося полистирола EPS, Январь-март 2012
Исследование рынка вспенивающегося полистирола EPS, Январь-март 2012
 
доповідачі b2b fest
доповідачі b2b festдоповідачі b2b fest
доповідачі b2b fest
 
My Leaders & Role Models Coral
My Leaders & Role Models CoralMy Leaders & Role Models Coral
My Leaders & Role Models Coral
 

Plus de Avel·lí

Som Energia: El cooperativisme energètic: la resposta ciutadana
Som Energia: El cooperativisme energètic: la resposta ciutadanaSom Energia: El cooperativisme energètic: la resposta ciutadana
Som Energia: El cooperativisme energètic: la resposta ciutadanaAvel·lí
 
Som Energia: Autoconsum fotovoltaic
Som Energia: Autoconsum fotovoltaicSom Energia: Autoconsum fotovoltaic
Som Energia: Autoconsum fotovoltaicAvel·lí
 
Som Energia: 1r Congrés d'Energies Renovables i Sostenibilitat en Territoris ...
Som Energia: 1r Congrés d'Energies Renovables i Sostenibilitat en Territoris ...Som Energia: 1r Congrés d'Energies Renovables i Sostenibilitat en Territoris ...
Som Energia: 1r Congrés d'Energies Renovables i Sostenibilitat en Territoris ...Avel·lí
 
Esquela escola publica
Esquela escola publicaEsquela escola publica
Esquela escola publicaAvel·lí
 
Hay alternativas
Hay alternativasHay alternativas
Hay alternativasAvel·lí
 
Gnu ubuntu-facil-v4
Gnu ubuntu-facil-v4Gnu ubuntu-facil-v4
Gnu ubuntu-facil-v4Avel·lí
 
Ubunturef(esp) Comandos
Ubunturef(esp) ComandosUbunturef(esp) Comandos
Ubunturef(esp) ComandosAvel·lí
 
Softlibre enriquecido
Softlibre enriquecidoSoftlibre enriquecido
Softlibre enriquecidoAvel·lí
 
Manual desobediencia
Manual desobedienciaManual desobediencia
Manual desobedienciaAvel·lí
 
Programari lliure, societat lliure:
Programari lliure,  societat lliure:Programari lliure,  societat lliure:
Programari lliure, societat lliure:Avel·lí
 
Ebook openoffice 3-writer-calc-impress
Ebook openoffice 3-writer-calc-impressEbook openoffice 3-writer-calc-impress
Ebook openoffice 3-writer-calc-impressAvel·lí
 
Escola, salud i feina, 3a edició
Escola, salud i feina, 3a edicióEscola, salud i feina, 3a edició
Escola, salud i feina, 3a edicióAvel·lí
 
Cap09. Introducción a Linux Otras tareas elementales
Cap09. Introducción a Linux Otras tareas elementalesCap09. Introducción a Linux Otras tareas elementales
Cap09. Introducción a Linux Otras tareas elementalesAvel·lí
 
Cap04.Introducción a Linux El entorno de trabajo en Ubuntu
Cap04.Introducción a Linux El entorno de trabajo en UbuntuCap04.Introducción a Linux El entorno de trabajo en Ubuntu
Cap04.Introducción a Linux El entorno de trabajo en UbuntuAvel·lí
 
Cap07.Introducción a Linux Aplicaciones de red
Cap07.Introducción a Linux Aplicaciones de redCap07.Introducción a Linux Aplicaciones de red
Cap07.Introducción a Linux Aplicaciones de redAvel·lí
 

Plus de Avel·lí (20)

Som Energia: El cooperativisme energètic: la resposta ciutadana
Som Energia: El cooperativisme energètic: la resposta ciutadanaSom Energia: El cooperativisme energètic: la resposta ciutadana
Som Energia: El cooperativisme energètic: la resposta ciutadana
 
Som Energia: Autoconsum fotovoltaic
Som Energia: Autoconsum fotovoltaicSom Energia: Autoconsum fotovoltaic
Som Energia: Autoconsum fotovoltaic
 
Som Energia: 1r Congrés d'Energies Renovables i Sostenibilitat en Territoris ...
Som Energia: 1r Congrés d'Energies Renovables i Sostenibilitat en Territoris ...Som Energia: 1r Congrés d'Energies Renovables i Sostenibilitat en Territoris ...
Som Energia: 1r Congrés d'Energies Renovables i Sostenibilitat en Territoris ...
 
Prova
ProvaProva
Prova
 
Pneumàtica
PneumàticaPneumàtica
Pneumàtica
 
Esquela escola publica
Esquela escola publicaEsquela escola publica
Esquela escola publica
 
Hay alternativas
Hay alternativasHay alternativas
Hay alternativas
 
Retallades
RetalladesRetallades
Retallades
 
Formulari
FormulariFormulari
Formulari
 
Vaga
VagaVaga
Vaga
 
Gnu ubuntu-facil-v4
Gnu ubuntu-facil-v4Gnu ubuntu-facil-v4
Gnu ubuntu-facil-v4
 
Ubunturef(esp) Comandos
Ubunturef(esp) ComandosUbunturef(esp) Comandos
Ubunturef(esp) Comandos
 
Softlibre enriquecido
Softlibre enriquecidoSoftlibre enriquecido
Softlibre enriquecido
 
Manual desobediencia
Manual desobedienciaManual desobediencia
Manual desobediencia
 
Programari lliure, societat lliure:
Programari lliure,  societat lliure:Programari lliure,  societat lliure:
Programari lliure, societat lliure:
 
Ebook openoffice 3-writer-calc-impress
Ebook openoffice 3-writer-calc-impressEbook openoffice 3-writer-calc-impress
Ebook openoffice 3-writer-calc-impress
 
Escola, salud i feina, 3a edició
Escola, salud i feina, 3a edicióEscola, salud i feina, 3a edició
Escola, salud i feina, 3a edició
 
Cap09. Introducción a Linux Otras tareas elementales
Cap09. Introducción a Linux Otras tareas elementalesCap09. Introducción a Linux Otras tareas elementales
Cap09. Introducción a Linux Otras tareas elementales
 
Cap04.Introducción a Linux El entorno de trabajo en Ubuntu
Cap04.Introducción a Linux El entorno de trabajo en UbuntuCap04.Introducción a Linux El entorno de trabajo en Ubuntu
Cap04.Introducción a Linux El entorno de trabajo en Ubuntu
 
Cap07.Introducción a Linux Aplicaciones de red
Cap07.Introducción a Linux Aplicaciones de redCap07.Introducción a Linux Aplicaciones de red
Cap07.Introducción a Linux Aplicaciones de red
 

Exercici 1 lego

  • 1. Exercici 1: Entendre el bloc “Motor” en cada roda, utilitzant rotacions.<br /> <br />Obrir el programari, salvar un primer programa amb el nom “ex1.rbt” i afegir un primer bloc “Motor” a aquest primer programa.<br /> <br />El bloc “Motor” s’ha de seleccionar de la barra d’eines i ubicar a sobre de l’anomenada “Sequence Beam” (biga de seqüència). Observar com una barra vertical de color blanc indica el lloc on s’inserirà el bloc en la biga de seqüència. És important esperar sempre a veure aquesta barra vertical per assegurar que el bloc s’ubica al lloc correcte.<br /> <br />    <br /> <br /> <br /> <br />Per defecte, el bloc “Motor” es crea amb una durada il·limitada i pel port A, que cal canviar pel B, la roda de la dreta del robot. Per tant, si no realitzem cap altre canvi, el robot girarà cap a la dreta sobre la roda del motor C, que estarà parada.<br /> <br />Una segona versió del programa, posant 2 rotacions en comptes de durada il·limitada en el mateix bloc, permet controlar la durada del gir del motor, en aquest cas el motor B. Cal observar que per defecte s’activa el control “Wait for Completion” (esperar finalització) i el control “Next Action” (acció següent). Més endavant veurem l’importància del primer control. Respecte a l’acció següent del bloc, és important veure que el bloc pot frenar el motor (opció “Break”) o no frenar-lo (opció “Coast”) en acabar el gir sol·licitat. Per exemple, cal utilitzar l’opció de frenar el motor si volem controlar amb precisió la distància recorreguda. Finalment, a més de rotacions, podem controlar el gir del motor mitjançant graus o temps expressat en segons.<br /> <br /> <br />Per acabar l’exercici podem anar variant els atributs del panell de configuració del bloc i observar l’efecte de cadascun d’ells, en especial la direcció i la potència.<br /> <br />Exercici 2: Desplaçament endavant utilitzant només el bloc “Motor” i rotacions.<br /> <br />En primer lloc podem veure l’efecte d’afegir un segon bloc “Motor” pel motor C de l’esquerra. Observar què passa si els atributs d’aquest segon bloc són diferents del primer. Cal anar amb cura i posar la mateixa durada i potència del bloc que l’anterior per a que els comportaments dels motors B i C siguin similars. Perquè el robot no va recte?<br /> <br />Per dur a terme un desplaçament correcte del robot en línia recta, a més de que els motors de cadascuna de les rodes B i C tinguin la mateixa potència (75) i girin el mateix número de rotacions (2,4), cal observar que han de funcionar alhora. Donat que això encara no és així, observar que el robot gira cap a l’esquerra (sobre la roda esquerra del motor C que estarà parada) i després cap a la dreta, sobre la roda dreta.<br /> <br />Per dur a terme aquest desplaçament correcte, cal que l’opció “Wait for Completion” (esperar finalització) del bloc “Motor” associat amb el motor B estigui desactivada. És a dir, amb aquesta opció desactivada, el programa no espera a que acabi de girar el motor B per arrencar el motor C, la qual cosa fa que els dos motors funcionin alhora i que el robot es desplaci en línia recta i endavant, si els paràmetres dels dos blocs són iguals, excepte per l’atribut esmentat. <br /> <br />Motor B<br /> <br />Per què el robot no es para correctament? Finalment, cal observar que un bloc “Motor” que tingui aquesta opció desactivada no frenarà mai (veure com l’opció “Brake” de l’atribut “Next Action” o acció següent del bloc està inhabilitada). Per tant, caldrà frenar explícitament el motor que tingui l’opció “Wait for Completion” desactivada, si es vol que el motor freni al final del recorregut. En aquest exemple, cal utilitzar un bloc “Motor” per frenar el motor B explícitament, ja que el motor C frena un cop realitzades les seves rotacions. Això permetrà parar el robot en el lloc exacte, altrament, un cop finalitzades les rotacions d’ambdós motors, el robot farà un petit gir a la dreta, equivalent al “Coast” del motor B.<br /> <br /> <br />Motor C<br /> <br />Cal observar que no frenar els motors al final del seu recorregut equival a l’opció “Coast”, que pot ser interessant en segons quines condicions, donat que al no frenar els motors no consumeix energia.<br /> <br />Coneixements adquirits: Aquest exemple bàsic de funcionament permet aprendre el funcionament bàsic dels motors. És molt útil descobrir aquest funcionament a base d’assajos, per tal d’entendre correctament el significat de cadascun dels atributs del bloc “Motor”, que seran bàsics per controlar amb precisió els desplaçaments i els girs del robot.<br /> <br />Exercici 3: Desplaçament endavant i/o enrere per tornar al lloc d’origen utilitzant només el bloc “Motor”.<br /> <br />Deixar als alumnes fer algunes proves. La solució més senzilla és copiar els 3 blocs anteriors i només modificar la direcció de gir dels motors B i C per a que el robot vagi endavant, freni i torni enrere, al lloc d’origen.<br /> <br /> <br />Suggeriment: Per tal de replicar un bloc, o conjunt de blocs, podem seleccionar-lo i copiar-lo (Ctrl-C), per després enganxar-lo (Ctrl-V) al lloc adient del programa. Alternativament, podem prémer la tecla Ctrl, seleccionar el bloc, o conjunt de blocs, que volem copiar i arrastrar-lo al lloc del programa on volem enganxar-lo. Per evitar problemes de compilació del programa, en el moment d’enganxar els blocs, és aconsellable esperar a veure que la barra o espai vertical blanc, que indica el lloc del programa on s’enganxarà el bloc en la biga de seqüència, està ubicat al lloc desitjat.<br /> <br />En una segona versió de l’exercici fer que el robot giri i torni al lloc d’origen, sempre en la mateixa direcció, endavant.<br /> <br /> <br />Observar que el gir del robot es realitza mitjançant un bloc “Motor” en el port C, per tant, girant cap a la dreta, sobre la roda del motor B i mitjançant un número de graus de gir (720) del motor C. Aquí és important veure què passa si abans d’aquest gir els motors no estan frenats.<br /> <br />Motor C<br /> <br />En aquesta segona versió del programa, cal observar que el robot no torna exactament al lloc de partida, perquè? El desplaçament del robot correspon a l’amplada del robot, ja que aquest gira sobre una roda. Com es pot corregir aquest desplaçament?<br /> <br />El gir que fa el robot s’anomena gir sobre un punt (la roda del motor B, que està parada en el nostre cas). Per tal de fer que el robot no es desplaci i arribi al mateix punt de sortida, cal fer que el robot giri el mateix sobre cadascuna de les seves rodes, un gir sobre la roda C i l’altre en sentit contrari sobre la roda B.<br /> <br /> <br />Observar que aquests dos girs impliquen reduir el número de rotacions de cada motor respecte al gir anterior.<br /> <br />Finalment, com podem fer girar el robot de forma més elegant? Com podem realitzar un gir sobre l’eix del propi robot, i no sobre cadascuna de les seves rodes? Per poder-lo realitzar cal fer els dos girs anteriors alhora.<br /> <br /> <br />Deixar que els alumnes facin proves i descobreixin que, de forma similar al programa inicial anterior, cal que el motor C tingui l’opció “Wait for Completion” desactivada i cal frenar el motor C un cop acabat el gir del robot sobre el seu eix, mitjançant els dos motors.<br /> <br />Exercici 4: Desplaçament endavant i/o enrere per tornar al lloc d’origen utilitzant el bloc “Move”.<br /> <br />Fer un segon programa nou, per exemple “ex4.rbt”, i afegir un bloc “Move”.<br /> <br /> <br /> <br />A diferència del bloc “Motor”, el bloc “Move” permet controlar els 3 motors alhora. Per defecte es configura pels ports B i C, amb 1 rotació de motor i amb l’opció de frenar per a l’acció següent (en l’exemple, aquest atribut s’ha modificat a 2 rotacions). Podem observar un nou atribut anomenat “Steering” o volant. Aquest atribut permet distribuir la potència entre els 2 motors (està inhabilitat si seleccionem 3 motors). Per defecte el volant es posa centrat, per distribuir la potència de forma idèntica entre els 2 motors. Més endavant veurem com funciona.<br /> <br />Per tant, amb el bloc configurat com en la imatge anterior, el robot es desplaçarà linealment 2 rotacions endavant. Si comparem aquest programa amb el del primer exercici, veurem que són equivalents. Per tant, el bloc “Move” és una molt bona opció per controlar el moviment en línia recta del robot, ja que sincronitza els 2 motors automàticament.<br /> <br /> és equivalent a <br /> <br />Deixar que els alumnes repliquin l’exercici anterior però només amb el bloc “Move”. Això els hi permetrà veure l’efecte de l’atribut de volant.<br /> <br />Veurem que per anar endavant i tornar enrere a la posició de partida, només haurem d’afegir un segon bloc “Move” idèntic a l’anterior, i modificar-li només la direcció dels motors.<br /> <br /> <br />Seguidament, podem inserir un tercer bloc “Move” entre mig dels dos blocs existents i jugar amb l’efecte de volant per fer girar el robot i fer-li fer una corba.<br /> <br />Quins canvis haurem de fer per tal d’aconseguir l’efecte dels blocs “Motor” de l’exercici anterior? Finalment, veurem que si desplacem la barra de volant cap a l’extrem del port d’un motor, el robot girarà sobre un punt, el motor del port contrari.<br /> <br /> <br />També podem combinar blocs “Move” amb blocs “Motor” per tal d’aconseguir un control més precís del moviment del robot.<br /> <br /> <br />Coneixements adquirits: L’alumne controla amb molta precisió el funcionament del motors mitjançant els dos blocs bàsics “Motor” i “Move”, amb la capacitat de realitzar les combinacions de blocs més adients per dirigir el robot de forma adequada. Ara només manca aprendre a calcular el número de rotacions de motor per arribar al lloc desitjat, i així anticipar el comportament del robot.<br /> <br />Exercici incremental 1: Arribar al final de la gàbia utilitzant només rotacions de motor.<br /> <br />El següent esquema mostra un recorregut que haurà de recórrer el robot per tal de sortir d’un punt i arribar a un altre. Es pot utilitzar cinta adhesiva de color negre per marcar els límits del recorregut i de la gàbia, i es pot utilitzar un cartó-pluma blanc de 1x1,5 metres. Aquest exercici s’anirà fent més complex al llarg de cada unitat didàctica.<br /> <br />Una mica de teoria<br /> <br />Abans de començar l’exercici pot ser interessant demanar als alumnes que intentin relacionar la distància que ha de recórrer el robot abans de fer el primer gir a l’esquerra (utilitzar un regle) amb el número de rotacions del motor. Aprofundir els conceptes de radi, diàmetre, perímetre, rotacions de roda (expressades en número de rotacions o graus), i descobrir el número PI.<br /> <br /> <br />Mostrar la relació entre perímetre i superfície d’una circumferència, i comparar-la a la d’un quadrat:<br /> Perímetre cercle         = 3,14 x diàmetrePerímetre quadrat      = 4 x diàmetreÀrea cercle                 = 3,14 x radi x radi = 3,14 x radi2Àrea quadrat               = 4 x radi x radi      = 4 x radi2<br /> <br />Finalment, cal realitzar les operacions per tal de calcular les rotacions de motor per recórrer una distància determinada en línia recta:<br /> rotacions = distància / perímetregraus = rotacions x 360<br /> <br />Podem fer el mateix per calcular-ho amb un gir sobre una roda:<br />Diàmetre (2 x distància rodes)PerímetreGraus de gir del robot Graus / 360 = distància / Perímetre  (robot)distància = perímetre x graus / 360  (roda) Càlcul del gir de la roda:graus = Graus x Diàmetre / diàmetrerotacions = Graus x Diàmetre / 360 x diàmetre<br /> <br />Per realitzar l’exercici incremental, podem deixar que els alumnes facin proves i tractin de calcular el número de rotacions de motor en funció del diàmetre de la roda.<br /> <br />Una solució per realitzar aquest exercici incremental, és combinar blocs “Move”, per desplaçar el robot en línia recta, amb blocs “Motor”, per fer-lo girar sobre el seu propi eix amb precisió, per seguir el recorregut marcat i arribar fins el final.<br /> <br /> <br />El desplaçament dels blocs “Move” es controla mitjançant rotacions i el dels blocs “Motor” mitjançant graus, per obtenir la precisió suficient.<br /> <br />Suggeriment: Per tal d’entendre bé el comportament del robot respecte del codi que executa, és molt recomanable realitzar i executar el programa pas a pas. Per exemple, podem començar per un recorregut recte, assegurar que el robot para al lloc adequat, i després realitzar el gir i combinar-lo al programa anterior, etc. Si cal, podem crear programes parcials i un cop funcionen podem copiar el codi i enganxar-lo al programa definitiu.<br /> <br />Coneixements adquirits: L’alumne, en funció de l’edat, ha de ser capaç de calcular els desplaçaments del robot de forma anticipada, per tal de controlar amb precisió els moviments en línia recta i en els girs.<br /> <br />Curs d'introducció a LEGO® Mindstorms NXT by José María Fargas Texidó is licensed under a Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España License.<br />Permissions beyond the scope of this license may be available at www.bogatech.org.<br /> <br />   <br /> <br />