1 ???????? ?????????? F????? 1 - TEI...

139
ΤΕΙ ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΘΟΔΟΛΟΓΙΕΣ ΓΙΑ ΠΑΡΟΥΣΙΑΣΗ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΒΑΣΙΣΜΕΝΕΣ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΡΟΜΠΟΤΙΚΗΣ ( Methodologies for New Technological implementations using the educational robotics platform) Υπό ΠΑΙΔΑΡΑΚΗ ΕΙΡΗΝΗ-ΧΡΥΣΟΒΑΛΑΝTΑΜΠΛΑ ΦΩΤΕΙΝΗ Επίβλεψη Δρ. ΚΑΡΑΜΠΑΤΖΑΚΗΣ ΔΗΜΗΤΡΙΟΣ Καβάλα 2011

Transcript of 1 ???????? ?????????? F????? 1 - TEI...

ΤΕΙ ΚΑΒΑΛΑΣ

ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΜΕΘΟ∆ΟΛΟΓΙΕΣ ΓΙΑ ΠΑΡΟΥΣΙΑΣΗ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΒΑΣΙΣΜΕΝΕΣ

ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ ΕΚΠΑΙ∆ΕΥΤΙΚΗΣ ΡΟΜΠΟΤΙΚΗΣ

( Methodologies for New Technological implementations using the educational robotics platform)

Υπό ΠΑΙ∆ΑΡΑΚΗ ΕΙΡΗΝΗ-ΧΡΥΣΟΒΑΛΑΝTΩ

ΑΜΠΛΑ ΦΩΤΕΙΝΗ

Επίβλεψη ∆ρ. ΚΑΡΑΜΠΑΤΖΑΚΗΣ ∆ΗΜΗΤΡΙΟΣ

Καβάλα 2011

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

2

Η παρούσα εργασία αφιερώνεται µε απεριόριστη αγάπη στους γονείς µας.

Οι συγγραφείς

Παιδαράκη Ειρήνη Αµπλά Φωτεινή

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

3

ΕΥΧΑΡΙΣΤΙΕΣ

Πριν την παρουσίαση των αποτελεσµάτων της παρούσας πτυχιακής εργασίας,

αισθανόµαστε την υποχρέωση να ευχαριστήσουµε ορισµένους από τους ανθρώπους

που γνωρίσαµε, συνεργαστήκαµε µαζί τους και παίξανε πολύ σηµαντικό ρόλο στην

πραγµατοποίησή της.

Αρχικά, θα θέλαµε να ευχαριστήσουµε τον επιβλέποντα καθηγητή µας κ. ∆.

Καραµπατζάκη για την καθοδήγηση και υποστήριξη του κατά τη διάρκεια της

εργασίας καθώς και για τη δυνατότητα που µας έδωσε να αποκτήσουµε εµπειρία

πάνω στην εκπαιδευτική διδασκαλία και να εντρυφήσουµε σε καινοτόµες µεθόδους

διδασκαλίας του προγραµµατισµού.

Επίσης, ευχαριστούµε τα µέλη της εξεταστικής επιτροπής της παρούσας

πτυχιακής εργασίας κ. Καθ. ∆. Πογαρίδη και ∆ρ. Ιωάννη Τσαλαµάνη για την

ανάγνωση του κειµένου και για τη δυνατότητα που µας έδωσαν να ασχοληθούµε και

να γνωρίσουµε νέες τεχνολογίες.

Τέλος, θα θέλαµε να ευχαριστήσουµε την οικογένεια µας για την υποστήριξη

που µας επέδειξαν καθώς και σε όλους του φίλους µας για τη συµπαράσταση και την

υποµονή τους.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

4

ΠΕΡΙΛΗΨΗ

Η εκπαιδευτική ροµποτική αποτελεί µια σύγχρονη µέθοδο για τη µετάδοση

νέων τεχνολογιών σε µαθητές. Η ανάπτυξη υλικού για την ορθή και αποτελεσµατική

παρουσίαση του αντικειµένου απαιτεί ειδικές γνώσεις στον τοµέα των

ενσωµατωµένων συστηµάτων, του προγραµµατισµού και τροποποίηση των

εκπαιδευτικών µεθοδολογιών. Η πτυχιακή εργασία σαν σκοπό έχει να αναπτύξει µια

πρώτη σειρά ασκήσεων και εγχειριδίων χρήσης βασισµένων στην πλατφόρµα

Εκπαιδευτικής Ροµποτικής γνωστής ως Lego Mindstorms NXT II.

Στόχος της πτυχιακής εργασίας είναι να εφοδιάσει τους µηχανικούς της

Βιοµηχανικής Πληροφορικής που επιθυµούν να απασχοληθούν στον τοµέα της

εκπαίδευσης µε ανταγωνιστικές γνώσεις σε ένα εκπαιδευτικό προϊόν που αναµένεται

να κερδίσει το ενδιαφέρον των µαθητών τα επόµενα χρόνια. Η ενίσχυση της

προσπάθειας αυτής µε υλικό και λογισµικό τεχνολογίας αιχµής θα βοηθήσει στην

παραγωγή εκπαιδευτικού υλικού υψηλής ποιότητας.

ΛΕΞΕΙΣ ΚΛΕΙ∆ΙΑ

Lego Mindstorms NXT II, Εκπαιδευτική Ροµποτική, Συνεργατική Μάθηση, NXT-G,

VPL.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

5

TITLE

Methodologies for New Technological implementations using the educational

robotics platform

ABSTRACT

Educational robotics is a modern method for teaching new technologies to

students. The hardware development for the proper and effective presentation of the

subject requires expertise in embedded systems, programming and modification of

educational-training methodologies. The purpose of the thesis is to develop a first set

of exercises and manuals based on the platform known as the Educational Robotics

Lego Mindstorms NXT II.

The aim of this thesis is to offer material to the future graduate engineers of

Industrial Information Technology Department wishing to work in the education field.

It can provide competitive skills in an educational product that is expected to win the

interest of students in the coming years. Furthermore, with the addition of high end

hardware and software material, great quality learning material can be produced.

KEYWORDS

Lego Mindstorms NXT II, Educational Robotics, Collaborative Learning, NXT-G,

VPL.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

6

ΠΕΡΙΕΧΟΜΕΝΑ ΠΙΝΑΚΑΣ ΕΙΚΟΝΩΝ.............................................................................................................. 7 Πρόλογος................................................................................................................................... 8 Κεφάλαιο 1ο : Εισαγωγή στην εκπαιδευτική ροµποτική ........................................................... 9

1.1 Η Εκπαιδευτική Ροµποτική...................................................................................... 9 1.2 Αδυναµίες και δυσκολίες της παραδοσιακης διδασκαλιας του προγραµµατισµού . 9 1.3 Τι είναι τα Lego Mindstorms και το προγραµµατιστικο τους περιβάλλον ............ 10 1.4 Χαρακτηριστικά του Microsoft VPL..................................................................... 12 1.5 LEGO Mindstorms τα νεα διδακτικα εργαλεια και τα πλεονεκτηµατα τους......... 13 1.6 W.R.Ο, ένας Παγκόσµιος ∆ιαγωνισµός Ροµποτικής µε τη χρήση των Lego Mindstorms ......................................................................................................................... 13

Κεφάλαιο 2ο : Συνεργατική Μάθηση ...................................................................................... 15 2.1 Γενικά..................................................................................................................... 15 2.2 Στοιχεία Συνεργατικής Μάθησης........................................................................... 15 2.3 Τεχνικές Ανάπτυξης Αλληλεξάρτησης .................................................................. 16 2.4 Τάξη ....................................................................................................................... 17 2.5 Εκπαιδευτικός ........................................................................................................ 17 2.6 ∆ιαδικασία – Στάδια .............................................................................................. 17 2.7 Μορφές Συνεργατικής Μάθησης ........................................................................... 18 2.8 Συγκεκριµένες Μέθοδοι Συνεργατικής Μάθησης ................................................. 18 2.9 Εφαρµογή............................................................................................................... 19 2.10 Έρευνες - Συµπεράσµατα ...................................................................................... 20 2.11 Σύνοψη................................................................................................................... 21

Κεφάλαιο 3ο : ∆ραστηριότητες και Μέσα ∆ιδασκαλίας ......................................................... 22 3.1 Εισαγωγή................................................................................................................ 22 3.2 Τα Φύλλα Εργασίας ............................................................................................... 23 3.3 Οµάδες και µελη .................................................................................................... 25

∆ραστηριότητα 1η: ........................................................................................ 26 ∆ραστηριότητα 2η: ........................................................................................ 27 ∆ραστηριότητα 3η: ........................................................................................ 29 ∆ραστηριότητα 4η: ........................................................................................ 31 ∆ραστηριότητα 5η: ........................................................................................ 33 ∆ραστηριότητα 6η: ........................................................................................ 35 ∆ραστηριότητα 7η: ........................................................................................ 36 ∆ραστηριότητα 8η: ........................................................................................ 37 ∆ραστηριότητα 9η: ........................................................................................ 38 ∆ραστηριότητα 10η:....................................................................................... 39

3.4 Συµπεράσµατα ....................................................................................................... 40 3.5 Θετικά και αρνητικά των λογισµικών VPL και NXT-G........................................ 40 3.6 Μελλοντικές προεκτάσεις - προτάσεις .................................................................. 41

ΒΙΒΛΙΟΓΡΑΦΙΑ..................................................................................................................... 42 ΠΑΡΑΡΤΗΜΑ Ι...................................................................................................................... 44 ΠΑΡΑΡΤΗΜΑ ΙΙ .................................................................................................................... 45 ΠΑΡΑΡΤΗΜΑ ΙΙΙ ................................................................................................................... 46 ΠΑΡΑΡΤΗΜΑ IV................................................................................................................... 47

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

7

ΠΙΝΑΚΑΣ ΕΙΚΟΝΩΝ

Εικόνα 1: Το πλήρες σετ Lego Mindstorms NXT.......................................................11 Εικόνα 2: Το περιβάλλον του λογισµικού ΝΧΤ ..........................................................12 Εικόνα 3: Το περιβάλλον του λογισµικού VPL...........................................................13 Εικόνα 4: MOVE Block...............................................................................................27 Εικόνα 5: Οι ρυθµίσεις του MOVE Block ..................................................................27 Εικόνα 6: Ο αισθητήρας Υπερήχων. ...........................................................................29 Εικόνα 7: Οι ρυθµίσεις του αισθητήρα υπερήχων.......................................................29 Εικόνα 8: Ο αισθητήρας χρώµατος..............................................................................31 Εικόνα 9: Ο ρυθµίσεις του αισθητήρα χρώµατος ........................................................31 Εικόνα 10: Ο αισθητήρας αφής ...................................................................................33 Εικόνα 11: Οι ρυθµίσεις του αισθητήρα αφής.............................................................33 Εικόνα 12: Μπλοκ επανάληψης...................................................................................33 Εικόνα 13: Επιφάνεια κίνησης του Ροµπότ .................................................................36 Εικόνα 14: Ballshooter.................................................................................................37 Εικόνα 15: Segway ......................................................................................................38 Εικόνα 16: Clawstrike..................................................................................................39

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

8

0 ΠΡΟΛΟΓΟΣ

Αντικείµενο της παρούσας εργασίας είναι η προσπάθεια εισαγωγής του πακέτου Lego Mindstorms NXT II στη διδασκαλία του προγραµµατισµού στη δευτεροβάθµια εκπαίδευση. Η εκπαιδευτική διαδικασία βασίζεται στη χρήση Φύλλων Εργασίας σε συνδυασµό µε την εφαρµογή διαφόρων µεθόδων Συνεργατικής Μάθησης. Η εργασία δοµείται σε κεφάλαια ως εξής: Στο Πρώτο Κεφάλαιο γίνεται µια εισαγωγή στην εκπαιδευτική ροµποτική, παρουσιάζονται οι αδυναµίες της παραδοσιακής διδασκαλίας και προτείνονται νέες προσεγγίσεις, όπως η χρήση των φυσικών µοντέλων. Γίνεται µια συνοπτική περιγραφή των Lego Mindstorms και παρουσιάζονται προσπάθειες χρήσης των ροµπότ στην εκπαίδευση µε την παράθεση αποτελεσµάτων ερευνών και εργασιών της ακαδηµαϊκής κοινότητας. Επίσης γίνεται µια µικρή αναφορά των χαρακτηριστικών του ΝΧΤ και του Microsoft VPL. Τέλος, αναφέρονται επιγραµµατικά οι διάφοροι διαγωνισµοί που διεξάγονται µε το πακέτο Lego Mindstorms. Στο Κεφάλαιο 2, αναλύεται η µέθοδος της Συνεργατικής Μάθησης, γίνεται µια αναφορά στα στοιχεία της, στο ρόλο που παίζουν οι οµάδες και ο εκπαιδευτικός, στα στάδια εφαρµογής της, στους τύπους της, καθώς επίσης περιγράφουµε την µέθοδο συνεργατικής µάθησης που χρησιµοποιήσαµε στην πτυχιακή µας. Τέλος, παρουσιάζονται τα πλεονεκτήµατα και τα µειονεκτήµατα των µεθόδων, καθώς και τα συµπεράσµατα από έρευνες που έχουν πραγµατοποιηθεί. Στο Κεφάλαιο 3, γίνεται µια αναφορά στα Μέσα διδασκαλίας και πιο συγκεκριµένα στα Φύλλα Εργασίας. Γίνεται αναφορά για το τι θα πρέπει να περιλαµβάνουν τα φύλλα εργασίας που έχουν ως στόχο την αποτελεσµατικότερη εκµάθηση του προγραµµατισµού. Επίσης περιγράφονται τα στάδια που πρέπει να πληρούν τα φύλλα εργασίας. Τέλος περιγράφουµε συνοπτικά τους λόγους που δεν πρέπει να γίνεται η ανάθεση των φύλλων εργασίας σε ένα µαθητή αλλά σε οµάδες µαθητών. Στο Παράρτηµα I παρουσιάζεται το εγχειρίδιο γραφικού περιβάλλοντος NXT-G. Στο Παράρτηµα II παρουσιάζεται το εγχειρίδιο χρήσης της VPL στο .NET, στο Παράρτηµα III παρουσιάζονται οι εκπαιδευτικές ασκήσεις από 1-10 και τέλος στο Παράρτηµα V παρουσιάζεται το βοήθηµα συναρµολόγησης.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

9

1 ΚΕΦΑΛΑΙΟ 1Ο : ΕΙΣΑΓΩΓΗ

ΣΤΗΝ ΕΚΠΑΙ∆ΕΥΤΙΚΗ

ΡΟΜΠΟΤΙΚΗ

1.1 Η ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ

Η εκπαιδευτική ροµποτική έχει ως στόχο να διευκολύνει την εκµάθηση του προγραµµατισµού. Εξιτάρει το ενδιαφέρον του µαθητή γιατί συνδυάζει τη µάθηση µε το παιχνίδι. Η εκπαίδευση γίνεται ενδιαφέρουσα και διασκεδαστική καθώς ο µαθητής κατασκευάζει και προγραµµατίζει ροµπότ. Εφαρµόζεται σε όλες τις βαθµίδες εκπαίδευσης.

Έχει θετικές επιπτώσεις τόσο στο γνωστικό τοµέα όσο στον συναισθηµατικό (αυτοεκτίµηση, αυτοπεποίθηση) και κοινωνικό (κοινωνικοποίηση, αποµυθοποίηση). Με την βοήθεια της ροµποτικής στην διδασκαλία του ο εκπαιδευτικός µπορεί να επικεντρωθεί στην ανάπτυξη και άλλων κρίσιµων δεξιοτήτων του 21ου αιώνα:

Οµαδική εργασία Επίλυση προβληµάτων Καινοτοµία ∆ιαχείριση έργου Προγραµµατισµός ∆εξιότητες επικοινωνίας Πολύτιµες νοητικές δεξιότητες

1.2 Α∆ΥΝΑΜΙΕΣ ΚΑΙ ∆ΥΣΚΟΛΙΕΣ ΤΗΣ ΠΑΡΑ∆ΟΣΙΑΚΗΣ ∆Ι∆ΑΣΚΑΛΙΑΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Αναφέρονται παρακάτω προβλήµατα που αναπτύσσονται κατά την διδασκαλία του προγραµµατισµού.

∆υσκολία στην διαδικασία επικοινωνίας µεταξύ ανθρώπου-µηχανής Προβλήµατα στην έκφραση αλγορίθµων ∆εν µπορούν να εµπεδώσουν τη δοµή επιλογής και επανάληψης Λάθη κατά την συγγραφή του κώδικα (π.χ. χειρισµός µεταβλητών κτλ) Μερικά προγραµµατιστικά περιβάλλοντα δεν απευθύνονται σε

αρχάριους προγραµµατιστές Κάποιες από τις γλώσσες προγραµµατισµού διαθέτουν πολλές και

πολύπλοκες εντολές Οι µαθητές βρίσκουν ανιαρά τα προβλήµατα-προγράµµατα που τους ανατίθενται. Αν η θεµατολογία τους απαρτιζόταν από καθηµερινά

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

10

προβλήµατα θα ήταν πιθανότερο να τους προξενήσουν το ενδιαφέρον για την επίλυσή τους. Τέλος, οι µαθητές αν µάθαιναν πρώτα τη µεθοδολογία (και όχι κάποια συγκεκριµένη γλώσσα προγραµµατισµού) δεν θα δυσκολεύονταν στην εκµάθηση του προγραµµατισµού.

1.3 ΤΙ ΕΙΝΑΙ ΤΑ LEGO MINDSTORMS ΚΑΙ ΤΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΤΟΥΣ ΠΕΡΙΒΑΛΛΟΝ

Κάνοντας µια ιστορική αναδροµή βλέπουµε από τη δεκαετία του 60 ξεκίνησε ο προγραµµατισµός των ροµποτικών κατασκευών µε τη χελώνα της Logo. Το 1998 κυκλοφόρησε η πρώτη έκδοση των Lego Mindstorms πωλήθηκε µε την επωνυµία Robotics Invention System (RIS) και περιείχε δύο µηχανές, δύο αισθητήρες αφής, και έναν ελαφρύ αισθητήρα. Κυκλοφόρησε το 2006 ως Lego Mindstorms NXT.(http://el.wikipedia.org/wiki/Lego_Mindstorms)

Στις µέρες µας ακόµη και ένας αρχάριος προγραµµατιστής µπορεί να κατασκευάσει ροµπότ µε τη βοήθεια των Lego Mindstorms. Ο µικροελεγκτής ΝΧΤΙΙ είναι ο εγκέφαλος του ροµπότ Mindstorm συνδέεται από τέσσερις αισθητήρες (αφής,ήχου,φωτός,υπερήχων) και τρεις σερβοκινητήρες. Η σύνδεση του µε τον υπολογιστή γίνεται µέσω ενός USB καλωδίου για να γίνει η µεταφόρτωση των προγραµµάτων.

Σύµφωνα µε τον Παπαλεωνίδα (2009) ο προγραµµατισµός του µπορεί να γίνει µέσω µιας µεγάλης ποικιλίας γλωσσών προγραµµατισµού όπως τις RCX Code και NXT-G που απευθύνονται αποκλειστικά στη συγκεκριµένη πλατφόρµα ή σε γλώσσες τρίτων κατασκευαστών όπως οι:

• C and C++ under BrickOS (formerly LegOS) • Java under leJOS or TinyVM • NQC ("Not Quite C") • pbFORTH (επεκτάσεις της Forth γλώσσας προγραµµατισµού) • Visual Basic (µέσω του COM+ interface παρεχόµενο µε το CD) • RobotC (επέκταση της γλώσσας C) H εκπαιδευτική έκδοση των προϊόντων καλείται lego mindstorms for schools

και έρχεται µε το γραφικό λογισµικό προγραµµατισµού Robolab που αναπτύχθηκε στο πανεπιστήµιο Τufts χρησιµοποιήθηκε ως µηχανή το Lab View της National Instruments.

Το πακέτο εκπαιδευτικής ροµποτικής περιέχει µια πλατφόρµα ανάπτυξης εφαρµογών µε επεξεργαστή 32 bit (ΑRΜ7).Το ΝΧΤ II αποτελείται από:

• οθόνη LCD(100 x 64 εικονοστοιχεία), • τέσσερις εισόδους (θύρες για την ένωση των αισθητήρων), • τρεις εξόδους(θύρες για την ένωση των σερβοκινητήρων), • πλήκτρα ελέγχου για την περιήγηση στο µενού, • θύρα USB για τη σύνδεση µε Η/Υ.

Πιο συγκεκριµένα το πακέτο εκπαιδευτικής ροµποτικής περιέχει: • Τρεις βηµατικούς κινητήρες µε αισθητήρα περιστροφής (ακρίβεια ελέγχου

µιας µοίρας) • Έναν αισθητήρα υπερήχων (αναγνώριση αντικειµένων, µέτρηση αποστάσεων) • Έναν αισθητήρα ήχου (µέτρηση decibel, dBA)

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

11

• ∆ύο (2) αισθητήρες αφής (µε τρεις (3) διακοπτικές λειτουργίες λογικής εξόδου 0 ή 1) Έναν αισθητήρα φωτός (διακριτοποίηση της κλίµακας του γκρι σε 1024 τιµές) (http://www.mindstormsnxt.gr/index)

Εικόνα 1: Το πλήρες σετ Lego Mindstorms NXT

Το γραφικό περιβάλλον προγραµµατισµού είναι εύκολο µπορεί ένας έµπειρος

προγραµµατιστής αλλά και ένας αρχάριος χρήστης να µάθει να προγραµµατίζει µε άνεση µέσα σε αυτό. Ο χρήστης χρησιµοποιεί τα εικονίδια του εκπαιδευτικού λογισµικού LEGO MINDSTORMS Education NXT.Το λογισµικό έχει µια διαισθητική διεπαφή “σύρε και άφησε” (drag and drop). Οι παλέτες προγραµµατισµού προσφέρουν όλα τα blocks προγραµµατισµού που απαιτούνται για να δηµιουργηθούν τα προγράµµατα. Κάθε block προγραµµατισµού περιλαµβάνει τις οδηγίες που το NXT µπορεί να ερµηνεύσει. Ένα πρόγραµµα δηµιουργείται µε συνδυασµό διαφορετικών blocks. Για κάθε αισθητήρα που συνδέει ο χρήστης στο µικροελεγκτή ΝΧΤ µπορεί να χρησιµοποιήσει τα εξής blocks (wait-loop-switch) (αναµονής-επανάληψης και επιλογής).

Τέλος, σύµφωνα µε τον Αλιµάση (2008)το πρόγραµµα προσφέρει «Τα δικά µου blocks» (My Blocks) µε τα οποία ο χρήστης µπορεί να αποθηκεύει ένα δικό του πρόγραµµα ως ένα µοναδικό block, που µπορεί να το ξαναχρησιµοποιήσει σε κάποιο άλλο πρόγραµµα.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

12

Εικόνα 2: Το περιβάλλον του λογισµικού ΝΧΤ

1.4 ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ MICROSOFT VPL

H Microsoft Visual Programming Language (VPL) είναι µια γλώσσα προγραµµατισµού γνωστή και ως ροής δεδοµένων. Ο χρήστης το µόνο που κάνει είναι να σύρει και να αφήσει τα κουτιά (drag and drop).Τα κουτιά αντιµετωπίζονται στην οθόνη ως οντότητες τα οποία συνδέονται µεταξύ τους µε ευθείες, βέλη ή τόξα που αναπαριστούν σχέσεις µεταξύ τους. Η εργαλειοθήκη που διαθέτει είναι κατάλληλη για τον προγραµµατισµό ενός ροµπότ αλλά µπορεί κάλλιστα να χρησιµοποιηθεί και για άλλες εφαρµογές.

H πλατφόρµα που χρησιµοποιείται από τη γλώσσα της VPL είναι το Visual Studio που έχει ως σκοπό την ανάπτυξη διαδικτυακών, desktop εφαρµογών και διαδικτυακών υπηρεσιών (Web Services).Το Visual Studio παρέχει προχωρηµένα εργαλεία για τη διόρθωση λαθών, για τη τεκµηρίωση και εγγραφή κώδικα, για την ανάπτυξη διεπαφών χρήστη, για τη σχεδίαση κλάσεων καθώς και για τη σχεδίαση του σχήµατος µίας βάσης δεδοµένων.

Οι ενσωµατωµένες γλώσσες προγραµµατισµού του Visual Studio είναι οι Visual C++, Visual C# και Visual Basic. Επίσης, παρέχεται υποστήριξη και για άλλες γλώσσες όπως τις F#, Python, Ruby.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

13

Εικόνα 3: Το περιβάλλον του λογισµικού VPL.

1.5 LEGO MINDSTORMS ΤΑ ΝΕΑ ∆Ι∆ΑΚΤΙΚΑ ΕΡΓΑΛΕΙΑ ΚΑΙ ΤΑ ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΟΥΣ

Τα lego mindstorms χρησιµοποιούνται ως µέσω διδασκαλίας σε όλες τις βαθµίδες της εκπαίδευσης χάρις την πρόοδο της τεχνολογίας. Τα ροµπότ διασκεδάζουν και παράλληλα µαθαίνουν στα παιδιά προγραµµατισµό. Τα κύρια πλεονεκτήµατα της χρήσης µιας πλατφόρµας όπως τα Lego Mindstorms αναφέρονται παρακάτω:

1. Οι µαθητές από την παιδική τους ηλικία έχουν παίξει µε τα γνωστά ως τουβλάκια έτσι τα αντιµετωπίζουν ως παιχνίδι και όχι σαν εργαλεία µάθησης.

2. Υπάρχει αντοχή και αξιοπιστία των υλικών. 3. Υπάρχει ενθουσιασµός στα πρόσωπα των µαθητών όταν υλοποιούν αληθινά

σενάρια(π.χ το ροµπότ µε τη βοήθεια του αισθητήρα υπερήχων αποφεύγει τα εµπόδια κτλ)

4. Με την προσθαφαίρεση των αισθητήρων µια κατασκευή µπορεί να αλλάζει και να γίνεται όλο και πιο περίπλοκη καλύπτοντας έτσι την ύλη.

5. Το λογισµικό απευθύνεται σε αρχάριους δεν χρειάζεται να θυµούνται απ έξω εντολές και τέλος περιέχει αναλυτικά ροµποτικό οδηγό.

Συµπεραίνουµε ότι οι µαθητές αναπαράγουν γνώσεις, συζητούν, προβληµατίζονται και οδηγούνται σε µια συνεργατική διαδικασία µάθησης.

1.6 W.R.Ο, ΕΝΑΣ ΠΑΓΚΟΣΜΙΟΣ ∆ΙΑΓΩΝΙΣΜΟΣ ΡΟΜΠΟΤΙΚΗΣ ΜΕ ΤΗ ΧΡΗΣΗ ΤΩΝ LEGO MINDSTORMS

O W.R.O. (World Robot Olympiad) είναι µια µη κερδοσκοπική εταιρεία που έχει ως σκοπό στην ανάπτυξη εφαρµογών και των νέων τεχνολογιών. Κρατάει ενεργούς τους Έλληνες πολίτες ανταλλάσοντας απόψεις και συνεργασίες µε θέµατα που αφορούν την τεχνολογία και την πληροφορική.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

14

Όλοι οι µαθητές ηλικίας 8-17 ετών µπορούν να συµµετάσχουν στον παγκόσµιο διαγωνισµό ροµποτικής που διοργανώνει o W.R.O.Μέσα από την οµαδική συνεργασία µπορούν να είναι σε θέση να επιλύσουν προβλήµατα ανάλογα µε τις τεχνολογίες που είναι κάθε φορά διαθέσιµες. Παρακάτω αναφέρονται κάποια ιστορικά στοιχεία (www.wrohellas.gr):

• 1ος W.R.O. (03 – 04). Έγινε στην Σιγκαπούρη και συµµετείχαν 13 χώρες, 89 οµάδες, συνολικά 356 διαγωνιζόµενοι.

• 2ος W.R.O. (04 – 05)Έγινε στην Ταϊλάνδη και συµµετείχαν 12 χώρες, 122 οµάδες, συνολικά 488 διαγωνιζόµενοι.

• 3ος W.R.O. (05 – 06)Έγινε στην Κίνα και συµµετείχαν 16 χώρες, 205 οµάδες, συνολικά 820 διαγωνιζόµενοι.

• 4ος W.R.O. (06 – 07)Έγινε στην Ταϊβάν και συµµετείχαν 17 χώρες, 178 οµάδες, συνολικά 712 διαγωνιζόµενοι.

• 5ος W.R.O. (07 – 08)Έγινε στην Ιαπωνία και συµµετείχαν 19 χώρες, 181 οµάδες, συνολικά 724 διαγωνιζόµενοι.

• 6ος W.R.O. (08 – 09)Έγινε στην Ν. Κορέα και συµµετείχαν 35 χώρες, 226 οµάδες, συνολικά 904 διαγωνιζόµενοι (1η Ελληνική συµµετοχή).

• 7ος W.R.O. (09 – 10)Έγινε στις Φιλιππίνες (Μανίλα). • 8ος W.R.O. (10 – 11)Έγινε στα Ηνωµένα Αραβικά Εµιράτα (Ντουµπάι). • 9ος W.R.O. (11 – 12)Έγινε στη Ρωσία (Μόσχα).

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

15

2 ΚΕΦΑΛΑΙΟ 2Ο :

ΣΥΝΕΡΓΑΤΙΚΗ ΜΑΘΗΣΗ

2.1 ΓΕΝΙΚΑ

Η συνεργατική µάθηση είναι η µάθηση που επιτυγχάνεται µέσα από την συνεργασία των µαθητών και του εκπαιδευτικού και στηρίζεται σε κάποιες βασικές αρχές. Οι οµάδες των µαθητών που συµµετέχουν στην διαδικασία δεν συνεργάζονται ατοµικιστικά, αλλά στα πλαίσια της οµάδας. Εκείνο που έχει σηµασία είναι η επίτευξη των στόχων όλης της οµάδας και όχι µεµονωµένων ατόµων. Η κατανόηση και η αφοσίωση των διδακτικών αντικειµένων µπορεί να αποτελεί έναν από τους βασικούς στόχους µιας συνεργατικής οµάδας, αλλά δεν είναι ο µόνος. Ο περισσότερος χρόνος στην τάξη δαπανάται για την απόκτηση διανοητικών και συναισθηµατικών δεξιοτήτων οι οποίες επιτρέπουν στον µαθητή να αναζητεί µόνος τις πηγές πληροφόρησης, να απαντάει σε πρωτότυπα ερωτήµατα, να σκέφτεται κριτικά, να είναι ανεκτικός µε τους άλλους και γενικά να δοµεί µια προσωπικότητα συναισθηµατικά και διανοητικά ισορροπηµένη. Η συνεργατική µάθηση και οι συνεργατικές οµάδες δεν αποτελούν αυτοσκοπό αλλά τα µέσα για έναν ευρύτερο σκοπό που είναι η απόκτηση για τη ζωή.

2.1.1 Οι Τρεις (3), ∆οµές Κοινωνικής Οργάνωσης

Η σχολική τάξη, όπως και κάθε ανθρώπινη συµπεριφορά, µπορεί να οργανωθεί µε τρεις (3) µορφές:

Συνεργατική δοµή οργάνωσης υπάρχει όταν οι στόχοι των ατόµων συνδέονται µε τρόπο που να υπάρχει θετική συσχέτιση µεταξύ τους.

Ανταγωνιστική δοµή υπάρχει οι ατοµικοί στόχοι συνδέονται µε τέτοιο τρόπο, ώστε να υπάρχει αρνητική συνάφεια µεταξύ τους.

Ατοµική δοµή υπάρχει όταν η επίτευξη των στόχων δεν επηρεάζει ούτε θετικά ούτε αρνητικά την επίτευξη των στόχων των άλλων.

2.2 ΣΤΟΙΧΕΙΑ ΣΥΝΕΡΓΑΤΙΚΗΣ ΜΑΘΗΣΗΣ

2.2.1 Συστατικά Στοιχεία

Τα συστατικά στοιχεία της συνεργατικής µάθησης είναι: 1. Κοινός στόχος. Για την επιτυχή συνεργατική προσπάθεια πρέπει να υπάρχει ο

κοινός µαθησιακός στόχος, το οµαδικό αποτέλεσµα. Ο κοινός στόχος µπορεί να είναι η λύση ενός προβλήµατος στα Μαθηµατικά µε τη χρήση της Logo, κ.ά..

2. Αλληλεπίδραση πρόσωπο µε πρόσωπο Στη συνεργασία πρέπει να υπάρχει συνεχής αλληλεπίδραση των µελών της οµάδας. Με τον όρο αλληλεπίδραση

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

16

εννοούµε βοήθεια, ενίσχυση, ενθάρρυνση, προσφορά γνώσεων µεταξύ τους κ.α..

3. Αλληλεξάρτηση. Οι µαθητές πρέπει να βοηθούν ο ένας τον άλλον και να καλύπτουν τις εκατέρωθεν αδυναµίες τους. Οι εργασίες καλό θα είναι να είναι δοµηµένες έτσι ώστε οι µαθητές να εξαρτώνται ο ένας από τον άλλο για την προσωπική αλλά και την συλλογική επιτυχία.

4. Κοινωνικές δεξιότητες. Οι µαθητές θα πρέπει να διδάσκονται πρώτα συνεργατικές δεξιότητες και στη συνέχεια να ασκούνται µέσα στην οµάδα για την εφαρµογή αυτών.

5. Προσωπική ευθύνη. Όταν αφεθεί ένα µέλος και επιβάλει την άποψη του µέσα στην οµάδα τότε η συνεργατική µάθηση µπορεί να αποτύχει.

2.3 ΤΕΧΝΙΚΕΣ ΑΝΑΠΤΥΞΗΣ ΑΛΛΗΛΕΞΑΡΤΗΣΗΣ

Υπάρχουν διάφορες τεχνικές για να επιτύχουµε την αλληλεξάρτηση αναφέρουν οι Τζιούβας, Κ., Κωνσταντίνου, Α., & Γεωργίου, Γ., 2000:

Αλληλεξάρτηση αµοιβών. Η οµαδική αµοιβή µπορεί να θεωρηθεί ένας κοινός βαθµός στην οµάδα ή ο µέσος όρος των ατοµικών βαθµών των µελών της.

Αλληλεξάρτηση ρόλων. Η επίτευξη του κοινού στόχου εξαρτάται από το πόσο σωστά θα παίξει το ρόλο του το κάθε µέλος. Οι ρόλοι εναλλάσσονται σε τακτά χρονικά διαστήµατα.

Αλληλεξάρτηση πηγών. Ο περιορισµένος αριθµός πηγών στην οµάδα δηµιουργεί την ανάγκη αλληλεξάρτησης.

Αλληλεξάρτηση έργου. Πρέπει να γίνεται καταµερισµός του έργου στα µέλη της οµάδας.

Ο Κανάκης (1987) ορίζει ως οµάδα τα άτοµα που συνδέονται µε κοινά ενδιαφέροντα. Στις τάξεις που εφαρµόζεται συστηµατικά η συνεργατική µάθηση ο εκπαιδευτικός µπορεί να αυξήσει τον αριθµό των ατόµων στις οµάδες από 2 σε 3, 4, 5 ή το ανώτατο όριο 6 άτοµα ανά οµάδα σύµφωνα µε τον Βολιάρη (2000).

Ο ρόλος των µελών των οµάδων στη συνεργατική µάθηση συνοψίζεται στα παρακάτω (http://jmokias.webnode.com):

• θετική αλληλεξάρτηση, • ατοµική υπευθυνότητα, • ανοµοιογένεια των µελών, • κοινή ηγεσία, • κοινές αµοιβές, • εµπιστοσύνη του ενός προς τον άλλον, • οµαδική αξιολόγηση, • αλληλεπίδραση µεταξύ των µελών, • λίγα µέλη επιλεγµένα από τον εκπαιδευτικό και τέλος • µεγιστοποίηση της ετερογένειας.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

17

2.4 ΤΑΞΗ

Η διαρρύθµιση της αίθουσας θα πρέπει να διευκολύνει τους µαθητές για να επιτευχθεί η συνεργατική διαδικασία. Καλό θα ήταν οι µαθητές να κάθονται ο ένας απέναντι από τον άλλον. (www.eoniosiniohos.gr).

2.5 ΕΚΠΑΙ∆ΕΥΤΙΚΟΣ

Ο εκπαιδευτικός οφείλει να γνωρίζει ποιες σύγχρονες παιδαγωγικές και διδακτικές προσεγγίσεις µπορούν να οδηγήσουν στο σχεδιασµό ενός νέου µαθησιακού περιβάλλοντος που ευνοεί την επικοινωνία και τη συνεργασία µεταξύ των µαθητών. Στις συνεργατικά οργανωµένες τάξεις τον κεντρικό ρόλο τον έχει η οµάδα και όχι ο εκπαιδευτικός. Καθοδηγεί και κατευθύνει τον προγραµµατισµό και επεµβαίνει µόνο όταν οι µαθητές χρειάζονται βοήθεια σύµφωνα µε τους Sharan & Sharan, (1992). Ο ρόλος του εκπαιδευτικού στη συνεργατική µάθηση συνοψίζεται παρακάτω (http://jmokias.webnode.com):

1. σχεδιάζει δυναµικά µαθήµατα για τη µεταβίβαση της γνώσης, 2. γνωρίζει τον κάθε µαθητή, 3. προγραµµατίζει τη µάθηση, 4. συµβουλεύει και καθοδηγεί, 5. διδάσκει τους µαθητές πώς να µαθαίνουν, 6. αναπτύσσει την υπευθυνότητα των µαθητών, 7. προωθεί την ενεργή µάθηση, 8. διευκολύνει την αυτοαξιολόγηση των µαθητών, 9. ενθαρρύνει τους µαθητές, 10. προάγει την ενεργή συµµετοχή των µαθητών, 11. παρακινεί σε σκέψεις υψηλού επιπέδου, 12. διδάσκει άµεσες κοινωνικές δεξιότητες και τέλος 13. εξισορροπεί τις αλληλεπιδράσεις µεταξύ εκπαιδευτικού – µαθητή και

µαθητή – συµµαθητή.

2.6 ∆ΙΑ∆ΙΚΑΣΙΑ – ΣΤΑ∆ΙΑ

Σύµφωνα µε τον Νεόφυτο (2005) είναι: • Προπαρασκευαστικό Στάδιο

∆ηµιουργία συνεργατικού κλίµατος στην τάξη Καλλιέργεια συνεργατικών δεξιοτήτων Οργάνωση του χώρου και διαρρύθµιση των επίπλων Σύνθεση των οµάδων Κατανοµή και συγκεκριµενοποίηση ρόλων στην οµάδα Καθορισµός του γνωστικού αντικειµένου Συγκεκριµενοποίηση των µαθησιακών στόχων Συγκεκριµενοποίηση των συνεργατικών στόχων Ετοιµασία των πηγών µε βάση τις οποίες θα εργαστούν οι οµάδες Ετοιµασία ατοµικού οµαδικού φύλλου εργασίας Ετοιµασία φύλλου αξιολόγησης των γνωστικών και συνεργατικών στόχων

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

18

• Εφαρµογή της Συνεργατικής Μάθησης Εισαγωγή στο νέο µάθηµα Προφορικές ή γραπτές οδηγίες για:

τους συνεργατικούς στόχους, τη διασφάλιση της αλληλεξάρτησης, τους ρόλους των µελών και τον τρόπο αξιολόγησης. Εργασία πάνω στο ατοµικό φύλλο εργασίας, Εργασία των οµάδων µε βάση το οµαδικό φύλλο εργασίας, Καθοδήγηση και παρέµβαση του εκπαιδευτικού όπου και όταν

χρειάζεται Ενίσχυση και εµψύχωση

• Αξιολόγηση της Συνεργατικής Μάθησης

Παρουσίαση του έργου των οµάδων – Συζήτηση και αλληλοσυµπλήρωση Αξιολόγηση του έργου των οµάδων Αξιολόγηση της ποιότητας της συνεργασίας Συζητούνται τρόποι περαιτέρω βελτίωσης της συνεργασίας

2.7 ΜΟΡΦΕΣ ΣΥΝΕΡΓΑΤΙΚΗΣ ΜΑΘΗΣΗΣ

Η συνεργατική µάθηση µπορεί να πάρει διάφορες µορφές. Οι Κουτσελίνη και

Θεοφιλίδης (1998) συνοψίζουν τις παρακάτω: • Συνεργατική επίδοση. Ο εκπαιδευτικός παρουσιάζει το µάθηµα και οι

µαθητές εργάζονται οµαδικά για να το αφοµοιώσουν. Ο τελικός βαθµός είναι οµαδικός.

• Συνεργατική συναρµολόγηση. Κάθε µέλος της οµάδας (5-6 άτοµα) αναλαµβάνει να ασχοληθεί µε µια υποενότητα του µαθήµατος που αποτελεί θέµα της µέρας και λαµβάνει την υπευθυνότητα να διδάξει το θέµα αυτό στα υπόλοιπα µέλη της.

• Οµαδική εξερεύνηση. Οι µαθητές διαλέγουν επιµέρους θέµατα, καθορίζουν στόχους, συζητούν και εργάζονται για να παρουσιάσουν την αναφορά της οµάδας.

• Αντιπαράθεση σε οµάδες. Εφαρµόζοντας αυτή τη µέθοδο κάθε οµάδα χωρίζεται σε ζεύγη, όπου το ένα θα είναι υπεύθυνο για τα υπέρ και το άλλο για τα εναντίον στοιχεία κάποιου θέµατος.

2.8 ΣΥΓΚΕΚΡΙΜΕΝΕΣ ΜΕΘΟ∆ΟΙ ΣΥΝΕΡΓΑΤΙΚΗΣ ΜΑΘΗΣΗΣ

Η συνεργατική µάθηση µπορεί να εφαρµοστεί µε πολλές µεθόδους, µερικές από τις σηµαντικότερες και αποτελεσµατικότερες είναι η Brainstorming (πρόκληση νοητικής θύελλας), η Student-Teams Achievement Divisions (STAD) που χρησιµοποιεί Quizzes, η Jigsaw που στοχεύει στην πλήρη αλληλεξάρτηση των µαθητών, η Jigsaw II αποτελεί συνδυασµό της µεθόδου Jigsaw και STAD, η µέθοδος δηµιουργίας οµάδων έρευνας, η Co-op Co-op µε την οποία οι µαθητές επιλέγουν και επεξεργάζονται ένα θέµα, η Guided-reciprocal peer questioning που είναι

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

19

καθοδηγούµενη ανταλλαγή απόψεων, η Think-Pair-Share που δίνει τη δυνατότητα να εκφράσουν δικές τους απόψεις αλλά και να τις µοιραστούν µε τους συµµαθητές τους, η Numbered Heads Together στην οποία ο εκπαιδευτικός αριθµεί τα µέλη της οµάδας, η One Minute Papers όπου γίνεται εύκολη κατανόηση θέµατος µε την λύση αποριών, η Three-Step Interview όπου αναθέτονται ρόλοι συνέντευξης στους µαθητές, η Roundtable που χρησιµοποιείται για την έκφραση ιδεών, η Focused Listing µε την οποία ο εκπαιδευτικός δηµιουργεί περιγραφές και ορισµούς για διάφορες έννοιες, η Paired Annotations µε την οποία σχηµατίζουν οµάδες και επεξεργάζονται το ίδιο άρθρο, η Structured Learning Team Group Roles όπου γίνεται ανάθεση ρόλων, η Send-A-Problem που χρησιµοποιείται για την επεξεργασία κάποιου υλικού, η Uncommon Commonalities χρησιµοποιείται για την ενίσχυση της οµάδας, η Team Expectations δίνεται µια φόρµα προσδοκίας για κάθε µέλος, η Double Entry Journal όπου τα µέλη της οµάδας βρίσκουν υλικό για ένα καίριο θέµα και το συγκρίνουν και η Problem-Solving, όπου οι µαθητές ανταλλάσουν απόψεις σε κάποιο πρόβληµα.

2.8.1 Brainstorming (Πρόκληση νοητικής θύελλας)

Αυτή η µέθοδος είναι που χρησιµοποιούµε στην εργασία µας για το λόγο αυτό θα την δούµε λίγο πιο αναλυτικά. Οι σκοποί αυτής της µεθόδου είναι η γρήγορη γέννηση ενός µεγάλου αριθµού ιδεών, η ενθάρρυνση της δηµιουργικότητας και της έµµεσης σκέψης, η εµπλοκή όλης της οµάδας και η παρουσίαση της ιδέας ότι όταν οι άνθρωποι δουλεύουν µαζί µπορούν να αποδώσουν περισσότερο από ότι τα άτοµα µόνα τους.

Καταγράφει όλες αυτές τις ιδέες αταξινόµητες µέχρι οι µαθητές να σταµατήσουν. Καλεί τους µαθητές να σχολιάσουν τις τόσες πολλές ιδέες και τον τρόπο που βγήκαν στην επιφάνεια. Η µέθοδος αυτή βοηθά στην αυτοπεποίθηση των µαθητών, γιατί λόγω της ανωνυµίας των απαντήσεων δεν αισθάνεται κανείς ότι αξιολογείται, καµιά ιδέα δεν απορρίπτεται και έτσι κανείς µπορεί να αισθανθεί ότι µπορεί να συνεισφέρει χωρίς να κριθεί.

2.9 ΕΦΑΡΜΟΓΗ

Η εφαρµογή της συνεργατικής µάθησης και η ανάδειξη αποτελεσµάτων µπορεί να είναι χρονοβόρα διαδικασία αλλά µπορεί να εφαρµοστεί σε ποικίλες δραστηριότητες σε συνδυασµό µε άλλες στρατηγικές µάθησης.

2.9.1 Πλεονεκτήµατα

Τα πλεονεκτήµατα της συνεργατικής µάθησης αναφέρονται παρακάτω: • Ανάπτυξη σχέσεων µεταξύ των µελών των οµάδων, µε τη συνεπακόλουθη

ανάπτυξη των αισθηµάτων αλληλοβοήθειας, εµπιστοσύνης, συνεργασίας. • Ανάπτυξη του αισθήµατος της θετικής αλληλεξάρτησης, αφού η επιτυχία

της οµάδας εξαρτάται από την επιτυχία του κάθε µέλους της και αντίστροφα.

• Καλύτερη χρήση του διδακτικού χρόνου. • Ελάττωση των ανταγωνιστικών δοµών. • Ανάπτυξη επαγγελµατικής συµπεριφοράς από τους µαθητές

(www.jmokias.webnode.com).

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

20

• Ανάπτυξη των αντανακλαστικών και µεταγνωστικών ικανοτήτων των µαθητών, καθώς επιδιώκουν να διευκρινίσουν, να εξηγήσουν και να δικαιολογήσουν τη στάση τους σε σχέση µε τους άλλους (www.jmokias.webnode.com).

• Προώθηση των διαπολιτισµικών σχέσεων και της επαφής µε διαφορετικές κουλτούρες και ιδεολογίες (www.netschoolbook.gr).

• Ενίσχυση δηµοκρατικών αξιών (http://blogs.sch.gr). • Ανάπτυξη κάποιου είδους «ανεξαρτησίας» από τον εκπαιδευτικό, εφόσον

οι οµάδες έχουν υψηλό βαθµό αυτονοµίας. • Ανάπτυξη του αισθήµατος της προσωπικής ευθύνης, καθώς ο µαθητής

επιδιώκει να µάθει ο ίδιος και ελέγχει αν τα υπόλοιπα µέλη µαθαίνουν. • Αύξηση της αυτοπεποίθησης, αφού τώρα πια ο µαθητής είναι ενεργό

µέλος µιας οµάδας µε άποψη και µε προσφορά για την επίτευξη του κοινού στόχου.

• Όλα τα µέλη, λόγω ηθεληµένης ανοµοιογένειας, µπορούν να αφοµοιώσουν σκέψεις, λύσεις και προτάσεις από τα υπόλοιπα µέλη, κάτι που βοηθάει το µαθητή στην κατάκτηση της γνώσης πιο γρήγορα.

• Ανάπτυξη θετικότερης στάσης των µαθητών απέναντι στο µάθηµα αλλά και απέναντι στον εκπαιδευτικό.

2.9.2 Μειονεκτήµατα

Τα µειονεκτήµατα της συνεργατικής µάθησης παρουσιάζονται παρακάτω: • Κάποια µέλη των οµάδων δεν αναλαµβάνουν τις ευθύνες που τους

αναλογούν και εργάζονται συνειδητά λιγότερο, «φορτώνοντας» έτσι τα υπόλοιπα µέλη της οµάδας (free – rider effect) σύµφωνα µε τους Kerr & Bruun, (1983) .

• Τα µέλη που είναι πιο δραστήρια «κυριαρχούν» στις δραστηριότητες τις οµάδας µετατρέποντας τα υπόλοιπα µέλη σε απλούς θεατές λένε οι Dembo & McAuliffe (1987).

• Οι µαθητές µε χαµηλή αυτοπεποίθηση και αυτοεκτίµηση υποφέρουν λόγω του φόβου της απόρριψης (www.jmokias.webnode.com).

• Η ισότητα της συνεργασίας υπονοµεύει τους µαθητές που θέλουν να κάνουν περισσότερα (www.jmokias.webnode.com).

• Η υπευθυνότητα διαχέεται µεταξύ των µελών της οµάδας και προκύπτει χαλάρωση και ραστώνη (www.jmokias.webnode.com).

• ∆ηµιουργείται αρκετές φορές καταστρεπτική σύγκρουση µεταξύ των µελών της οµάδας (www.jmokias.webnode.com).

• ∆εν υπάρχει έτοιµο υλικό που να καθοδηγεί τον εκπαιδευτικό µε αποτέλεσµα η διαδικασία πολλές φορές να είναι χρονοβόρα για αυτόν αλλά και µέσα στην τάξη σύµφωνα µε τους Τζιούβα, Κ., Κωνσταντίνου, Α., & Γεωργίου, Γ., (2000).

2.10 ΕΡΕΥΝΕΣ - ΣΥΜΠΕΡΑΣΜΑΤΑ

Η συνεργατική µάθηση επινοήθηκε για να αναπτύξει τις κοινωνικές δεξιότητες του µαθητή αλλά επιφέρει θετικά αποτελέσµατα και στους τοµείς του γνωστικού και συναισθηµατικού.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

21

Οι Κουτσελίνη και Θεοφιλίδης (1998) αναφέρουν ότι κατά τη συνεργατική µάθηση αναπτύσσονται ο ακαδηµαϊκός, ο συναισθηµατικός και ο συµµετοχικός τοµέας. Με την αντιπαράθεση ιδεών στα πλαίσια της οµάδας διευρύνεται ο ορίζοντας της σκέψης .Οι µαθητές συνεξετάζουν διάφορα θέµατα ενώ εξηγούν ο ένας στον άλλο τον τρόπο σκέψης έτσι µαθαίνουν να κατανοούν οι ίδιοι καλύτερα.

Στην έρευνα που πραγµατοποίησαν οι Κουτσελίνη και Κοντοβούρκη (2004) σε µαθητές στην Κύπρο στο µάθηµα των Ελληνικών, παρατήρησαν τα εξής:

Οι µαθητές της πειραµατικής οµάδας παρήγαγαν λόγο ορθό και κατάλληλο προς την περίσταση, αξιοποιώντας τις γνώσεις τους που αφορούσαν τόσο σε γλωσσικά (λεξιλόγιο, επίπεδο ύφους) όσο και εξωγλωσσικά (κινήσεις σώµατος, εγγύτητα προσώπων, χρήση οπτικο – ακουστικού υλικού) στοιχεία.

Τα αποτελέσµατα της έρευνας έδειξαν επίσης ότι οι µαθητές δεν ανταποκρίνονται στη συνεργατική µάθηση µε τον ίδιο τρόπο, άλλα, όπως τονίζεται και από τον Κανάκη (1987), ιδιαίτερο ρόλο διαδραµατίζει το µαθησιακό στυλ του καθενός, µε πιο επιφυλακτικούς τους πολύ ικανούς, αλλά και τους λιγότερο ικανούς µαθητές.

Παρόλο που ένα βασικό εγχειρίδιο περιέχει δηµιουργικές δραστηριότητες θέτει περιορισµούς σε επίπεδο χρονοδιαγραµµάτων. Ενώ όπως υποστηρίζεται από τον Χριστιά (1992) η διδασκαλία στερείται του ουσιαστικού της νοήµατος.

Το βασικότερο ίσως συµπέρασµα που προκύπτει είναι πως ο εκπαιδευτικός έχει ως χρέος, να οργανώσει το εκπαιδευτικό περιβάλλον, µε τρόπο ώστε να ανταποκρίνεται σε µέγιστο βαθµό στο µαθησιακό στυλ των πλείστων µαθητών .

2.11 ΣΥΝΟΨΗ

Συνεργατική µάθηση δεν σηµαίνει απλά χωρίζονται οι µαθητές σε οµάδες αλλά απαιτεί εµπιστοσύνη και σεβασµό ανάµεσα στα µέλη της οµάδας, ανάπτυξη δεξιοτήτων, κριτικής σκέψης ανεξάρτητα φύλου και φυλής. σύµφωνα µε τον Putnam, (1997).

Εκπαιδευτικοί και µαθητές συµµετέχουν ενεργητικά στη µαθησιακή διαδικασία. Η εκπαίδευση είναι το αποτέλεσµα µιας δυναµικής αλληλεπίδρασης των µαθητών και του εκπαιδευτικού µεταξύ τους και µε το φυσικό και κοινωνικό περιβάλλον. Χαρακτηριστικές είναι οι θέσεις του Brown (1994): «Η µάθηση και η διδασκαλία εξαρτώνται από τη δηµιουργία, τη στήριξη και την επέκταση µιας µαθητικής κοινότητας που θα προωθεί την καθηµερινή ερευνητική πρακτική. Τα µέλη αυτής της κοινότητας θα έχουν µια θετική αλληλεξάρτηση µεταξύ τους. Κανείς από µας δεν τα γνωρίζει όλα. Η συνεργατική µάθηση δεν είναι µόνο µια συναρπαστική εµπειρία µε ουσιαστικά οφέλη για τα παιδιά µας αλλά και µια απαραίτητη προϋπόθεση για τη µελλοντική τους επιβίωση».

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

22

3 ΚΕΦΑΛΑΙΟ 3Ο :

∆ΡΑΣΤΗΡΙΟΤΗΤΕΣ ΚΑΙ

ΜΕΣΑ ∆Ι∆ΑΣΚΑΛΙΑΣ

3.1 ΕΙΣΑΓΩΓΗ

Όπως έχει αναφερθεί και στο προηγούµενο υποκεφάλαιο, ένας από τους σηµαντικότερους παράγοντες στον οποίο έχει διαπιστωθεί ότι οφείλονται οι δυσκολίες κατά την εκµάθηση του προγραµµατισµού είναι η παραδοσιακή προσέγγιση της διδασκαλίας των αρχών του προγραµµατισµού. Σύµφωνα µε την παραδοσιακή αυτή µέθοδο, οι µαθητές διδάσκονται µια γλώσσα γενικού σκοπού που δεν ικανοποιεί τις ανάγκες τους. Έτσι οι µαθητές επικεντρώνουν την προσοχή τους περισσότερο στην εκµάθηση της ίδιας της γλώσσας, παρά στην επίλυση προβληµάτων.

Οι παραπάνω διαπιστώσεις αποτέλεσαν το κίνητρο για την αναζήτηση νέων µεθόδων διδασκαλίας για τα εισαγωγικά µαθήµατα προγραµµατισµού. Έτσι τα τελευταία χρόνια, στη διδασκαλία του προγραµµατισµού χρησιµοποιούνται φυσικά µηχανικά µοντέλα που συνδέονται µε υπολογιστή, όπως τα προγραµµατιζόµενα µοντέλα της LEGO. Η χρήση των ροµπότ για την εισαγωγή σε θέµατα προγραµµατισµού εκτιµάται ότι µπορεί να είναι θετική, αφού µπορεί να βοηθήσει – µεταξύ άλλων – στην κατανόηση µιας ακριβούς και λογικής γλώσσας εντολών σύµφωνα µε τον Κόµη (2004).

Πιο συγκεκριµένα, τα εκπαιδευτικά ροµπότ της εταιρίας LEGO (Lego Mindstorms) έχουν χρησιµοποιηθεί συστηµατικά, τα τελευταία χρόνια, για την εισαγωγή αρχάριων µαθητών στην εκµάθηση του προγραµµατισµού σύµφωνα µε Hussain, Lindh & Shukur (2006) LEGO Dacta A/S (1999) Dagdilelis, Sartatzemi & Kagan i(2005) Beisser, 2006). H φιλοσοφία σχεδίασης του εκπαιδευτικού υλικού της LEGO στηρίζεται στην άποψη ότι ο µαθητής πρέπει από µόνος του να οικοδοµεί τη γνώση και ειδικότερα στην άποψη ότι η µάθηση επέρχεται µέσα από το παιχνίδι (“learning through play”) (Hussain at al., 2006; LEGO Dacta A/S, 1999). Η θεωρητική αυτή άποψη έχει τις ρίζες της στην προσέγγιση του εποικοδοµισµού σύµφωνα µε Papert (1980) σύµφωνα µε την οποία η µάθηση µέσω του παιχνιδιού συµβάλλει στην οικοδόµηση νέας γνώσης η οποία βασίζεται στην ήδη υπάρχουσα γνώση των µαθητών. Οι µαθητές ασχολούµενοι µε αντικείµενα που έχουν νόηµα για αυτούς, αναπτύσσουν κίνητρα σύµφωνα µε τους Jarvinen & Hiltunen (2000) και παράλληλα δρουν ως πραγµατικοί επιστήµονες και εφευρέτες έχοντας αµεσότερη επαφή µε τις έννοιες του γνωστικού αντικειµένου.

Στόχος της χρήσης των Lego Mindstorms εποµένως είναι η ενσωµάτωση του παιχνιδιού στην εκπαιδευτική διαδικασία, δίνοντας τη δυνατότητα στον µαθητή να διασκεδάσει και να χρησιµοποιήσει την φαντασία του. Γίνεται µια προσπάθεια να χρησιµοποιηθούν τα Lego Mindstorms για την εισαγωγή µαθητών Γυµνασίου σε

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

23

θέµατα προγραµµατισµού, µέσα από µια διδακτική προσέγγιση µε συνεργατικό και παιγνιώδη χαρακτήρα, η οποία αναδεικνύει το στοιχείο του ανταγωνισµού µεταξύ των οµάδων. Συγκεκριµένα, µελετάται σε πιο βαθµό η χρήση των Lego Mindstorms σε µια δραστηριότητα παιχνιδιού µπορεί:

• να ενισχύσει το ενδιαφέρον των µαθητών για να ενασχοληθούν δηµιουργικά, ευχάριστα και αποτελεσµατικά µε τον προγραµµατισµό

• να τους βοηθήσει να µεταφέρουν γνώσεις προγραµµατισµού από το περιβάλλον των Lego Mindstorms σε περισσότερο τυπικά περιβάλλοντα προγραµµατισµού.

3.2 ΤΑ ΦΥΛΛΑ ΕΡΓΑΣΙΑΣ

Η χρήση των Τ.Π.Ε. στη διδασκαλία απαιτεί τη δηµιουργία φύλλων εργασίας για να έχουν οι µαθητές βοηθητικές οδηγίες για τη χρήση ενός λογισµικού ή για την πλοήγηση τους στο διαδίκτυο για την άντληση των απαραίτητων πληροφοριών ώστε τελικά να υλοποιήσουν µε ευκολία τις διάφορες διδακτικές δραστηριότητες που επιθυµεί ο διδάσκων. Η δηµιουργία των φύλλων εργασίας σε κάποιες διδακτικές ενότητες µπορεί να είναι απλή και σε κάποιες άλλες να παρουσιάζει δυσκολίες. Πιο συγκεκριµένα, το φύλλο εργασίας απευθύνεται στον µαθητή και δίνεται στο ξεκίνηµα του µαθήµατος. Το φύλλο εργασίας περιλαµβάνει:

1. οδηγίες (βήµα – βήµα) για την εκτέλεση των εκπαιδευτικών δραστηριοτήτων, 2. ερωτήσεις και χώρο για απαντήσεις που θα δώσουν οι µαθητές, 3. οδηγίες για τη συνεργασία (αν οι µαθητές δουλεύουν οµαδικά), 4. οδηγίες για την ετοιµασία των παραδοτέων που θα παραχθούν στο τέλος του

µαθήµατος και 5. πληροφορίες απαραίτητες για την εκτέλεση των δραστηριοτήτων (πχ.

Σύνδεσµοι προς πηγές στο διαδίκτυο, υποδείξεις για υλικό που πρέπει να µελετηθεί, λογισµικό που θα χρησιµοποιηθεί, κ.τ.λ.)

Ουσιαστικά τα φύλλα εργασίας είναι το διδακτικό εργαλείο στην εκπαιδευτική δραστηριότητα, δηλαδή στη µικρο – διδασκαλία. Η ∆ιδακτική µέθοδος που θα επιλεχθεί γίνεται µε βάση τους εκπαιδευτικούς στόχους και στη συνέχεια ο εκπαιδευτικός σχεδιάζει το περιεχόµενο και τη µεθοδολογία µιας µικρο διδασκαλίας. (Γρηγοριάδου Μ., Γογούλου Α. & Γούλη Ε., 2002) Πιο συγκεκριµένα, προσδιορίζονται:

• τα βασικά στάδια της διδασκαλίας, • οι εκπαιδευτικές ενέργειες που περιέχει το καθένα, • ο χρόνος που θα χρειαστεί για κάθε στάδιο και τέλος • επιλέγονται οι εκπαιδευτικές τεχνικές και τα εποπτικά µέσα που ταιριάζουν σε

κάθε περίπτωση. Κάθε φύλλο εργασίας πρέπει να πληρεί νοητικά στάδια κατά την εκµάθηση

προγραµµατισµού. Τα νοητικά στάδια είναι οκτώ (8) και αναφέρονται παρακάτω: 1. Κάνω κάτι µε µια µηχανή (προ – προγραµµατιστικό στάδιο):

Είναι η προϋπάρχουσα εµπειρία που έχει ο αρχάριος. 2. Κάνω να κάνει µια µηχανή κάτι (συγγραφή απλού κώδικα):

Αυτό σηµαίνει ότι προγραµµατίζω, δηλαδή περιγράφω τον τρόπο εκτέλεσης των εντολών από τη µηχανή. Με τη βοήθεια της αλγοριθµικής προσέγγισης αναπτύσσετε η προγραµµατιστική ικανότητα, δηλαδή το πέρασµα από το «κάνω µε»

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

24

στο «κάνω να κάνει». Η δεξιότητα που αναπτύσσετε είναι η προετοιµασία και υλοποίηση µιας εργασίας που δεν έχει άµεσα αποτελέσµατα (αλλά θα γίνει σε µεταγενέστερο χρόνο). 3. Περιγράφω ένα σύνολο υπολογισµών:

Το πρόγραµµα περιγράφει περισσότερους από έναν υπολογισµούς. Π.χ. εισάγονται η δοµή επανάληψης και η δοµή επιλογής. Αλλάζει ο τύπος παραγωγής, δηλαδή το εργαλείο προγραµµατισµού έχει επεκταθεί αφού διαθέτει την «επαναληπτική» δοµή και την δοµή «επιλογής» (υπό συνθήκη). Όσον αφορά τον εκπαιδευτικό η διδακτική παρέµβαση είναι η εξής:

• ασκεί τους µαθητές στη δηµιουργία απλών προγραµµάτων, βασικά σειριακής δοµής, που να περιλαµβάνουν π.χ. Εντολές επανάληψης.

• δίνει στους µαθητές να «διαβάσουν» ήδη έτοιµα προγράµµατα που χρησιµοποιούν δοµές αυτές.

4. Περιγράφω το πρόγραµµα:

Γίνεται η πλήρης περιγραφή του προγράµµατος και προτείνεται η τεκµηρίωση του προγράµµατος που περιλαµβάνει:

• τις προδιαγραφές (specifications) του προγράµµατος, • αποτελέσµατα, δεδοµένα.

5. Αντιλαµβάνοµαι και περιγράφω µε δοµηµένο τρόπο:

Όταν µεταβαίνουµε σε συνθετότερα προβλήµατα η διατήρηση της ακολουθιακής δοµής στη σύλληψη του προγράµµατος δεν είναι εφικτή. Για αυτό τροποποιείται η περιγραφή του προς ανάπτυξη προγράµµατος και παίρνει τη µορφή δέντρου. Το πρόγραµµα χάνει τη σειριακότητα-γραµµικότητά του. Εισάγεται η έννοια της διαδικασίας (procedure), εισάγεται δηλαδή νέο εννοιολογικό εργαλείο: η αποσύνθεση σε µικρότερα ενός έργου που προηγουµένως είχε αντιµετωπιστεί συνολικά. 6. Εισάγω πληροφορικές µεταβλητές:

Οι πληροφορικές µεταβλητές δεν έχουν τις ίδιες ιδιότητες µε τις µαθηµατικές µεταβλητές. Η µεταβλητή στον προγραµµατισµό (πληροφορική µεταβλητή) παρουσιάζει ιδιαίτερες δυσκολίες. Π.χ. στάδια αύξουσας πολυπλοκότητας στην οικοδόµηση της έννοιας της πληροφορικής µεταβλητής:

• δεν υπάρχει συνύπαρξη δύο τιµών µιας µεταβλητής µέσα σε µια εκτέλεση επανάληψης,

• χρησιµοποιείται απευθείας η παλιά τιµή µιας µεταβλητής για την εύρεση της νέας. Π.χ. sum := sum + number;

• στο εσωτερικό της επανάληψης χρησιµοποιείται µέσα σε διαφορετικές εντολές προηγούµενη και νέα τιµή.

7. Υπολογίζω πάνω σε «αφηρηµένα» αντικείµενα:

Στα προηγούµενα στάδια ο αρχάριος προγραµµατιστής «µπαίνει» στη θέση του υπολογιστή και αυτό που αλλάζει είναι το επίπεδο δεξιότητας. Όταν η µέθοδος αυτή δεν µπορεί να εφαρµοστεί αυτό αποτελεί ισχυρό γνωστικό εµπόδιο. Π.χ. η διαχείριση αντικειµένων διαφορετικών από αυτά που χειρίζεται συνήθως η γλώσσα προγραµµατισµού (όπως τύποι δεδοµένων ορισµένοι από το χρήστη). Ο προγραµµατιστής δεν µπαίνει πλέον στη θέση του υπολογιστή αλλά στη θέση µιας «αφηρηµένης µηχανής» την οποία θα ανακαλύψει και θα υλοποιήσει.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

25

8. Εφευρίσκω αλγορίθµους: Σε περιπτώσεις όπου ακόµα και αν φανταστούµε την «αφηρηµένη µηχανή»

που χειρίζεται τα αντικείµενα δεν ξέρουµε πώς να ξεκινήσουµε την κατάτµηση του προβλήµατος. ∆εν µπορούµε να βασιστούµε σε αυτό που θα κάναµε στη θέση του υπολογιστή αλλά οδηγός είναι µόνον οι προδιαγραφές (specifications) του προγράµµατος ενώ ακόµη καθοδηγούµαστε από τον τύπο των δεδοµένων του προγράµµατος.

3.3 ΟΜΑ∆ΕΣ ΚΑΙ ΜΕΛΗ

Οι µαθητές βρίσκουν το µάθηµα πιο ενδιαφέρον όταν χωρίζονται σε οµάδες γιατί ανταλλάσουν απόψεις µεταξύ τους και δηµιουργείτε ανάµεσα τους µια παραγωγική συζήτηση µε συνέπεια να αντιλαµβάνονται καλύτερα την υφή του προβλήµατος και να µπορούν ευκολότερα να το επιλύσουν. Έρευνες έχουν δείξει ότι οι µαθητές προτιµούν να ρωτήσουν τις απορίες τους σε συµµαθητές τους παρά στον εκπαιδευτικό τους. Βρίσκουν ανιαρό το µάθηµα όταν λύνουν µόνοι τους ασκήσεις. Με τη χρήση των υπολογιστών και τα φύλλα εργασίας των Lego και της εκµάθησης προγραµµατισµού το µάθηµα παύει να γίνεται ανιαρό. Τα φύλλα εργασίας µε τις οδηγίες που παρέχουν στην αρχή της κάθε άσκησης καταµερίζουν ισόποσα την άσκηση σε όλα τα µέλη της οµάδας.

ΟΜΑ∆ΕΣ:

Οι δραστηριότητες είναι έτσι οργανωµένες ώστε όλοι να πρέπει να χωρίζεστε

σε κάθε φύλλο εργασίας σε οµάδες των δύο (2) ατόµων. Οι ρόλοι που θα έχει ο καθένας από εσάς θα είναι:

• είτε Προγραµµατιστής, • είτε Αναλυτής – ∆οκιµαστής. Πιο αναλυτικά, ο ρόλος του Προγραµµατιστή είναι να επιλύει το πρόβληµα

και ο ρόλος του Αναλυτή – ∆οκιµαστή είναι να το εκτελεί, να διορθώνει τυχόν λάθη και να προτείνει πιθανές βελτιώσεις. Οι ρόλοι φυσικά θα εναλλάσσονται ανάλογα µε τη δραστηριότητα, τόσο για να κατανοείτε όλοι όλους τους ρόλους και να βλέπετε σφαιρικά ένα πρόβληµα, αλλά και για να µπορείτε να αλληλοβοηθηθείτε σε περίπτωση δυσκολίας.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

26

∆ραστηρ ιότητα 1η : ΗΜΕΡΟΜΗΝΙΑ: ΜΑΘΗΤΗΣ 1: ΜΑΘΗΤΗΣ 2: Για να απαντήσετε την παρακάτω θεωρητική δραστηριότητα θα πρέπει η οµάδα να σκεφτεί οµαδικά για να την επιλύσει. Πριν καταγράψετε οποιαδήποτε απάντηση, θα πρέπει να την συζητήσετε µαζί και να την αιτιολογήστε. Για να είστε σε θέση να προγραµµατίζετε, πρέπει να ξέρετε τι επιλογές έχετε. Όλες οι επιλογές αυτές εµφανίζονται ως κουµπιά. Συµπληρώστε παρακάτω την λειτουργία του κάθε κουµπιού:

……………………………………………………………………….. ……………………………………………………………………….. …………………………………………………………………………. ………………………………………………………………………….. ………………………………………………………………………….. …………………………………………………………………………... …………………………………………………………………………

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

27

∆ραστηρ ιότητα 2η :

ΗΜΕΡΟΜΗΝΙΑ: ΜΑΘΗΤΗΣ 1: ΜΑΘΗΤΗΣ 2:

Το MOVE block είναι από τα πιο σηµαντικά block. Το χρησιµοποιούµε για να προχωρήσει, να στρίψει και γενικά να κινηθεί το ροµπότ µέσα στο χώρο. 1.Το MOVE block είναι:

Εικόνα 4: MOVE Block

2.Οι ρυθµίσεις που µπορείτε να κάνετε είναι οι εξής:

Εικόνα 5: Οι ρυθµίσεις του MOVE Block

ΝΑ ΜΗΝ ΞΕΧΑΣΩ: Αρχικά στην επιφάνεια εργασίας σας δηµιουργείστε ένα φάκελο και ονοµάστε τον lyseis_1ou_fullou_ergasias. Εκεί θα αποθηκεύετε όλα τα αρχεία που θα υλοποιήσετε σε αυτό το φύλλο εργασίας. Στη συνέχεια, ανοίξτε το πρόγραµµα Lego Mindstorms NXT. Από το File επιλέξτε το New για να δηµιουργηθεί ένα νέο αρχείο πάνω στο οποίο θα πειραµατιστείτε. Αυτό θα το επαναλαµβάνετε για κάθε νέα δραστηριότητα.Επειδή αρκετές λύσεις ξαναχρησιµοποιούνται από επόµενες δραστηριότητες, πρέπει να τις αποθηκεύετε πάντα πριν κλείσετε το αρχείο και ανοίξετε νέο. Η διαδικασία αυτή γίνεται από το File - > Save As… - > και το όνοµα που αναγράφεται συγκεκριµένα για την κάθε δραστηριότητα (Να µην ξεχνάτε την κατάληξη .rbt !!!).

Ας θυµηθούµε...

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

28

Ενώ προγραµµατίζετε, θα πρέπει να «επιλύσετε» τα παρακάτω τρία (3) βήµατα:

• Ποιο είναι το πρόβληµα; • Πώς µπορώ µε τον ρόλο που έχω και σαν οµάδα να αντιµετωπίσουµε το

πρόβληµα αυτό; Προσπαθήστε να δείτε πώς θα προσεγγίσετε το πρόβληµα και σηµειώστε το..

• Πώς µπορώ να βάλω τη λύση στο πρόγραµµα; Πάντα να καθορίζετε ξεκάθαρα ποιο είναι το πρόβληµα, πριν αρχίσετε να προγραµµατίζετε!!!! Στην συγκεκριµένη δραστηριότητα οι ρόλοι θα κατανεµηθούν ως εξής:

• Προγραµµατιστής: Μαθητής 1 • Αναλυτής-∆οκιµαστής: Μαθητής 2 Κάντε το ροµπότ να στρίψει δεξιά κατά 1 περιστροφή(rotation). Να σώσετε το πρόγραµµα µε το όνοµα turn.rbt .

1.Ο προγραµµατιστής να επιλέξει τα κατάλληλα blocks και να κάνει τις αντίστοιχες ρυθµίσεις. ……………………………………………………………………………………………………………………………………………………………………………………. 2.Ο αναλυτής-∆οκιµαστής να τρέξει το πρόγραµµα. ……………………………………………………………………………………………………………………………………………………………………………………

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

29

∆ραστηρ ιότητα 3η :

ΗΜΕΡΟΜΗΝΙΑ: ΜΑΘΗΤΗΣ 1: ΜΑΘΗΤΗΣ 2:

Χρησιµοποιώντας τον αισθητήρα υπερήχων.

Ο αισθητήρας υπερήχων είναι ένας αισθητήρας ο οποίος µπορεί να µετρά αποστάσεις. Ο αισθητήρας στέλνει και λαµβάνει ένα σήµατα υπερήχων. Ο χρόνος που µεσολαβεί ανάµεσα στην αποστολή και στη λήψη καθορίζει την ακριβή απόσταση από ένα αντικείµενο. Έτσι, όσο πιο πολύ αργεί να λάβει πίσω το σήµα, τόσο πιο µακριά είναι το αντικείµενο. Αυτός ο αισθητήρας χρησιµοποιείται στο σύστηµα παρκαρίσµατος στα καινούρια αυτοκίνητα. Σε αυτή τη περίπτωση ο αισθητήρας προσδιορίζει την απόσταση ανάµεσα στα αυτοκίνητα έτσι ώστε να αποτρέψει την περίπτωση να χτυπήσει το ένα το άλλο. Ο αισθητήρας υπερήχων είναι:

Εικόνα 6: Ο αισθητήρας Υπερήχων.

Οι ρυθµίσεις που µπορείτε να επιλέξετε είναι οι παρακάτω:

Εικόνα 7: Οι ρυθµίσεις του αισθητήρα υπερήχων.

Στη συγκεκριµένη δραστηριότητα οι ρόλοι θα κατανεµηθούν ως εξής:

• Προγραµµατιστής: Μαθητής 2 • Αναλυτής-∆οκιµαστής: Μαθητής 1

Να κάνετε το ροµπότ να προχωράει ευθεία µε δύναµη 75% και απεριόριστη διάρκεια µέχρι να βρει ένα εµπόδιο σε απόσταση µεγαλύτερη 10 cm και µόλις το βρει να σταµατήσει. Έπειτα να το σώσετε µε το όνοµα ultrasonic.rbt.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

30

1.Ποια blocks χρησιµοποιήσατε; …………………………………………………………………………………………………………………………………………………………………………………… 2.Τι ρυθµίσεις κάνατε; …………………………………………………………………………………………………………………………………………………………………………………….

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

31

∆ραστηρ ιότητα 4η :

ΗΜΕΡΟΜΗΝΙΑ: ΜΑΘΗΤΗΣ 1: ΜΑΘΗΤΗΣ 2: Χρησιµοποιώντας τον αισθητήρα χρώµατος.

Ο αισθητήρας φωτός είναι ένας από τους δύο αισθητήρες που δίνουν όραση στο ροµπότ σας . Ο αισθητήρας φωτός επιτρέπει στο ροµπότ σας να διακρίνει µεταξύ του φωτός και του σκοταδιού. Μπορεί να διαβάσει την ένταση του φωτός σε ένα δωµάτιο και να µετρήσει την φωτεινή ένταση των χρωµατισµένων επιφανειών.

Μπορείτε να χρησιµοποιήσετε τον ελαφρύ αισθητήρα για να κάνετε ένα ροµπότ συναγερµών διαρρηκτών: όταν ένας εισβολέας ανοίγει το φως στο δωµάτιό σας το ροµπότ µπορεί να αντιδράσει για να υπερασπίσει την ιδιοκτησία σας. Μπορείτε επίσης να χρησιµοποιήσετε τον ελαφρύ αισθητήρα για να κάνετε το ένα ροµπότ να ταξινοµήσει πράγµατα κατά το χρώµα.

Ο αισθητήρας χρώµατος είναι ο παρακάτω:

Εικόνα 8: Ο αισθητήρας χρώµατος

Οι ρυθµίσεις που µπορείτε να επιλέξετε είναι οι παρακάτω:

Εικόνα 9: Ο ρυθµίσεις του αισθητήρα χρώµατος

Στην συγκεκριµένη δραστηριότητα οι ρόλοι θα κατανεµηθούν ως εξής:

• Προγραµµατιστής: Μαθητής 1 • Αναλυτής-∆οκιµαστής: Μαθητής 2

Να κάνετε το ροµπότ να πηγαίνει ευθεία µε δύναµη 75% και απεριόριστο χρόνο µέχρι να εντοπίσει κόκκινο χρώµα σε κάποιο αντικείµενο, αφού το εντοπίσει να σταµατήσει. Να σώσετε το πρόγραµµα µε το όνοµα color.rbt.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

32

1.Ποια blocks χρησιµοποιήσατε; ……………………………………………………………………………………………………………………………………………………………………………… 2.Τι ρυθµίσεις κάνατε; ……………………………………………………………………………………………………………………………………………………………………………

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

33

∆ραστηρ ιότητα 5η :

ΗΜΕΡΟΜΗΝΙΑ: ΜΑΘΗΤΗΣ 1: ΜΑΘΗΤΗΣ 2: Χρησιµοποιώντας τον αισθητήρα αφής Ο αισθητήρας αφής είναι ο αισθητήρας που δίνει αφή στο ροµπότ, είναι δηλαδή τα Χέρια του. 1.Ο αισθητήρας αφής είναι:

Εικόνα 10: Ο αισθητήρας αφής

2.Οι ρυθµίσεις που µπορείτε να επιλέξετε είναι οι παρακάτω:

Εικόνα 11: Οι ρυθµίσεις του αισθητήρα αφής

3.Την Loop τη χρησιµοποιούµε για συγκεκριµένο αριθµό επαναλήψεων.

Εικόνα 12: Μπλοκ επανάληψης

Στην συγκεκριµένη δραστηριότητα οι ρόλοι θα κατανεµηθούν ως εξής:

• Προγραµµατιστής: Μαθητής 2 • Αναλυτής-∆οκιµαστής: Μαθητής 1

Να κάνετε το ροµπότ να πηγαίνει ευθεία µε δύναµη 75% και χρόνο απεριόριστο µέχρι να βρει ο αισθητήρας αφής ένα αντικείµενο και ενεργοποιηθεί ο αισθητήρας 1, αφού το βρει να κάνει όπισθεν µε µια κλίση προς τα δεξιά για 1 δευτερόλεπτο και να σταµατήσει. Το Πρόγραµµα να σωθεί µε όνοµα touch.rbt.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

34

1.Ποια blocks χρησιµοποιήσατε; ……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 2.Τι ρυθµίσεις κάνατε; ……………………………………………………………………………………………………………………………………………………………………………………

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

35

∆ραστηρ ιότητα 6η :

ΗΜΕΡΟΜΗΝΙΑ: ΜΑΘΗΤΗΣ 1: ΜΑΘΗΤΗΣ 2:

Συνδυαστικές ασκήσεις Στην συγκεκριµένη δραστηριότητα οι ρόλοι θα κατανεµηθούν ως εξής:

• Προγραµµατιστής: Μαθητής 1 • Αναλυτής-∆οκιµαστής: Μαθητής 2

Καταρχήν το πρόγραµµα θα εµπεριέχεται σ’ ένα ατέλειωτο βρόγχο που θα επαναλαµβάνεται ξανά και ξανά. Στη συνέχεια να κάνετε το ροµπότ να πηγαίνει ευθεία µε δύναµη 100% και χρόνο απεριόριστο µέχρι να πιεστεί ο αισθητήρας αφής και αφού πιεστεί να κάνει όπισθεν για 0.5 δευτερόλεπτα και στη συνέχεια µία δεξιά στροφή. Το πρόγραµµα να σωθεί µε το όνοµα erg6.rbt. 1.Ποιό block χρησιµοποιήσατε για τις επαναλήψεις και γιατί; ………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 2.Να αναφέρετε και τα υπόλοιπα blocks και να κάνετε τις απαραίτητες ρυθµίσεις. …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

36

∆ραστηρ ιότητα 7η : ΗΜΕΡΟΜΗΝΙΑ: ΜΑΘΗΤΗΣ 1: ΜΑΘΗΤΗΣ 2:

Συνδυαστικές ασκήσεις

Εικόνα 13: Επιφάνεια κίνησης του Ροµπότ

Στην συγκεκριµένη δραστηριότητα οι ρόλοι θα κατανεµηθούν ως εξής:

• Προγραµµατιστής: Μαθητής 2 • Αναλυτής-∆οκιµαστής: Μαθητής 1

Να φτιάξετε ένα πρόγραµµα κατάλληλα ώστε το ροµπότ µε τη βοήθεια του αισθητήρα χρώµατος να ακολουθεί µια χρωµατισµένη (µαύρη) γραµµή.

Το ροµπότ θα πρέπει να στρίβει κατάλληλα όταν «διαπιστώνει» ότι βγαίνει εκτός της µαύρης γραµµής, δηλαδή να στρίβει προς τα αριστερά όταν βγαίνει εκτός µαύρης γραµµής από τα δεξιά και το αντίστροφο!!!!

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

37

∆ραστηρ ιότητα 8η : ΗΜΕΡΟΜΗΝΙΑ: ΜΑΘΗΤΗΣ 1: ΜΑΘΗΤΗΣ 2:

Συνδυαστικές ασκήσεις

Εικόνα 14: Ballshooter

Στην συγκεκριµένη δραστηριότητα οι ρόλοι θα κατανεµηθούν ως εξής:

• Προγραµµατιστής: Μαθητής 1 • Αναλυτής-∆οκιµαστής: Μαθητής 2

Να φτιάξετε ένα πρόγραµµα κατάλληλα ώστε το ροµπότ µε τη βοήθεια των ειδικών τµηµάτων συναρµολόγησης (κοµµατιών) να δηµιουργεί µια θήκη υποδοχής για τα µικρά µπαλάκια που περιλαµβάνονται στη συσκευασία του NXT 2 ώστε για τη χρήση ενός µοτέρ και το πάτηµα του κεντρικού πλήκτρου (πορτοκαλί κουµπί) να εκσφενδονίζει ένα µπαλάκι τη φορά.

Το ροµπότ θα πρέπει να κάνει µια γρήγορη στροφή στο µοτέρ ώστε να «κλωτσήσει» το µπαλάκι!!!!

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

38

∆ραστηρ ιότητα 9η :

ΗΜΕΡΟΜΗΝΙΑ: ΜΑΘΗΤΗΣ 1: ΜΑΘΗΤΗΣ 2:

Συνδυαστικές ασκήσεις

Εικόνα 15: Segway

Στην συγκεκριµένη δραστηριότητα οι ρόλοι θα κατανεµηθούν ως εξής:

• Προγραµµατιστής: Μαθητής 1 • Αναλυτής-∆οκιµαστής: Μαθητής 2

Να κατασκευάσετε σύµφωνα µε το εγχειρίδιο ένα ροµπότ ασταθούς ισορροπίας µε δύο ρόδες. Να φτιάξετε ένα πρόγραµµα κατάλληλα ώστε το ροµπότ να ισορροπεί σε όρθια στάση στις δύο ρόδες κινώντας τις δεξιόστροφα ή αριστερόστροφα προκειµένου να διατηρήσει την «όρθια στάση» µε την βοήθεια του αισθητήρα χρώµατος - φωτός για την ανίχνευση της κλίσης.

Για να µπορέσει το ροµπότ να ισορροπήσει θα πρέπει ο χρήστης να το τοποθετήσει αρχικά σε σωστή όρθια στάση. Πιθανόν να χρειαστούν πολλές δοκιµές για να επιτευχθεί!!!

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

39

∆ραστηρ ιότητα 10η :

ΗΜΕΡΟΜΗΝΙΑ: ΜΑΘΗΤΗΣ 1: ΜΑΘΗΤΗΣ 2:

Συνδυαστικές ασκήσεις

Εικόνα 16: Clawstrike

Στην συγκεκριµένη δραστηριότητα οι ρόλοι θα κατανεµηθούν ως εξής:

• Προγραµµατιστής: Μαθητής 2 • Αναλυτής-∆οκιµαστής: Μαθητής 1

Να κατασκευάσετε σύµφωνα µε το εγχειρίδιο ένα κινούµενο ροµπότ µε επεκτεινόµενο - αναδιπλούµενο βραχίονα που καταλήγει σε «γαµψό νύχι». Να φτιάξετε ένα πρόγραµµα κατάλληλα ώστε το ροµπότ µε τη βοήθεια του αισθητήρα υπερήχων να εντοπίζει το προς αναχαίτιση αντικείµενο, να τοποθετείται σε κατάλληλη απόσταση από το αντικείµενο, να ξεδιπλώνει το βραχίονα και να χτυπά το αντικείµενο µε το «γαµψό νύχι».

Το ροµπότ θα πρέπει να τοποθετηθεί στην κατάλληλη απόσταση από το αντικείµενο κάνοντας περιστροφές έως ότου το εντοπίσει και στην συνέχεια προς πίσω µέχρι να τοποθετηθεί σε κατάλληλη απόσταση!!!!!

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

40

3.4 ΣΥΜΠΕΡΑΣΜΑΤΑ

Στο τέλος των δραστηριοτήτων παρατηρήθηκε ότι οι µαθητές έδειξαν µεγάλο ενδιαφέρον γιατί ασχολήθηκαν µε κάτι το οποίο το κατασκεύασαν οι ίδιοι και τους θύµισε <<παιχνίδι>>. Επίσης συνδύασαν και χρησιµοποίησαν γνώσεις από πολλές θεµατικές ενότητες. Με την µέθοδο της συνεργατικής µάθησης και την κατάλληλη καθοδήγηση από τους εκπαιδευτικούς, οι µαθητές συνεργάστηκαν πολύ αποδοτικά. Επιπρόσθετα, οι µαθητές δεν τηρούσαν πιστά τους ρόλους τους και σε οποιαδήποτε δυσκολία δούλευαν και οι δύο µαζί. Πειραµατίστηκαν πολλές φορές µε τις δυνατότητες του ροµπότ, προσπαθούσαν να προσοµοιώνουν το ροµπότ µε τις ανθρώπινες ικανότητες ώστε να κατανοήσουν την συµπεριφορά του. Και τέλος υπήρξε ανταγωνισµός µεταξύ τους και αυτό φάνηκε από τον τρόπο σκέψης κάποιων να επηρεάσουν αρνητικά την λειτουργία του ροµπότ της άλλης οµάδας.

Οι δυσκολίες που αντιµετώπισαν οι µαθητές στο λειτουργικό και εξωτερικό περιβάλλον είναι ότι πολλές φορές το λογισµικό <<κολλούσε>> και δεν επέτρεπε τη σωστή εκτέλεση µιας σωστής λύσης. Επίσης υπήρχε δυσκολία χρήσης του αισθητήρα φωτός λόγω του ότι η αίθουσα δεν είχε καλό φωτισµό και το ροµπότ δεν έδειχνε σωστές µετρήσεις. Και τέλος οι µαθητές κουράζονταν συχνά από τις απαιτήσεις των δραστηριοτήτων µε αποτέλεσµα να διασπάται η προσοχή τους από διάφορα ερεθίσµατα.

3.5 ΘΕΤΙΚΑ ΚΑΙ ΑΡΝΗΤΙΚΑ ΤΩΝ ΛΟΓΙΣΜΙΚΩΝ VPL ΚΑΙ NXT-G.

Το λογισµικό VPL περιέχει ένα πιο σύνθετο και πολύπλοκο µενού όµως οι δυνατότητες του για κάποιον µαθητή είναι πολλές, µπορεί να γράψει κώδικα σε γλώσσα C++ αλλά και µε τη βοήθεια του Drag&drop (“σύρε και άφησε”). Στο NXT-G µπορεί να χρησιµοποιήσει κανείς µόνο το Drag&drop. Επίσης, διαθέτει µια εξαιρετικά εύκολη στην εκµάθηση διεπαφή. Το γραφικό περιβάλλον προγραµµατισµού αποτελεί ιδανική λύση για οποιονδήποτε θέλει να προγραµµατίσει το ροµπότ της Lego. Ο αρχάριος θα µπορέσει γρήγορα να φτιάξει το πρώτο του πρόγραµµα ενώ ο έµπειρος στον προγραµµατισµό χρήστης θα µπορέσει µε άνεση να προσαρµοστεί σε αυτό. Επιπλέον το λογισµικό VPL είναι νεότερης έκδοσης σε σχέση µε το NXT-G.

Η VPL έχει ως στόχο τους αρχάριους προγραµµατιστές µε µια βασική κατανόηση των εννοιών όπως µεταβλητές και τη λογική. Ωστόσο, η VPL δεν περιορίζεται σε αρχάριους. Είναι γλώσσα προγραµµατισµού που µπορεί να εφαρµόσει πιο προηγµένες προγραµµατιστές για την ταχεία προτυποποίηση και την ανάπτυξη κώδικα. ∆εν χρειάζεται να έχει κάποιος καλές βάσεις στον προγραµµατισµό για να χρησιµοποιήσει τα λογισµικά αυτά µόνο σε περίπτωση που θέλει να γράψει πρόγραµµα σε γλώσσα C#. Το λογισµικό VPL απευθύνεται σε ευρύ κοινό χρηστών, συµπεριλαµβανοµένων σπουδαστών, ενθουσιώδεις χοµπίστες καθώς και web developers ή επαγγελµατίες προγραµµατιστές. Αντίθετα, το NXT-G µπορεί µε ευκολία και µε την καθοδήγηση του καθηγητή να χρησιµοποιηθεί και σε µικρότερες ηλικίες. Τα δύο αυτά λογισµικά µπορεί κάποιος να τα κατεβάσει από το διαδίκτυο δωρεάν.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

41

3.6 ΜΕΛΛΟΝΤΙΚΕΣ ΠΡΟΕΚΤΑΣΕΙΣ - ΠΡΟΤΑΣΕΙΣ

Ο µελλοντικός µας στόχος είναι να αναπτύξουµε περισσότερες δραστηριότητες και τα µαθήµατα να εµπλουτιστούν µε νέο υλικό, να διευρυνθεί το επίπεδο των γνώσεων που µπορούν να µεταδοθούν, να γίνει προσπάθεια εύρεσης βέλτιστου χρόνου διεξαγωγής µαθηµάτων και να ασχοληθούµε περισσότερες οµάδες µαθητών για να αποκοµίσουµε εµπειρικές γνώσεις.

Πιστεύουµε ότι η εκπαιδευτική ροµποτική µε την πλατφόρµα της Lego είναι υψηλών τεχνολογικών προδιαγραφών και αποτελεί µια άριστη επιλογή για την κατανόηση των νέων τεχνολογιών υλικού και προγραµµατισµού από τους µαθητές.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

42

4 ΒΙΒΛΙΟΓΡΑΦΙΑ

Χριστίνα Βολιώτη (2010). Εισαγωγή Μαθητών στον Προγραµµατισµό Εκπαιδευτικών Ροµπότ µε Αξιοποίηση Σεναρίων Πανελλήνιου ∆ιαγωνισµού, ΑΠΘ. Βιολάρη, Α. (2000). Συνεργατική Μάθηση στο Νηπιαγωγείο και στο ∆ηµοτικό. Αθήνα. Γρηγοριάδου, Μ., Γογούλου, Α., & Γουλή, Ε. (2002). Εναλλακτικές ∆ιδακτικές Κουτσελίνη, Μ., & Κοντοβούρκη, Σ. (2004). Η συνεργατική µάθηση στο πλαίσιο της επικοινωνιακής προσέγγισης. Παιδαγωγική Επιθεώρηση, 38, 91 – 109. Νεόφυτος, Χ. (2000). Συνεργατική µάθηση: από τη θεωρία στην πράξη. _∆ιήµερο Επιστηµονικό Συµπόσιο. Θεσσαλονίκη. Χαραλάµπους, Ν. (1996). Η διαφορική επίδραση της συνεργατικής και ατοµικής µάθησης στη σχολική επίδοση. Λευκωσία: Θέοπρες. Χριστιάς, Ι. (2001). Θεωρία και µεθοδολογία της διδασκαλίας, Αθήνα. Papert, S. (1980), Νοητικές Θύελλες: Παιδιά, ηλεκτρονικοί υπολογιστές και δυναµικές ιδέες, Εκδόσεις Οδυσσέας (Ελληνική µετάφραση 1991). Becker, W. B. (2001). Teaching CS1 with Karel the Robot in Java, Proceedings of the Thirty Second SIGCSE Technical Symposium on Computer Science Education, 50– 54. Beisser, S. R. (2006). An Examination of Gender Differences in Elementary Constructionist Classrooms Using Lego / Logo Instruction. Computers in the Schools, 22, 7 – 19. Phillips(Ed.), Constructivism in education: National society for the study of education(NSSE) yearbook (pp. 308-330). Chicago: University of Chicago Press.Crook, C. (1998). Children as computer users: the case of collaborative learning. Computers & Education, 30 (3/4), 237 – 247.Dagdilelis, V. (1986). Conceptions des eleves a propos des notions fontamentales de la programmation informatique en classe de Troisieme, Memoire D.E.A., Universite Joseph FOURIER, Grenoble, France. Dagdilelis, V., Sartatzemi, M., & Kagani, K. (2005). Teaching (with) Robots in Scrimshaw (Ed.), Language, Classrooms and Computers. London: Routledge. Kagan, S. (1994). Cooperative Learning. San Juan Capristrano, CA: Kagan Cooperative Learning. Kaye, A. (1991). Learning Together Apart, In A. Kaye (Ed.). Collaborative Learning Through Computer Conferencing. Berlin: Springer – Verlag. Papert, S. (1980), Mindstorms – Children, Computers and Powerful Ideas, New York:Basic Books. Papert, S. (1993). The children’s machine, New York: Basic Books. Piaget, J. (1972). The principles of genetic epistemology, New York: Basic Books. Putnam, J. (1997). Cooperative Learning in Diverse Classrooms. Upper Saddle River, N. J.: Merrill.

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

43

Sharan, S., & Sharan, Y. (1992). Expanding Cooperative Learning through Group Investigation. New York: Teachers College Press. Slavin, R. (1991). Synthesis of research on cooperative learning. Educational Leadership, 48, 71 – 82. Slavin, R. E. (1995). Cooperative Learning Theory, Research and Practice.(2nd ed.) Boston: Allyn & Bacon. Smagorinsky, P. (1995). The Social Construction of Data: Methodogical Problems of Investigating Learning in the Zone of Proximal Development. Review of Educational Research, 65 (3), 191 – 212. ∆ΙΑ∆ΙΚΤΥΟ: [1]. Επίσηµο Site Lego Mindstorms, http://www.legomindstorms.com [2]. Επίσηµο Ελληνικό Site Lego Mindstorms, http://www.mindstormsnxt.gr/index [3]. Κέντρο Πληροφορικής & Νέων Τεχνολογιών Ηλείας, http://dide.ilei.sch.gr/keplinet/education/robotics.php [4]. Επίσηµο Site Πανελλήνιου ∆ιαγωνισµού Ροµποτικής, http://wrohellas.gr/ [5]. Αιώνιος Ηνίοχος, Εναλλακτική ∆ιαδικτυακή Πύλη, www.eoniosiniohos.gr [6]. Σύγχρονη _ιδασκαλία, http://jmokias.webnode.com [7]. Αυτενεργώ, Εκπαιδευτικό-Πολιτιστικό κέντρο, www.aftenergo.gr [8]. Πανελλήνιο Σχολικό ∆ίκτυο - Ιστολόγια και Κοινότητες, http://blogs.sch.gr [9]. ∆ιαδίκτυο και ∆ιδασκαλία, www.netschoolbook.gr [10]. edurobotics.weebly.com [11] www.ododeiktes.gr

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

44

5 ΠΑΡΑΡΤΗΜΑ Ι

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

45

6 ΠΑΡΑΡΤΗΜΑ ΙΙ

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

46

7 ΠΑΡΑΡΤΗΜΑ ΙΙΙ

ΕΚΠΑΙ∆ΕΥΤΙΚΗ ΡΟΜΠΟΤΙΚΗ Ε.ΠΑΙ∆ΑΡΑΚΗ – Φ.ΑΜΠΛΑ

47

8 ΠΑΡΑΡΤΗΜΑ IV

ΤΕΙ ΚΑΒΑΛΑΣ – ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

LEGO MINDSTORMS ΝΧΤ-G

ΕΝΑΣ ΓΡΗΓΟΡΟΣ ΟΔΗΓΟΣ ΧΡΗΣΗΣ

Φ.ΑΜΠΛΑ – Ε.ΠΑΙΔΑΡΑΚΗ

19/07/2011

2

ΠΕΡΙΕΧΟΜΕΝΑ

ΠΙΝΑΚΑΣ ΕΙΚΟΝΩΝ ........................................................................................................................ 3

ΤΟ ΝΧΤ ΙΙ ΚΑΙ ΤΑ ΒΑΣΙΚΑ ΜΕΡΗ ΤΟΥ..................................................................................... 4

Η ΜΟΝΑΔΑ LEGO NXT II .......................................................................................................... 5

Τρόπος σύνδεσης υπολογιστή με NXT II ...................................................................... 5

ΑΙΣΘΗΤΗΡΙΑ ................................................................................................................................. 6

Αισθητήρας αφής ................................................................................................................... 6

Αισθητήρας ήχου.................................................................................................................... 6

Αισθητήρας φωτός ................................................................................................................ 7

Αισθητήρας υπερήχων......................................................................................................... 7

Σερβοκινητήρες ........................................................................................................................... 8

Πώς να χρησιμοποιήσετε την οθόνη ενδείξεων.............................................................. 9

Το μενού του ΝΧΤ ΙΙ .................................................................................................................10

Προγραμματισμός με LEGO MINDSTRORMS NXT ΙΙ ...................................................11

3

ΠΙΝΑΚΑΣ ΕΙΚΟΝΩΝ

Εικόνα 1. Απεικόνιση του NXT ΙΙ και τα υποσυστήματα του. ........................................ 4

Εικόνα 2. Απεικόνιση συνδεσμολογίας ΝΧΤ II με υπολογιστή. ..................................... 5

Εικόνα 3. Αισθητήρας Αφής......................................................................................................... 6

Εικόνα 4. Αισθητήρας Ήχου. ....................................................................................................... 6

Εικόνα 5. Αισθητήρας φωτός...................................................................................................... 7

Εικόνα 6. Αισθητήρας υπερήχων............................................................................................... 8

Εικόνα 7. Σερβοκινητήρας............................................................................................................ 8

Εικόνα 8. Περιγραφή NXT ΙΙ. ....................................................................................................... 9

Εικόνα 9. Το περιβάλλον του λογισμικού NXT ΙΙ. .............................................................11

4

ΤΟ ΝΧΤ ΙΙ ΚΑΙ ΤΑ ΒΑΣΙΚΑ ΜΕΡΗ ΤΟΥ

Το πακέτο εκπαιδευτικής ρομποτικής περιέχει μια πλατφόρμα ανάπτυξης εφαρμογών με

επεξεργαστή 32 bit (ARM7). O μικροεπεξεργαστής μπορεί να προγραμματιστεί μέσω του

ηλεκτρονικού υπολογιστή. Περιέχει 256 Κbytes FLASH και 64 Κbytes Ram. Ο

μικροεπεξεργαστής αποτελείται από έναν AVR 8 bit o οποίος περιέχει 4Κbytes FLASH και

512 Byte RAM. Μπορεί να χρησιμοποιήσει Bluetooth ασύρματη επικοινωνία (Class II V2.0).

Υπάρχει ειδική θύρα USB για τη σύνδεση του με τον Η/Υ και διαθέτει μεγάλη ταχύτητα των

12 Mbit/s. Επιπλέον ο μικροεπεξεργαστής αποτελείται από 4 θύρες εισόδου, ψηφιακή

πλατφόρμα 6 καλωδίων (μια θύρα περιλαμβάνει θύρα προέκτασης ΙΕC 61158 Type 4/EN 50

170 για μελλοντική χρήση). Επίσης, αποτελείται από 3 θύρες εξόδους, ψηφιακή πλατφόρμα

6 καλωδίων. Μια ακόμη τεχνική προδιαγραφή της κεντρικής μονάδας είναι η LCD οθόνη

100 x 64 εικονοστοιχείων με μια γραφική ένδειξη πάνω της. Υπάρχει ένα ηχείο των 8 kHz με

αρκετά καλή ποιότητα ήχου. Τέλος, η πηγή ενέργειας είναι οι μπαταρίες (AA).

Τα βασικά μέρη που αποτελούν το πακέτο Lego Mindstorm NXT II είναι τα

παρακάτω:

A. Σερβοκινητήρες,

B. Μικροελεγκτής ΝΧΤ,

C. Αισθητήρας αφής,

D. Αισθητήρας Ήχου,

E. Αισθητήρας φωτός,

F. Αισθητήρας υπερήχων

Εικόνα 1. Απεικόνιση του NXT ΙΙ και τα υποσυστήµατα του.

5

Η ΜΟΝΑΔΑ LEGO NXT II

Παρακάτω αναφέρουμε τις συσκευές εισόδου – εξόδου που αποτελείται το ΝΧΤ II:

• Τρεις θύρες για την ένωση των σερβοκινητήρων (Α, B και C θύρες

αισθητήρων).

• Τέσσερις εισαγμένες θύρες για την ένωση των αισθητήρων θύρες 1, 2, 3 και 4.

• Μια θύρα USB για την επικοινωνία του ΝΧΤ με τον υπολογιστή.

• Οθόνη υγρών κρυστάλλων ανάλυσης 100 x 64 εικονοστοιχείων για απεικόνιση

βασικών λειτουργιών και μηνυμάτων.

• Τέσσερα πλήκτρα για τις βασικές λειτουργίες της συσκευής.

Η έκδοση NXT ΙΙ έχει τρεις σερβοκινητήρες και τέσσερις αισθητήρες για την αφή, το

φως, τον ήχο, και την απόσταση. Στη συνέχεια θα περιγράψουμε τα αισθητήρια, ποια

blocks χρησιμοποιεί το κάθε αισθητήριο στο πρόγραμμα και τους σερβοκινητήρες.

Ο εγκέφαλος ενός ρομπότ MINDSTORMS είναι το ΝΧΤ II. Είναι γνωστό ως

υπολογιστή «τούβλο» LEGO που δίνει τη δυνατότητα σε ένα ρομπότ MINDSTORMS να

ζωντανέψει και να εκτελέσει τις διαφορετικές διαδικασίες.

Τρόπος σύνδεσης υπολογιστή με NXT II

Ο μικροεπεξεργαστής ΝΧΤ ΙΙ συνδέεται με τον υπολογιστή μέσω ενός USB καλωδίου σε

περίπτωση που θέλετε να φορτώσετε τα προγράμματα από τον υπολογιστή στο NXT (ή το

αντίστροφο). Μπορείτε επίσης να χρησιμοποιήσετε την ασύρματη σύνδεση Bluetooth για

την επικοινωνία με τον υπολογιστή.

Σε περίπτωση που δημιουργήσετε ένα πρόγραμμα με πραγματικούς ήχους θα δείτε

στη συνέχεια ότι όταν το τρέχετε το πρόγραμμα θα ακούσετε ήχους (μέσω Βluetooth).

Εικόνα 2. Απεικόνιση συνδεσµολογίας ΝΧΤ II µε υπολογιστή.

6

ΑΙΣΘΗΤΗΡΙΑ

Αισθητήρας αφής

Ο αισθητήρας αφής έχει την ικανότητα να ανιχνεύει όταν πιέζεται από κάτι και όταν

απελευθερώνεται πάλι. Λειτουργεί ως διακόπτης διπλής κατάστασης (ανοιχτός-κλειστός)

και αντιδρά με το πάτημα του κουμπιού. Μπορεί να μετρήσει πόσο δυνατό είναι το πάτημα

του κουμπιού. Το πάτημα του κουμπιού μετριέται σε Pascal (συντομογραφία Pa) είναι η

μονάδα μέτρησης της πίεσης στο SI.

Εικόνα 3. Αισθητήρας Αφής.

Ένας ρομποτικός βραχίονας που εξοπλίζεται με έναν αισθητήρα αφής ενημερώνει

το ρομπότ εάν υπάρχει ή όχι κάτι στο βραχίονά του που μπορεί να αρπάξει. Όταν

προγραμματίσετε το ρομπότ σας και πιέσετε τον αισθητήρα αφής μπορεί να κάνει μια

πράξη, να περπατήσει, να μιλήσει, να κλείσει μια πόρτα, ή να ανοίξει τη TV σας.

Ο αισθητήρας αφής έχει μια τρύπα στο κέντρο στην οποία μπορείτε να

προσαρμόσετε ένα άξονα. Μπορείτε να φτιάξετε πάνω του μια κατασκευή η οποία θα του

επιτρέπει να νιώθει τα αντικείμενα καλύτερα.

Μπορείτε να χρησιμοποιήσετε τον αισθητήρα αφής με δύο blocks wait και switch

(αναμονής και επιλογής). Με το block wait το ΝΧΤ II περιμένει μέχρι ο αισθητήρας να

καταγράψει πίεση μόνο τότε το ρομπότ μπορεί να ξεκινήσει την επόμενη δραστηριότητα.

Με το block switch το ρομπότ μπορεί να εκτελεί μια δραστηριότητα όταν ο αισθητήρας

είναι πατημένος και μια άλλη όταν δεν είναι.

Αισθητήρας ήχου Μπορεί να καταγράφει ήχους (δυνατής και κανονικής φωνής). Μπορείτε να

προγραμματίσετε το ρομπότ να εκτελεί μια δραστηριότητα όταν ένα συγκεκριμένο άτομο

δίνει την εντολή και μια άλλη δραστηριότητα όταν δίνουν την εντολή περισσότεροι

άνθρωποι ταυτόχρονα. Μπορεί επίσης να αναγνωρίσει αρκετά πρότυπα ήχου π.χ.

χειροκρότημα δυο φορές.

Εικόνα 4. Αισθητήρας Ήχου.

Ο αισθητήρας ήχου μπορεί να ανιχνεύσει decibels [DB] και [DBA]. Decibel είναι μια

μονάδα της λογαριθμικής κλίμακας που μετρά τη στάθμη της ηχητικής έντασης. DBA

εφαρμόζεται στην ανίχνευση ρυθμισμένων decibels. Η ευαισθησία του αισθητήρα

προσαρμόζεται στην ευαισθησία του ανθρώπινου αυτιού. Με άλλα λόγια, αυτοί είναι οι

ήχοι που τα αυτιά σας είναι σε θέση να ακούσουν. Κατά συνέπεια, αυτοί οι ήχοι μπορούν

να περιλάβουν μερικούς που είναι πάρα πολύ υψηλοί ή πάρα πολύ χαμηλοί για να

7

ακουστούν από το ανθρώπινο αυτί. Μπορεί να μετρήσει τα επίπεδα πίεσης μέχρι 90 DB. Τα

επίπεδα πίεσης είναι εξαιρετικά περίπλοκα έτσι οι αναγνώσεις αισθητήρων στο

MINDSTORM κυμαίνονται στα εξής ποσοστά:

• 4-5% ποσοστό για ένα σιωπηλό καθιστικό,

• 5-10% θα ήταν κάποιος που μιλά κάποια απόσταση μακριά,

• 10-30% είναι κανονική συνομιλία κοντά στον αισθητήρα ή τη μουσική που

παίζεται σε κανονικό επίπεδο,

• 30-100% είναι να φωνάξει κάποιος άνθρωπος ή μουσική που παίζεται σε

μεγάλη ένταση.

Μπορείτε να χρησιμοποιήσετε τον αισθητήρα ήχου με τα εξής: το block wait

(αναμονής) και switch (επιλογής). Με το block wait το ρομπότ περιμένει μέχρι ο

αισθητήρας να καταγράψει τον ζητούμενο ήχο. Με το block switch μπορείτε να δώσετε στο

ΝΧΤ μια δραστηριότητα για όταν δεν ακούει το απαιτούμενο ηχητικό σήμα και μια άλλη

όταν δεν το ακούει.

Αισθητήρας φωτός

Ο αισθητήρας φωτός δίνει όραση στο ρομπότ σας δηλαδή μπορεί να διακρίνει

μεταξύ του φωτός και του σκοταδιού. Μπορεί να διαβάσει την ελαφριά ένταση σε ένα

δωμάτιο και να μετρήσει την ελαφριά ένταση των χρωματισμένων επιφανειών.

Ο αισθητήρας φωτός επηρεάζεται από το περιβάλλον γι αυτό πρέπει να κάνετε

βαθμονόμηση για να λειτουργεί σωστά στο περιβάλλον. Για την επιτυχή βαθμονόμηση

πρέπει να σημαδέψετε τον αισθητήρα προς το πιο σκοτεινό σημείο (στο 0) και να πατήσετε

το πορτοκαλί κουμπί. Κατόπιν σημαδέψτε στο φωτεινότερο σημείο (στο 100) και πατήστε

ξανά το πορτοκαλί κουμπί. Καλό θα ήταν να απενεργοποιήσετε το υπέρυθρο φως που

υπάρχει κάτω από τον αισθητήρα για να μετράει μόνο το φως του περιβάλλοντος.

Εικόνα 5. Αισθητήρας φωτός.

Ένας έξυπνος τρόπος για να τον χρησιμοποιήσετε τον αισθητήρα φωτός είναι να

κάνετε ένα ρομπότ συναγερμών διαρρηκτών όταν ένας εισβολέας ανοίγει το φως στο

δωμάτιό σας το ρομπότ μπορεί να αντιδράσει για να υπερασπίσει την ιδιοκτησία σας.

Μπορείτε επίσης να τον χρησιμοποιήσετε για να κάνετε το ρομπότ να ταξινομήσει

πράγματα κατά χρώμα.

Μπορείτε να χρησιμοποιήσετε τον αισθητήρα φωτός με τα εξής blocks wait-loop-

switch (αναμονής-επανάληψης-επιλογής). Με το block wait το πρόγραμμα περιμένει μέχρι

ο αισθητήρας να αντιληφθεί μια συγκεκριμένη ένταση φωτός και έπειτα συνεχίζει τη

λειτουργία του. Με το block loop το πρόγραμμα συνεχίζει να εκτελείται έως ότου ο

αισθητήρας φωτός δείξει μια συγκεκριμένη ένταση φωτός. Με το block switch δίνετε στο

ρομπότ σας μια επιθυμητή ένταση φωτός.

Αισθητήρας υπερήχων

Ο αισθητήρας υπερήχων επιτρέπει στο ρομπότ σας να δει, να ανιχνεύσει τα

αντικείμενα, να αποφύγει τα εμπόδια, να αποκτήσει την αίσθηση της απόστασης και

8

μέτρου και να ανιχνεύσει τη μετακίνηση. Επίσης, στέλνει και λαμβάνει σήματα υπερήχων.

Ο χρόνος που μεσολαβεί ανάμεσα στην αποστολή και στη λήψη καθορίζει την ακριβή

απόσταση από ένα αντικείμενο.

Εικόνα 6. Αισθητήρας υπερήχων.

Ο αισθητήρας υπερήχων είναι ένας αισθητήρας ο οποίος μπορεί να μετρά

αποστάσεις. Η απόσταση μετριέται σε εκατοστόμετρα και σε ίντσες. Είναι σε θέση να

μετρήσει τις αποστάσεις από 0 έως 255 εκατοστόμετρα με μια ακρίβεια +/- 3 εκατ. Μετρά

την απόσταση με τον υπολογισμό του χρόνου που παίρνει ένα ηχητικό κύμα για να

χτυπήσει ένα αντικείμενο και να επιστρέψει. Τα μεγάλου μεγέθους αντικείμενα με τις

σκληρές επιφάνειες επιφέρουν τις καλύτερες αναγνώσεις. Τα αντικείμενα φτιαγμένα από

μαλακό ύφασμα ή τα κυρτά π.χ σφαίρα ή τα πολύ λεπτά ή μικρά μπορεί να είναι δύσκολο

ανιχνευθούν από τον αισθητήρα.

Μπορείτε να χρησιμοποιήσετε τον αισθητήρα με το block επιλογής switch και wait

(επιλογής και αναμονής). Με το block switch ελέγχεται αν το αντικείμενο είναι πιο μακριά

ή πιο κοντά από την επιλεγμένη απόσταση. Με το block wait η δράση του επόμενου θα

ξεκινήσει μόνο όταν εκπληρωθεί η προϋπόθεση αυτού του μπλοκ.

Σερβοκινητήρες

Με τη βοήθεια των Σερβοκινητήρων το ρομπότ σας μπορεί και κινείται. Μπορεί να

μετακινηθεί σε ευθεία γραμμή και αυτό επιτυγχάνεται με την τοποθέτηση ενός αυτόματου

συγχρονισμού των σερβοκινητήρων. Υπάρχει ένας ενσωματωμένος αισθητήρας

περιστροφής σε κάθε σερβοκινητήρα που επιτρέπει με ακρίβεια διαφορετικές ταχύτητες. Ο

αισθητήρας περιστροφής έχει την ικανότητα να μετράει τις περιστροφές του κινητήρα. Μια

περιστροφή είναι ίση με 360 μοίρες έτσι αν θέσετε τον έναν κινητήρα σε στροφή 180

μοιρών τότε ο άξονας παραγωγής θα κάνει μισή στροφή.

Εικόνα 7. Σερβοκινητήρας.

9

Πώς να χρησιμοποιήσετε την οθόνη ενδείξεων

Ένας αρχάριος αλλά και ένας έμπειρος στον προγραμματισμό χρήστης πατώντας τα

κουμπιά που διαθέτει το ΝΧΤ ΙΙ βλέπει στην οθόνη να απεικονίζονται βασικές λειτουργίες

του μενού και διάφορα μηνύματα κάθε φορά που το θέτει σε λειτουργία.

1. Αρχικά για να ενεργοποιήστε την οθόνη του ΝΧΤ ΙΙ πατήστε το πορτοκαλί

κουμπί και θα εμφανιστεί το κυρίως μενού.

2. Πατήστε το δεξί κουμπί 2 φορές και θα εμφανιστεί η οθόνη ενδείξεων.

Πατήστε το πορτοκαλί κουμπί ξανά.

3. Με την ένδειξη αυτή μπορείτε να καθορίσετε την απόσταση που πρέπει να

διανύσει το ΝΧΤ ΙΙ. Για να βρείτε τον αριθμό των κινήσεων για μια

συγκεκριμένη απόσταση, χρησιμοποιήστε τα βελάκια μέχρι να βρείτε στην

οθόνη την επιλογή <<κινήσεις κινητήρα R>> (Motor rotations R). Πιέστε

ξανά το πορτοκαλί κουμπί.

4. Μετά επιλέξτε την θύρα που είναι συνδεδεμένος ο κινητήρας. Αν τώρα

σπρώξετε το ρομπότ μπροστά θα δείτε πόσες κινήσεις θα κάνει ο κινητήρας

για να καλύψει την συγκεκριμένη απόσταση.

Εικόνα 8. Περιγραφή NXT ΙΙ.

10

Το μενού του ΝΧΤ ΙΙ

Το μενού του ΝΧΤ ΙΙ έχει δενδροειδή μορφή. Μπορούμε να κινηθούμε και να

κάνουμε επιλογές από το μενού με τη βοήθεια των κουμπιών του.

Vıew Bluetooth Settıngs Try me My fıles NXT ΙΙ

Program

NXT ΙΙ Datalog

Sound Db On/Off Volume Try color Software

Fıles

Temperature C

0

Sound Dba Sleep NXT Fıles Temperature F

0

Reflected lıght NXT

Versıon

Try Datalog

Fıles

Sound dB

Ambıent lıght Delete

Files

Try

Ultrasonıc

Sound dBA

Temperature C0

Try Motor Reflected lıght

Temperature F0

Motor Rotatıons Motor Rotatıons

Motor Degrees Motor Degrees

Touch Touch

Ultrasonıc ınch Ultrasonıc ınch

Ultrasonıc cm Ultrasonıc cm

Color color

11

Προγραμματισμός με LEGO MINDSTRORMS NXT ΙΙ

Οι εντολές (εικoνοεντολές) του Lego Mindstorms ΙΙ είναι οργανωμένες σε παλέτες.

Για να δημιουργήσουμε ένα πρόγραμμα, τοποθετούμε τις εντολές με τη διαδικασία «σύρω

και αφήνω» (drag&drop) στην καθορισμένη θέση της επιφάνειας εργασίας, με τη σειρά που

απαιτεί ο αλγόριθμος που έχουμε καταστρώσει. Για κάθε εντολή που τοποθετείται στην

επιφάνεια εργασίας ή που επιλέγουμε αν έχει τοποθετηθεί προηγούμενα εμφανίζεται στο

κάτω μέρος ένα πλαίσιο, στο οποίο μπορούμε να ρυθμίσουμε τις παραμέτρους της εντολής.

Εικόνα 9. Το περιβάλλον του λογισµικού NXT ΙΙ.

12

ΒΙΒΛΙΟΓΡΑΦΙΑ http://openarchives.gr/search/Lego/page:1 http://mindstorms.lego.com/ http://www.lego.com/eng/education/mindstorms/default.asp http://msdn.microsoft.com/en-us/robotics/default.aspx http://channel9.msdn.com/tags/Robotics/ http://www.ieeesb.upatras.gr/index.php?option=com_content&task=view&id=37&Itemid=1 http://blogs.msdn.com/coding4fun/archive/tags/robotics/default.aspx http://blogs.msdn.com/MSRoboticsStudio/ http://www.eng.ucy.ac.cy/robot/robolab.htm http://www.eng.ucy.ac.cy/robot/Inventor.htm http://www.marioferrari.org http://translate.google.gr/translate?hl=el&langpair=en|el&u=http://www.ni.com/pdf/manuals/372574c.pdf http://translate.google.gr/translate?hl=el&langpair=en|el&u=http://www.thenxtstep.blogspot.com/ http://www.edc.uoc.gr/~sanagn/wordpress/?tag=lego http://issuu.com/astnlucas242/docs/line_follow

ΤΕΙ ΚΑΒΑΛΑΣ – ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣ

MSRS KAI VPL

ΕΝΑΣ ΓΡΗΓΟΡΟΣ Ο∆ΗΓΟΣ ΧΡΗΣΗΣ

Φ.ΑΜΠΛΑ – Ε.ΠΑΙ∆ΑΡΑΚΗ 19/07/2011

2

ΠΕΡΙΕΧΟΜΕΝΑ Παρουσίαση του Microsoft Robotics Studio (MSRS)...................................................4 Απαιτήσεις Λογισµικού .............................................................................................4

Microsoft Robotics Deleloper Studio 2008 Express......................................................4 Visual Programming Language .....................................................................................4 Πλεονεκτήµατα:.........................................................................................................5 ∆ηµιουργία ∆ιαγράµµατος.........................................................................................6 Οι βασικές δραστηριότητες του toolbox window......................................................6 Οι υπηρεσίες του toolbox window.............................................................................7 Το project window .....................................................................................................8 Το παράθυρο ιδιοτήτων .............................................................................................8

Το µενού της VPL (VPL MENUS) .............................................................................10 Βασικές ∆ραστηριότητες (Basic Activities) ............................................................13

Activity ................................................................................................................13 Calculate ..............................................................................................................13 Comment..............................................................................................................14 Data......................................................................................................................14 IF ..........................................................................................................................14 Join.......................................................................................................................15 List .......................................................................................................................15 List Functions.......................................................................................................15 Merge ...................................................................................................................16 Switch ..................................................................................................................16 Variable................................................................................................................16

Οι Υπηρεσίες του LEGO MINDSTORMS NXT ........................................................17 Εισαγωγή .................................................................................................................17 Περίληψη των υπηρεσιών........................................................................................17

∆ιαµόρφωση υπηρεσίας Brick (Brick Service Configuration)............................17 Οι υπηρεσίες πιο αναλυτικά ........................................................................................18 Η ρύθµιση partners ..................................................................................................18 Η ονοµασία των συσκευών......................................................................................19 Θύρες µηχανών και αισθητήρων .............................................................................19 Συχνότητα καταγραφής............................................................................................19 Υπηρεσία κίνησης (Motor service)..........................................................................20 Υπηρεσίες Light Sensor...........................................................................................22

3

ΠΙΝΑΚΑΣ ΕΙΚΟΝΩΝ Εικόνα 1. Παράδειγµα διαγράµµατος VPL µε την χρήση block υπηρεσιών.................5 Εικόνα 2. Παράθυρο δηµιουργίας διαγράµµατος VPL. ................................................6 Εικόνα 3. Τα blocks που αντιπροσωπεύουν τις βασικές δραστηριότητες (basic activities)........................................................................................................................7 Εικόνα 4. Υπηρεσίες του toolbox window. ...................................................................8 Εικόνα 5. Project window..............................................................................................8 Εικόνα 6. Properties windows. ......................................................................................9 Εικόνα 7. Οι λειτουργίες της επιλογής File. ................................................................10 Εικόνα 8. Οι λειτουργίες της επιλογής Edit.................................................................10 Εικόνα 9. Οι λειτουργίες της επιλογής View...............................................................11 Εικόνα 10. Οι λειτουργίες της επιλογής Run...............................................................12 Εικόνα 11. Οι λειτουργίες της επιλογής Help..............................................................12 Εικόνα 12. Block Activity. ..........................................................................................13 Εικόνα 13. Block calculate. .........................................................................................13 Εικόνα 14. Block Comment.........................................................................................14 Εικόνα 15. Data Block. ................................................................................................14 Εικόνα 16. If Block......................................................................................................14 Εικόνα 17. Block Join..................................................................................................15 Εικόνα 18. Block List. .................................................................................................15 Εικόνα 19. List functions block. ..................................................................................15 Εικόνα 20. Block Merge. .............................................................................................16 Εικόνα 21. Block Switch. ............................................................................................16 Εικόνα 22. Block Variable...........................................................................................16 Εικόνα 23. Το παράθυρο της γλώσσας VPL παρουσιάζοντας τη χρήση υπηρεσιών LEGO MINDSTORMS NXT. .....................................................................................17 Εικόνα 24. Το παράθυρο της γλώσσας VPL παρουσιάζοντας τη χρήση υπηρεσίας ΝΧΤ Βrick. ..................................................................................................................18 Εικόνα 25. Το παράθυρο Properties παρουσιάζοντας την επιλογή ΝΧΤ Βrick στα δεξιά και brick στα αριστερά αντίστοιχα.....................................................................18 Εικόνα 26. Η επιλογή των τριών θυρών µηχανών και των τεσσάρων αισθητήρων του ΝΧΤ Βrick. ..................................................................................................................19 Εικόνα 27. H συχνότητα καταγραφής Polling FrequencyMs ρυθµισµένη στην τιµή 0.......................................................................................................................................19 Εικόνα 28. ∆ιάφορες επιλογές του παραθύρου Properties, όπως το Reserve Polarity, Motor Port, Polling Frequency Ms. .............................................................................20 Εικόνα 29. ∆ιάφορες επιλογές του παραθύρου Properties όπου µπορούµε να τροποποιήσουµε ανάλογα µε το τι θέλουµε. ...............................................................21 Εικόνα 30. Απεικόνιση απόστασης µεταξύ δύο τροχών. ............................................21 Εικόνα 31. Απεικόνιση ρύθµιση IsON στο παράθυρο Properties. ..............................22

4

Παρουσίαση του Microsoft Robotics Studio (MSRS) Τον Ιούνιο του 2006 ο Trower µαζί µε µία οµάδα ερευνητών ανακοίνωσαν την

ύπαρξη του MSRS. Το MSRS προέκυψε µέσα από έρευνα του Trower πάνω στην ροµποτική. Επρόκειτο για µία πλατφόρµα η οποία θα µπορούσε να επιλύει προβλήµατα που αντιµετώπιζαν οι επιστήµονες της ροµποτικής αλλά και ερασιτέχνες που ασχολούνταν µε το πρόγραµµα αυτό.

Το MSRS είναι ένα περιβάλλον που προσφέρει εποπτικά εργαλεία και εγχειρίδια διδασκαλίας, παρέχει µία πλατφόρµα και εργαλεία που µπορούν να χρησιµοποιηθούν από επιστήµονες. Προσφέρει, επίσης, µία γλώσσα προγραµµατισµού, Visual Programming Language (VPL), που µπορεί να χρησιµοποιηθεί από µαθητές και ερασιτέχνες.

Το MSRS βασίζεται στο Concurrency and Coordination Runtime (CCR). Το CCR είναι µία .NET βιβλιοθήκη σχεδιασµένη έτσι ώστε να γίνεται ο ασύγχρονος προγραµµατισµός ευκολότερα από πριν. Αναπτύχθηκε την ίδια χρονική περίοδο που ο Trower προσπαθούσε να κάνει την ροµποτική πιο εύκολη.

Η τελευταία έκδοση του MSRS έχει τόσες βελτιώσεις που κάνει το προϊόν ακόµα πιο εύκολο στη χρήση. Το MSRS είναι µια δηµιουργία που βρίσκεται σε εξέλιξη. Γίνεται προσπάθεια για συνεχείς βελτιώσεις και ρυθµίσεις στα εργαλεία και στις υπηρεσίες του MSRS.

Απαιτήσεις Λογισµικού

Θα πρέπει να εγκαταστήσουµε ολόκληρη την έκδοση MSRS, όπου είναι διαθέσιµη στην ιστοσελίδα της Microsoft. Θα χρειαστούµε επίσης το Visual Studio, όπου µπορούµε να χρησιµοποιήσουµε την Express Edition, η οποία είναι διαθέσιµη στην ιστοσελίδα της Microsoft.

Microsoft Robotics Deleloper Studio 2008 Express Το Microsoft Robotics Developer Studio 2008 Express είναι ένα περιβάλλον

βασισµένο στα Windows και µπορεί να χρησιµοποιηθεί από σπουδαστές, αρχάριους και επιστήµονες. Παρέχει τη δυνατότητα δηµιουργίας ροµποτικών εφαρµογών για µια ποικιλία από ροµπότ. Περιλαµβάνει εργαλεία παραγωγής κώδικα, εξοµοίωσης, παραδείγµατα και εγχειρίδια.

Visual Programming Language Με την Visual Programming Language µπορεί ο οποιοσδήποτε να δηµιουργήσει και

να τρέξει εύκολα πρόγραµµα για ροµπότ. Με απλή µετακίνηση στο γραφικό περιβάλλον τοποθετούνται τα blocks που αντιπροσωπεύουν υπηρεσίες και µετά συνδέονται (δείτε Εικόνα 1).

5

Εικόνα 1. Παράδειγµα διαγράµµατος VPL µε την χρήση block υπηρεσιών.

Πλεονεκτήµατα:

Ποικίλοι τρόποι επικοινωνίας µεταξύ ροµπότ και υπολογιστή (serial port, Bluetooth, usb κ.ά). ∆υνατότητες:

• Οποιοσδήποτε µπορεί να δηµιουργήσει και να τρέξει προγράµµατα για ροµπότ πολύ εύκολα.

• Επαναχρησιµοποίηση κώδικα και τµηµατική σχεδίαση. ∆ηµιουργία συναρτήσεων υψηλού επιπέδου χρησιµοποιώντας απλά στοιχεία. Αυξηµένη αξιοπιστία. Εύκολη επαναχρησιµοποίηση τµηµάτων κώδικα.

• Ευέλικτη πλατφόρµα. Υποστηρίζει πολλά ροµποτικά περιβάλλοντα. • Παράγει κώδικα για 8, 16, 32 bit συστήµατα, για ένα ή πολλούς πυρήνες. • Υποστήριξη εξίσου προγραµµάτων αποµακρυσµένων ή αυτόνοµων ροµπότ.

Υποστήριξη επικοινωνίας µε serial port, Bluetooth, 802.11, RF. Τα προγράµµατα µπορούν να εκτελεστούν σε Microsoft Windows περιβάλλοντα.

• Υποστηρίζει πλήθος γλωσσών προγραµµατισµού. ∆υνατότητα δηµιουργίας προγραµµάτων µέσω Microsoft Visual Studio, Microsoft Visual Studio Express (C, VB.NET), Microsoft Iron Python.

Η VPL στοχεύει για τους αρχάριους προγραµµατιστές να κατανοήσουν βασικές

έννοιες όπως τις µεταβλητές και τη λογική. Εντούτοις, η VPL δεν περιορίζεται στους αρχαρίους. Η σύνθετη φύση της γλώσσας προγραµµατισµού µπορεί να απευθυνθεί στους πιο προηγµένους προγραµµατιστές για τη γρήγορη διαµόρφωση πρωτοτύπου ή την ανάπτυξη κώδικα. Επιπλέον, ενώ η εργαλειοθήκη της προσαρµόζεται στις αναπτυσσόµενες εφαρµογές του ροµπότ, η αρχιτεκτονική δεν περιορίζεται στα προγραµµατιζόµενα ροµπότ και θα µπορούσε να εφαρµοστεί σε άλλες εφαρµογές. Κατά συνέπεια, η VPL µπορεί να απευθυνθεί σε ένα ευρύ κοινό χρηστών συµπεριλαµβανοµένων των σπουδαστών, ερασιτεχνών, καθώς επίσης και ενδεχοµένως των web developers και των επαγγελµατιών προγραµµατιστών.

6

∆ηµιουργία ∆ιαγράµµατος

Για την έναρξη της VPL, επιλέγεται η είσοδό της από το µενού έναρξης. Όταν η VPL ξεκινήσει, εµφανίζεται ένα παράθυρο µε ένα σύνολο από µενού, toolboxes, και µιας σελίδας διαγραµµάτων.

Εικόνα 2. Παράθυρο δηµιουργίας διαγράµµατος VPL.

Τα toolboxes εµφανίζουν τα περιεχόµενα του τρέχοντος αρχείου του project και των

δραστηριοτήτων που µπορούν να χρησιµοποιηθούν για τη δηµιουργία ενός διαγράµµατος. Τα toolboxes είναι κινητά και πτυσσόµενα, κι έτσι µπορούν να ρυθµιστούν εκ νέου µέσα στο κύριο παράθυρο VPL. Υπάρχει επίσης, η δυνατότητα να εµφανιστεί ένα κρυµµένο παράθυρο toolbox ή να κρυφτεί επιλεκτικά από το χρήστη, χρησιµοποιώντας την εντολή toolboxes στο µενού View. Για να αρχίσει ένα διάγραµµα ροής πληροφοριών, «σύρατε και αφήστε» δεδοµένα ή blocks από τα toolboxes στην περιοχή διαγραµµάτων και συνδέστε τα. Μπορείτε επίσης, να προσθέσετε µια νέα δραστηριότητα µε το να κάνετε διπλό κλικ στην είσοδο του toolbox. Μπορείτε να κόψετε, να αντιγράψετε, να κολλήσετε, ή να διαγράψετε τις δραστηριότητες µε την επιλογή του block στο διάγραµµα χρησιµοποιώντας τις εντολές του µενού Edit.

Οι βασικές δραστηριότητες του toolbox window

Οι βασικές δραστηριότητες του toolbox window περιλαµβάνουν blocks για τον έλεγχο της ροής πληροφοριών και τη δηµιουργία των στοιχείων και των µεταβλητών. Επίσης, περιλαµβάνεται µια δραστηριότητα σχόλιου (comment activity) που επιτρέπει σε σας να τοποθετήσετε blocks σχόλιου κειµένων στο διάγραµµά σας.

7

Εικόνα 3. Τα blocks που αντιπροσωπεύουν τις βασικές δραστηριότητες (basic activities).

Οι υπηρεσίες του toolbox window

Οι υπηρεσίες του toolbox window εµφανίζουν υπηρεσίες που είναι συµβατές µε την VPL. Όταν µια υπηρεσία µεταφερθεί µε σύρσιµο από το toolbox που υπάρχει ήδη στο διάγραµµα, γίνεται ερώτηση στο χρήστη για το εάν θέλει να δηµιουργήσει µια νέα περίπτωση της υπηρεσίας ή θέλει να δηµιουργήσει µια πανοµοιότυπη της υπηρεσίας που υπάρχει ήδη στο διάγραµµα. Παραδείγµατος χάριν µπορεί να χρησιµοποιηθεί η ίδια υπηρεσία για ένα σύνολο αισθητήρων ή µηχανών, αλλά µε διαφορετικές ρυθµίσεις διαµόρφωσης. Υπάρχει η δυνατότητα αλλαγής των ονοµάτων των υπηρεσιών που εισάγονται στο διάγραµµα µε τη πληκτρολόγηση του νέου ονόµατος στο text box στην κορυφή του toolbox. Οι υπηρεσίες που εµφανίζονται σε αυτό το toolbox window εξαρτώνται από το περιεχόµενο του box (πλαισίου) φίλτρων αναζήτησης. Η είσοδος µιας λέξης αναγκάζει µόνο εκείνες τις υπηρεσίες µε εκείνη την λέξη να εµφανιστούν στο παράθυρο. Η αναζήτηση ψάχνει τις αντιστοιχίες και στο όνοµα της υπηρεσίας καθώς επίσης και στην περιγραφή της. Ένα κενό box αναζήτησης βρίσκει όλες τις υπηρεσίες. Μπορούν να εισαχθούν πολλαπλάσιες λέξεις (που χωρίζονται µε τα διαστήµατα) και ο κατάλογος φιλτράρεται από όλες εκείνες τις λέξεις. Η τοποθέτηση του α + µεταξύ των λέξεων αναγκάζει το φίλτρο να υποθέσει ότι και οι δύο λέξεις πρέπει να εµφανιστούν. Χρησιµοποιώντας το α j αποκλείει τη λέξη. Παρέχεται ακόµη η δυνατότητα αποθήκευσης ενός φίλτρου αναζήτησης κάνοντας κλικ στο + κουµπί που βρίσκεται στο All Found. Αυτό δηµιουργεί ένα νέο τµήµα στο service toolbox window µε τα αποτελέσµατα του φίλτρου αναζήτησης χρησιµοποιώντας τις λέξεις που χρησιµοποιήθηκαν ως φίλτρο αναζήτησης. Για τη δηµιουργία ενός τίτλου για το φίλτρο αναζήτησης χωρίς τις λέξεις του φίλτρου, πρέπει να προστεθεί "= τίτλος " στο κείµενο αναζήτησης. Τώρα όταν πατηθεί κλικ στο + κουµπί στο All Found, το νέο τµήµα θα χρησιµοποιήσει ακριβώς εκείνο το κείµενο. Παραδείγµατος χάριν εάν εισαχθούν τα εξής: NXT RCX = LEGO services 26 και έπειτα πατηθεί κλικ στο + κουµπί, θα εµφανιστεί ένα νέο τµήµα µε ακριβώς εκείνες τις υπηρεσίες των οποίων το όνοµα ή η περιγραφή περιλαµβάνει εκείνες τις λέξεις, αλλά µε τον τίτλο ως υπηρεσίες LEGO.

8

Εικόνα 4. Υπηρεσίες του toolbox window.

Το project window

Το project window παρουσιάζει τα διαγράµµατα και τα αρχεία διαµόρφωσης (για τις υπηρεσίες) που περιλαµβάνονται στο πρόγραµµα. Για να κλείσει η τρέχουσα κατάσταση του διαγράµµατος, πρέπει να πατηθεί κλικ στο κουµπί Χ. Για να εµφανιστεί ξανά το διάγραµµα, πρέπει να πατηθεί δύο φορές το όνοµα του διαγράµµατος στο project window. Εάν το όνοµα διαγράµµατος δεν εµφανίζεται, πρέπει να πατηθεί κλικ στο + κουµπί για να επεκτείνει την είσοδο διαγράµµατος. Για αλλαγή ονόµατος του διαγράµµατος, πρέπει να πατηθεί κλικ κατά την εισαγωγή του στο project window. Για να προστεθούν τα πρόσθετα διαγράµµατα στο πρόγραµµα, κάνετε κλικ στο πρόσθεση διαγράµµατος. Για διαγραφή ενός διαγράµµατος κάνετε κλικ στη διαγραφή.

Εικόνα 5. Project window.

Το παράθυρο ιδιοτήτων

Το παράθυρο ιδιοτήτων (Properties window) εµφανίζει τις ιδιότητες για το τρέχον επιλεγµένο στοιχείο. Αυτό επιτρέπει στο χρήστη να διαµορφώσει τις ρυθµίσεις που εκτίθενται από εκείνη την υπηρεσία ή δραστηριότητα.

9

Εικόνα 6. Properties windows.

10

Το µενού της VPL (VPL MENUS) • File Οι λειτουργίες της επιλογής File αναλύονται παρακάτω.

Εικόνα 7. Οι λειτουργίες της επιλογής File.

New – Επιτρέπει τη δηµιουργία ενός καινούριου project. Open – Ανοίγει ένα υπάρχον project αρχείο Save – Αποθηκεύει το τρέχων project. Save As – Αποθηκεύει το project σε ένα συγκεκριµένο όνοµα. Recent Projects – Εκθέτει και ανοίγει πρόσφατα project αρχεία. Exit – Έξοδος από την VPL

• Edit Οι λειτουργίες της επιλογής Edit αναλύονται παρακάτω:

Εικόνα 8. Οι λειτουργίες της επιλογής Edit.

Undo – Αντιστρέφει την τελευταία δράση. Redo – Αποκαθιστά την τελευταία ανεστραµµένη δράση. Cut – Αφαιρεί το επιλεγµένο αντικείµενο. Copy – Αντιγράφει το επιλεγµένο αντικείµενο. Paste – Εισάγει την τελευταία περικοπή ή το αντιγραµµένο αντικείµενο. Del – Αφαιρεί το επιλεγµένο αντικείµενο.

11

Actions and Notifications – Εµφανίζει ένα πλαίσιο διαλόγου' dialog box που επιτρέπει την προσθήκη ή τη λειτουργία ενεργειών δραστηριότητας χρηστών, τα αποτελέσµατα, και τις ανακοινώσεις. Define Variables – Εµφανίζει ένα πλαίσιο διαλόγου' dialog box που επιτρέπει τον καθορισµό µεταβλητών και του τύπου τους. Connections – Εµφανίζει ένα πλαίσιο διαλόγου' dialog box για να τεθούν οι συνδέσεις µεταξύ δύο δραστηριοτήτων. Data Connections – Εµφανίζει ένα πλαίσιο διαλόγου' dialog box για να τεθούν οι συνδέσεις στοιχείων για µια σύνδεση. Set Configuration – Εµφανίζει το πλαίσιο διαµόρφωσης που επιτρέπει τον καθορισµό της διαµόρφωσης µιας υπηρεσίας και τις τοποθετήσεις των συνεταιρικών υπηρεσιών. • View Οι λειτουργίες της επιλογής View αναλύονται παρακάτω:

Εικόνα 9. Οι λειτουργίες της επιλογής View.

Toolboxes – Εκθέτει ή κρύβει τις βασικές δραστηριότητες, τις υπηρεσίες, το πρόγραµµα, και τα παράθυρα ιδιοτήτων. Grid – Εκθέτει ή κρύβει ένα οπτικό πλέγµα για το διάγραµµα. Toolbar – Εκθέτει ή κρύβει την VPL µπάρα εργαλείων.

12

• Run Οι λειτουργίες της επιλογής Run αναλύονται παρακάτω:

Εικόνα 10. Οι λειτουργίες της επιλογής Run.

Start – Ξεκινά να εκτελείται το τρέχον project. Debug Start – Ξεκινά να εκτελείται το τρέχον project, αλλά σταµατάει στη 1η δραστηριότητα, και εκθέτει το αποτέλεσµα. Port Settings – Εκθέτει ένα πλαίσιο διαλόγου dialog box που µας δίνει τη δυνατότητα να θέσουµε θύρες τις οποίες το project χρησιµοποιεί όταν το εκτελεί. • Help Οι λειτουργίες της επιλογής Help αναλύονται παρακάτω:

Εικόνα 11. Οι λειτουργίες της επιλογής Help.

Contents – Εκθέτει το VPL αρχείο βοήθειας.

13

Βασικές ∆ραστηριότητες (Basic Activities)

H γλώσσα προγραµµατισµού Microsoft Visual Programming Language περιλαµβάνει ένα σύνολο βασικών δραστηριοτήτων που χρησιµοποιούνται για να βοηθήσουν να δηµιουργηθεί ένα πρόγραµµα ροής στοιχείων. Αυτά τα block χρησιµοποιούνται για τη σύνδεση των block υπηρεσιών, αλλά µπορούν επίσης να συνδεθούν µεταξύ τους. Activity

Αυτό το block χρησιµοποιείται για να µπορεί ο χρήστης να δηµιουργήσει τις δικές του δραστηριότητες. Κάθε µία δραστηριότητα µπορεί να έχει διαγράµµατα ροής στοιχείων. Τα διαγράµµατα αυτά µπορούν να χρησιµοποιηθούν ώστε να δηµιουργηθούν διαγράµµατα που µπορούν να αντιπροσωπευθούν ως ενιαία blocks σε άλλα διαγράµµατα. Τα block αυτά µπορούν επίσης να συνταχθούν στις υπηρεσίες που θα µπορούσαν να χρησιµοποιηθούν µε άλλες υπηρεσίες.

Εικόνα 12. Block Activity.

Calculate

Η Calculate δραστηριότητα εκτελεί τις απλές αριθµητικές ή λογικές διαδικασίες στην έκφραση που εισάγεται που µπορεί να συµπεριλάβει τις αριθµητικές τιµές, την αξία του µηνύµατος, τα µέλη στοιχείων της, ή τις προκαθορισµένες τιµές που παρέχονται από άλλες υπηρεσίες στο διάγραµµα.

Εικόνα 13. Block calculate.

Για αριθµητικά δεδοµένα χρησιµοποιούνται τα εξής: + Add - Subtract/minus * Multiply / Divide % Mod

Το συν (+) µπορεί επίσης να χρησιµοποιηθεί για να συνδέσει (να συνδυάσει) τις συµβολοσειρές. Αυτό µπορεί επίσης να χρησιµοποιηθεί για να συνδυάσει το κείµενο και τα αριθµητικά στοιχεία µε τη χρησιµοποίηση των διπλών εισαγωγικών (π.χ. "η απάντηση είναι" + x/4). Για λογικούς τελεστές χρησιµοποιούνται τα ακόλουθα: && AND || OR ! NOT

14

Η παρένθεση χρησιµοποιείται επίσης για την υποστήριξη της προτεραιότητας (διαταγή της αξιολόγησης) της έκφρασης που εισήχθη. Με κλικ στο textbox του Calculate box εµφανίζεται ένας κατάλογος συµπεριλαµβανοµένης της αξίας του εισερχόµενου µηνύµατος, οποιονδήποτε µελών στοιχείων, καθώς επίσης και των προκαθορισµένων τιµών που µπορούν να παρασχεθούν από άλλες υπηρεσίες. Comment

Η δραστηριότητα Comment επιτρέπει την προσθήκη ενός block κειµένου σε ένα διάγραµµα.

Εικόνα 14. Block Comment.

Στο παραπάνω παράθυρο που θα εµφανιστεί µπορεί να εισαχθεί το κείµενο που θα εµφανίζετε στο textbox. Το block Comment δεν υποστηρίζει οποιεσδήποτε συνδέσεις. Μπορεί όµως να τοποθετηθεί οπουδήποτε στο διάγραµµα. Data

Η δραστηριότητα Data χρησιµοποιείται για να παρέχει µια απλή αξία στοιχείων σε µια άλλη δραστηριότητα ή υπηρεσία. Για τον καθορισµό ενός συγκεκριµένου είδους ηµεροµηνίας, µπορείτε να επιλέξετε τον τύπο του από το dropdown (κυλιόµενος κατάλογος) κάτω από το textbox, και έπειτα εισάγετε µια τιµή στο textbox.

Εικόνα 15. Data Block.

IF Η δραστηριότητα If παρέχει µια επιλογή των εξόδων για να διαβιβαστεί το

εισερχόµενο µήνυµα βασισµένο σε έναν όρο που εισάγεται. Εάν ο όρος είναι αληθινός, η πρώτη εξερχόµενη σύνδεση υποδέχεται το εισερχόµενο µήνυµα (και τα στοιχεία του). Εάν δεν είναι αληθινό, τότε χρησιµοποιείται η εναλλακτική επιλογή Else.

Εικόνα 16. If Block.

Η υποθετική έκφραση µπορεί να χρησιµοποιήσει τους ακόλουθους τελεστές για αποτίµηση: =or== Equals !=or<> Not equals < Less than > Greater than >= Less than or equals >= Great than or equal

15

Υπάρχει δυνατότητα να χρησιµοποιηθούν οι ίδιοι τελεστές στη δραστηριότητα Calculate, υπό τον όρο ότι ολόκληρη η δήλωση θα αξιολογηθεί σε αληθινός ή ψεύτικος. Επίσης, µπορεί να προστεθούν όροι στη δραστηριότητα µε κλικ στο Add (+) κουµπί του block activity. Join

Η Join δραστηριότητα συνδυάζει τη ροή δύο (ή περισσότερων) ροών πληροφοριών.

Εικόνα 17. Block Join.

Είναι σηµαντικά διαφορετικό από τo Merge στο οποίο τα δεδοµένα των µηνυµάτων

από τις εισερχόµενες συνδέσεις συνδυάζονται και όλα τα µηνύµατα πρέπει να παραληφθούν σε όλες τις εισερχόµενες συνδέσεις πριν η δραστηριότητα περαστεί στα δεδοµένα. Το κείµενο που εισάγεται στα textboxes είναι ονόµατα των τοπικών µεταβλητών που αντιπροσωπεύουν τα µηνύµατα. Μπορεί οι µεταβλητές να χρησιµοποιηθούν άµεσα ή µε διάφορες αναφορές όπως (π.χ. x.a) για παραποµπή σε ένα µέλος στοιχείων (υπόστοιχείων).

List

Η δραστηριότητα List δηµιουργεί έναν κενό κατάλογο στοιχείων.

Εικόνα 18. Block List.

Για τη δηµιουργία ενός καταλόγου, επιλέγετε αρχικά τον τύπο για τα αντικείµενα

(τύπος στοιχείων) από το dropdown του καταλόγου επιλογών στο block δραστηριότητας (ή στο properties view ). Για προσθήκη εισόδων στον κατάλογο, χρησιµοποιείτε το List Functions activity. Για αποθήκευση ενός καταλόγου ώστε να χρησιµοποιηθεί σε άλλο µέρος στο διάγραµµα, δηµιουργείτε µια µεταβλητή καταλόγων µέσω της Variable δραστηριότητας.

List Functions

Η δραστηριότητα List Function επιτρέπει την τροποποίηση ενός υπάρχοντα καταλόγου.

Εικόνα 19. List functions block.

Με χρήση της λίστας dropdown του block επιλέγετε τη λειτουργία που θα

εφαρµοστεί σε έναν κατάλογο.

16

Merge Η δραστηριότητα Merge συγχωνεύει απλά τη ροή δύο (ή περισσότερων)

πληροφοριών από κοινού. ∆εν υπάρχει καµία εξάρτηση στον άλλο κλάδο όταν δίνονται τα µηνύµατα. Ο ρόλος της δραστηριότητας είναι απλά να περαστεί το µήνυµα εµπρός στην επόµενη δραστηριότητα.

Εικόνα 20. Block Merge.

Switch

Η δραστηριότητα Switch µπορεί να χρησιµοποιηθεί για τη δροµολόγηση των µηνυµάτων και βασίζεται στο ότι το εισερχόµενο µήνυµα ταιριάζει µε την έκφραση που εισάγεται στο textbox.

Εικόνα 21. Block Switch.

Παρέχεται η δυνατότητα προσθήκης κλάδων περίπτωσης Case branches (όροι

αντιστοιχιών) στο block δραστηριότητας µε κλικ στο Add (+) κουµπί της block δραστηριότητας.

Variable

Η δραστηριότητα Variable επιτρέπει τη δηµιουργία µιας µεταβλητής για την οποία τίθεται ή λαµβάνεται η αξία της.

Εικόνα 22. Block Variable.

Μια µεταβλητή επιλέγεται από το dropdown κατάλογο που εµφανίζεται µε κλικ στο

drop κουµπί που βρίσκεται δίπλα στο textbox. Εάν δεν έχει καθοριστεί η µεταβλητή ή επιθυµείτε τη δηµιουργία µιας νέας µεταβλητής, επιλέγετε το Define Variables από τον κατάλογο (ή από το Edit µενού). Αυτό θα εµφανίσει το Define Variables dialog box όπου παρέχεται η δυνατότητα προσθήκης µιας µεταβλητής και ο καθορισµός του τύπου της. Οι τύποι µεταβλητών περιλαµβάνουν τους τύπους καταλόγων.

Τα ονόµατα µεταβλητών διακρίνονται σε κεφαλαία και µικρά. Έτσι κατά την παραποµπή µιας µεταβλητής πρέπει να δίνετε ιδιαίτερη προσοχή ώστε να χρησιµοποιείτε η σωστή κάθε φορά. Τα ονόµατα πρέπει επίσης να αρχίσουν µε ένα γράµµα και να περιλάβουν µόνο τους αλφαριθµητικούς χαρακτήρες.

Οι δραστηριότητες variable είναι απλά κατασκευάσµατα που υποστηρίζουν µια σύνδεση GetValue (για να πάρει την αξία του) καθώς επίσης και µια σύνδεση SetValue (για να θέσει την αξία του). Κατά τη χρησιµοποίηση της σύνδεσης SetValue, η σύνδεση εξόδου της δραστηριότητας περνά επίσης τη µεταβλητή σε εξερχόµενη σύνδεση.

17

Οι Υπηρεσίες του LEGO MINDSTORMS NXT

Εισαγωγή

Οι νέες υπηρεσίες LEGO MINDSTORMS NXT έχουν σχεδιαστεί για να χρησιµοποιηθούν στην γλώσσα προγραµµατισµού Visual Programming Language.

Εικόνα 23. Το παράθυρο της γλώσσας VPL παρουσιάζοντας τη χρήση υπηρεσιών LEGO

MINDSTORMS NXT.

Περίληψη των υπηρεσιών

Αυτές οι υπηρεσίες είναι εύκολο να διαµορφωθούν και να παρέχουν µια επεκτάσιµη αρχιτεκτονική έτσι ώστε να µπορούν να προστεθούν οποιαδήποτε στιγµή αισθητήρες.

Οι υπηρεσίες που παρέχονται περιλαµβάνουν µηχανές (motors) και αισθητήρες για τις τυποποιηµένες συσκευές NXT καθώς επίσης και µερικά παραδείγµατα αισθητήρων διαθέσιµων από HiTechnic και MindSensors.

∆ιαµόρφωση υπηρεσίας Brick (Brick Service Configuration)

Αρχικά σύρεται η "Brick υπηρεσία Lego NXT (v2)" προς την επιφάνεια VPL, κατόπιν επιλέγετε "set initial configuration" και αλλάζει το Serial Port (σειριακή θύρα) ανάλογα µε την περίπτωση για τη σύνδεση µε το Bluetooth.

18

Εικόνα 24. Το παράθυρο της γλώσσας VPL παρουσιάζοντας τη χρήση υπηρεσίας ΝΧΤ Βrick.

Αυτό το «πακέτο» υποστηρίζει την τρέχουσα σύνδεση Bluetooth στο NXT brick, και

µια προεπιλογή BaudRate 0 (µηδέν) θα συνδεθεί στο κατάλληλο Rate. Με την επιλογή "ShowInBrowser" η αλληλεπίδραση του χρήστη για την υπηρεσία

LEGO NXT θα ανοίγει σε έναν web browser κάθε φορά που θα αρχίζει η υπηρεσία. Αυτό είναι χρήσιµο για τη διαµόρφωση και την κατάσταση των συσκευών που συνδέονται µε το NXT Brick.

Οι υπηρεσίες πιο αναλυτικά

Το πακέτο LEGO MINDSTORMS NXT έχει τρεις µηχανές και τέσσερις αισθητήρες. Όλες αυτές οι συσκευές συνδέονται µε NXT Brick και µοιράζονται µερικές κοινές ρυθµίσεις διαµόρφωσης.

Η ρύθµιση partners

Όταν χρησιµοποιούνται περισσότερα από ένα LEGO NXT Brick, αυτή η ρύθµιση αναγνωρίζει το brick µε το οποίο αυτή η συσκευή είναι συνδεµένη.

Εικόνα 25. Το παράθυρο Properties παρουσιάζοντας την επιλογή ΝΧΤ Βrick στα δεξιά και brick

στα αριστερά αντίστοιχα.

19

Η ονοµασία των συσκευών

Οι ίδιες συσκευές µπορούν να ονοµαστούν. Εάν µπορούν να συνδεθούν δύο συσκευές του ίδιου είδους µε ένα NXT brick, η συσκευή θα έχει µια ιδιότητα ονόµατος (Name property) έτσι ώστε να διακρίνονται µεταξύ τους.

Θύρες µηχανών και αισθητήρων

Το NXT Brick έχει τρεις θύρες µηχανών (MotorA, MotorB, MotorC και τέσσερις θύρες αισθητήρων (sensor1-4). Όλες οι εξωτερικές συσκευές για το NXT συνδέονται µε µία από αυτές τις θύρες.

Εικόνα 26. Η επιλογή των τριών θυρών µηχανών και των τεσσάρων αισθητήρων του ΝΧΤ Βrick.

Συχνότητα καταγραφής

Οι περισσότεροι αισθητήρες έχουν την ικανότητα της αποστολής ανακοινώσεων ή των αναπροσαρµογών καθώς η τιµή τους αλλάζει. Αυτό επιτυγχάνεται µε την συχνή επαφή µε το NXT brick και του αισθητήρα. Η συχνότητα καταγραφής επιτρέπει τη διαµόρφωση του πόσο συχνά θα γίνεται αυτό σε κάθε αισθητήρα.

Στις περισσότερες περιπτώσεις, αφήνεται η προεπιλεγµένη συχνότητα καταγραφής που είναι καθορισµένη στο 0. Μπορεί να υπάρξουν στιγµές όπου θα επιθυµείται η λήψη µίας «ανάγνωσης» του αισθητήρα συχνότερα. Σε αυτήν την περίπτωση, µπορεί να ρυθµιστεί η συχνότητα καταγραφής, η οποία µετριέται σε χιλιοστά του δευτερολέπτου.

Εικόνα 27. H συχνότητα καταγραφής Polling FrequencyMs ρυθµισµένη στην τιµή 0.

Για τους κωδικοποιητές µηχανών, την αφή, τον ήχο, και τους αισθητήρες φωτός,

χρειάζεται περίπου 65ms για να διαβαστούν από τον αισθητήρα. Για τον Ultrasonic αισθητήρα και άλλες συσκευές όπως ο αισθητήρας HiTechnic Acceleration ή ο αισθητήρας MindSensors Compass θα χρειαστούν γύρω στα 200ms. Ρυθµίζοντας την τιµή πολύ χαµηλή δεν θα βλάψει το ροµπότ, αλλά εάν η συχνότητα καταγραφής διαµορφωθεί πολύ χαµηλή για διάφορους αισθητήρες θα γεµίσει το NXT brick µε τα αιτήµατα, και θα είναι πιο αργός να ανταποκριθεί σε όλα τα αιτήµατα αισθητήρων.

Όταν ρυθµίζεται η συχνότητα καταγραφής για έναν αισθητήρα πρέπει να τεθεί η συχνότητα καταγραφής στα 50ms ή λιγότερο. Η χρησιµοποίηση µιας τιµής των 50 ή λιγότερο

20

δείχνει στο σύστηµα ότι θα δοθεί προτεραιότητα σε αυτήν την συσκευή, ακόµα κι αν σηµαίνει ότι θα λειτουργήσουν πιο αργά άλλοι αισθητήρες. Είναι καλύτερο να τεθεί εκτός λειτουργίας η καταγραφή για οποιουσδήποτε αισθητήρες που δεν χρησιµοποιούνται (µε τη ρύθµιση τους σε -1), ή να ρυθµιστούν σε 500 ή υψηλότερα έτσι ώστε να λαµβάνονται περισσότερες «αναγνώσεις» αλλά συνολικά το NXT µπορεί να εστιάσει στα αιτήµατα από τον αρχικό αισθητήρα.

Υπηρεσία κίνησης (Motor service)

Οι µηχανές µπορούν να ελεγχθούν χωριστά ή ως ζευγάρι κίνησης. Οι κωδικοποιητές ενσωµατώνονται και στις συσκευές µηχανών και κίνησης, και προσδιορίζουν πόσους βαθµούς η µηχανή έχει περιστραφεί (360 βαθµοί = 1 περιστροφή). Παρακάτω παρουσιάζονται οι επεξηγήσεις µερικών επιλογών του παράθυρου Properties:

Εικόνα 28. ∆ιάφορες επιλογές του παραθύρου Properties, όπως το Reserve Polarity, Motor Port,

Polling Frequency Ms.

• Reverse Polarity: Το ReversePolarity δείχνει την κατεύθυνση (πολικότητα) της µηχανής. Η ενεργοποίηση αυτής της επιλογής (ή ρύθµισή του σε αληθινό= true) αντιστρέφει την κατεύθυνση της µηχανής.

• MotorPort: Προσδιορίστε τη θύρα (Α, Β, C) στην οποία η µηχανή έχει συνδεθεί. Εάν διαµορφώσετε τη µηχανή µε το AnyMotorPort , η υπηρεσία motor θα συνδεθεί µε τον πρώτη διαθέσιµη θύρα µηχανών. Polling Frequency Ms: Αυτή η ιδιότητα διευκρινίζει τη συχνότητα από την οποία οι κωδικοποιητές καταγράφονται:

Tιµή Περιγραφή 0 Προεπιλεγµένη ρύθµιση -1 Η καταγραφή κωδικοποιητών είναι εκτός λειτουργίας >0 ζητούµενη καταγραφή σε χιλιοστά του δευτερολέπτου

Η υπηρεσία Drive

Για να δουλεύει κατάλληλα η υπηρεσία Drive, θα χρειαστεί να διαµορφωθεί η συσκευή αυτή για να ταιριάξει µε τις προδιαγραφές του ροµπότ που έχουν δηµιουργηθεί.

21

Εικόνα 29. ∆ιάφορες επιλογές του παραθύρου Properties όπου µπορούµε να τροποποιήσουµε

ανάλογα µε το τι θέλουµε.

• Απόσταση µεταξύ τροχών και διάµετρος τροχών Θα πρέπει να µετρηθεί η διάµετρος κάθε τροχού και η απόσταση µεταξύ των τροχών.

Αυτό θα επιτρέψει στην υπηρεσία να ξέρει πώς να περιστραφεί ή να διανύσει µια συγκεκριµένη απόσταση.

Εικόνα 30. Απεικόνιση απόστασης µεταξύ δύο τροχών.

Σηµείωση: Στο Microsoft Robotics Studio οι µετρήσεις είναι πάντα καταγεγραµµένες σε µέτρα. Για το LEGO MINDSTORMS NXT αυτό σηµαίνει ότι οι µετρήσεις θα γίνουν σε χιλιοστόµετρα και οι κινήσεις θα γίνουν µε το δεκαδικό µέρος τρεις θέσεις προς τα αριστερά. Παραδείγµατος χάριν, έστω ότι οι τροχοί µετρήθηκαν περίπου 55 χιλιοστόµετρα από την κορυφή έως την µέση. Όταν µετατρέπετε αυτό σε µέτρα, έχουµε την τιµή 0,055.

• Αριστερός και δεξής τροχός µηχανής ∆ιαµόρφωση της κίνησης προσδιορίζοντας ποιος τροχός έχει συνδεθεί και µε ποια θύρα µηχανής.

• Αντιστροφή δύναµης (ReversePolarity) Ανάλογα µε το πώς έχει τοποθετηθεί η µηχανή, µπορεί να κινηθεί προς τα πίσω όταν εφαρµόζετε µια θετική δύναµη σε αυτό. Εάν αυτό συµβαίνει, πρέπει να επιλεγεί το box ReversePolarity.

• PollingFrequencyMs

22

Οι εντολές drivedistance και rotate degrees θέτουν σε λειτουργία τις µηχανές έως ότου αυτές έχουν διανύσει µια ορισµένη απόσταση. Αυτές οι εντολές χρησιµοποιούν τους κωδικοποιητές που ενσωµατώνονται στις µηχανές για να ξέρουν πότε να σταµατήσουν. Εάν δεν επιθυµείτε τη χρήση κωδικοποιητών ή αυτών των εντολών τότε πρέπει να ρυθµιστεί η PollingFrequencyMs σε -1.

Υπηρεσίες Light Sensor

Σε αντίθεση µε τις ρυθµίσεις που περιγράφονται στο DeviceServices, η υπηρεσία Light Sensor LEGO MINDSTORMS NXT έχει επιπλέον τη ρύθµιση IsON ο Light Sensor έχει ένα σηµειακό προβολέα που µπορεί να ελεγχθεί από την υπηρεσία. Με τη ρύθµιση "IsOn" στη διαµόρφωση, ο σηµειακός προβολέας θα ενεργοποιηθεί όταν ξεκινήσει η Light Sensor υπηρεσία

Εικόνα 31. Απεικόνιση ρύθµιση IsON στο παράθυρο Properties.

23

ΒΙΒΛΙΟΓΡΑΦΙΑ Το κείµενο έχει ως βασική αναφορά την παρακάτω πτυχιακή εργασία: http://nefeli.lib.teicrete.gr/browse/stef/epp/2010/KontogeorgakosSpyridon,LoutaPanagiotaVasiliki/attached-document-1271671080-789982-12263/Kontogeorgakos2010.pdf και στο διαδίκτυο: http://www.microsoft.com/robotics/ http://msdn.microsoft.com/en-us/library/bb648760 http://msdn.microsoft.com/en-us/library/bb870550.aspx

ΤΕΙ ΚΑΒΑΛΑΣ – ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΦΑΡΜΟΓΕΣ 1-10

LEGO MINDSTORMS ΝΧΤ-G

ΠΑΡΑΡΤΗΜΑ ΙΙΙ

Φ.ΑΜΠΛΑ – Ε.ΠΑΙΔΑΡΑΚΗ

6/16/2011

2

ΠΕΡΙΕΧΟΜΕΝΑ

1η Εφαρµογή:..................................................................................................................3 Γνωριµία µε την πλακέτα................................................................................................3 2η Εφαρµογή ...................................................................................................................4 Πρώτη γνωριµία µε το ροµπότ........................................................................................4 3η Εφαρµογή ...................................................................................................................5 Γνωριµία µε τον αισθητήρα υπερήχων ...........................................................................5 4η Εφαρµογή ...................................................................................................................7 Γνωριµία µε τον αισθητήρα χρώµατος ...........................................................................7 5η Εφαρµογή ...................................................................................................................9 Γνωριµία µε τον αισθητήρα αφής ...................................................................................9 6η Εφαρµογή .................................................................................................................11 Γνωριµία µε τις επαναλήψεις (loop block) ...................................................................11 7η Εφαρµογή .................................................................................................................13 Συνδυαστικές ασκήσεις.................................................................................................13 8η Εφαρµογή .................................................................................................................15 Συνδυαστικές ασκήσεις.................................................................................................15

9η Εφαρµογή .................................................................................................................18 Συνδυαστικές ασκήσεις.................................................................................................18 10η Εφαρµογή ...............................................................................................................28 Συνδυαστικές ασκήσεις.................................................................................................28

Η παρουσίαση των ασκήσεων έχει βασιστεί στο πρότυπο του κ.Καθ Δ.

Πογαρίδη που έχει αναπτυχθεί στα πλαίσια της Πλατφόρμας

Εκπαιδευτικής Ρομποτικής του ΚΤΕ ΑΜΘ – ΤΕΙ ΚΑΒΑΛΑΣ.

3

1η Εφαρµογή:

Γνωριµία µε την πλακέτα Σκοπός: Σκοπός της εφαρµογής αυτής είναι να µάθουν να χρησιµοποιούν την βασική παλέτα. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό LEGO MINDSTROMS NXT-G και ηλεκτρονικό υπολογιστή. Εφαρµογή 1.1 Για να είστε σε θέση να προγραµµατίζετε, πρέπει να ξέρετε τι επιλογές έχετε. Όλες οι επιλογές αυτές εµφανίζονται ως κουµπιά. Συµπληρώστε παρακάτω την λειτουργία του κάθε κουµπιού:

……………………………………………………………. ……………………………………………………………. …………………………………………………………..... ……………………………………………………………. ……………………………………………………………. ……………………………………………………………. …………………………………………………………….

4

2η Εφαρµογή

Πρώτη γνωριµία µε το ροµπότ Σκοπός: Σκοπός της εφαρµογής αυτής είναι να µάθουν να χρησιµοποιούν την βασική παλέτα. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό LEGO MINDSTROMS NXT-G και ηλεκτρονικό υπολογιστή. Εφαρµογή 2.1 Να κάνετε το ροµπότ να στρίψει δεξιά κατά 1 περιστροφή(rotation). Πρόγραµµα: Για την διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα δύο µπλοκ µετακίνησης(move block).

(α) Με την move το ροµπότ πηγαίνει ευθεία µε δύναµη 75%.

(β)

Εδώ κάνει µια περιστροφή προς τα δεξιά.

5

3η Εφαρµογή

Γνωριµία µε τον αισθητήρα υπερήχων Σκοπός: Σκοπός της εφαρµογής αυτής είναι να µάθουν να χρησιµοποιούν τον αισθητήρα υπερήχων. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό LEGO MINDSTROMS NXT-G και ηλεκτρονικό υπολογιστή. Εφαρµογή 3.1 Να κάνετε το ροµπότ να προχωράει ευθεία µε δύναµη 75% και απεριόριστη διάρκεια µέχρι να βρει ένα εµπόδιο σε απόσταση µεγαλύτερη 10cm και µόλις το βρει να σταµατήσει. Πρόγραµµα: Για την διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα δύο µπλοκ µετακίνησης(move block) και ένα µπλοκ αναµονής αισθητήρα υπερήχων(wait block).

(α) Με την move ξεκινάει να κινείται το ροµπότ αφού το ρυθµίσουµε ανάλογα µε το τι θέλουµε να κάνουµε. Στην συγκεκριµένη περίπτωση µε τους κινητήρες A και C του λέµε να πηγαίνει ευθεία µε δύναµη 75% και απεριόριστη διάρκεια.

6

(β)

Εδώ χρησιµοποιούµε τον αισθητήρα υπερήχων, ο οποίος δίνει την δυνατότητα στο ροµπότ να εντοπίζει εµπόδια, παίρνοντας την επιλογή wait περιµένει να εντοπίσει κάποιο σε απόσταση µεγαλύτερη των 10cm.

(γ) Μόλις το εντοπίσει σταµατά.

7

4η Εφαρµογή

Γνωριµία µε τον αισθητήρα χρώµατος Σκοπός: Σκοπός της εφαρµογής αυτής είναι να µάθουν να χρησιµοποιούν τον αισθητήρα χρώµατος. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό LEGO MINDSTROMS NXT-G και ηλεκτρονικό υπολογιστή. Εφαρµογή 4.1 Να κάνετε το ροµπότ να πηγαίνει ευθεία µε δύναµη 75% και απεριόριστο χρόνο µέχρι να εντοπίσει κόκκινο χρώµα σε κάποιο αντικείµενο, αφού το εντοπίσει να σταµατήσει. Πρόγραµµα: Για τη διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα δύο µπλοκ µετακίνησης(move block) και ένα µπλοκ αναµονής αισθητήρα χρώµατος(wait block).

(α) Προχωρά ευθεία µε δύναµη 75% και χρόνο απεριόριστο µέχρι να εντοπίσει κόκκινο

χρώµα.

8

(β)

Περιµένει µέχρι ο αισθητήρας χρώµατος εντοπίσει κόκκινο χρώµα.

(γ) Μόλις το εντοπίσει σταµατά.

9

5η Εφαρµογή

Γνωριµία µε τον αισθητήρα αφής Σκοπός: Σκοπός της εφαρµογής αυτής είναι να µάθουν να χρησιµοποιούν τον αισθητήρα αφής. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό LEGO MINDSTROMS NXT-G και ηλεκτρονικό υπολογιστή. Εφαρµογή 5.1 Να κάνετε το ροµπότ να πηγαίνει ευθεία µε δύναµη 75% και χρόνο απεριόριστο µέχρι να βρει ο αισθητήρας αφής ένα αντικείµενο και ενεργοποιηθεί ο αισθητήρας 1,αφού το βρει να κάνει όπισθεν µε µια κλίση προς τα δεξιά για 1 δευτερόλεπτο και να σταµατήσει. Πρόγραµµα: Για τη διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα ένα µπλοκ επανάληψης(loop block), ένα µπλοκ αναµονής µε αισθητήρα αφής (wait block), και δύο µπλοκ µετακίνησης(move block).

(α)

Χρησιµοποιούµε την loop για ένα συγκεκριµένο αριθµό επαναλήψεων.

10

(β)

Χρησιµοποιούµε την move παίρνοντας τους κινητήρες B,C µε δύναµη 75% και χρόνο

απεριόριστο.

(γ)

Η wait περιµένει µέχρι να πατηθεί ο αισθητήρας αφής, ο οποίος εντοπίζει την επαφή µε κάποιο αντικείµενο και ενεργοποιεί τον αισθητήρα 1.

(δ) Με αυτή την move του λέµε µόλις έρθεις σε επαφή µε κάποιο αντικείµενο κάνει

όπισθεν µε κάποια κλίση και δύναµη 75% για 1 δευτερόλεπτο.

11

6η Εφαρµογή

Γνωριµία µε τις επαναλήψεις (loop block) Σκοπός: Σκοπός της εφαρµογής αυτής είναι να µάθουν να χρησιµοποιούν τις επαναλήψεις και τον αισθητήρα αφής. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό LEGO MINDSTROMS NXT-G και ηλεκτρονικό υπολογιστή. Εφαρµογή 6.1 Καταρχήν το πρόγραµµα θα εµπεριέχεται σ’ ένα ατέλειωτο βρόγχο που θα επαναλαµβάνεται ξανά και ξανά. Στη συνέχεια να κάνετε το ροµπότ να πηγαίνει ευθεία µε δύναµη 100% και χρόνο απεριόριστο µέχρι να πιεστεί ο αισθητήρας αφής και αφού πιεστεί να κάνει όπισθεν για 0.5 δευτερόλεπτα και στη συνέχεια µία δεξιά στροφή. Πρόγραµµα: Για τη διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα ένα µπλοκ επανάληψης(loop block), ένα µπλοκ αναµονής µε αισθητήρα αφής (wait block), και τρία µπλοκ µετακίνησης(move block).

(α)

12

Όλο το πρόγραµµα εµπεριέχεται σένα ατέλειωτο βρόγχο έτσι ώστε να επαναλαµβάνεται ξανά και ξανά.

(β)

Με αυτήν την move πηγαίνει ευθεία.

(γ)

Περιµένει µέχρι ο αισθητήρας αφής πιεστεί.

(δ)

Επιστρέφει για λίγο.

(ε)

Κάνει µία δεξιά στροφή και ο βρόγχος επαναλαµβάνεται.

13

7η Εφαρµογή

Συνδυαστικές ασκήσεις Σκοπός: Σκοπός της εφαρµογής αυτής είναι να χρησιµοποιήσουν οι µαθητές όσα περισσότερα έχουνε µάθει για περισσότερη εµπέδωση. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό LEGO MINDSTROMS NXT-G και ηλεκτρονικό υπολογιστή. Εφαρµογή 7.1 Να φτιάξετε ένα πρόγραµµα κατάλληλα ώστε το ροµπότ µε τη βοήθεια των ειδικών τµηµάτων συναρµολόγησης (κοµµατιών) να δηµιουργεί µια θήκη υποδοχής για τα µικρά µπαλάκια που περιλαµβάνονται στη συσκευασία του NXT 2 ώστε για τη χρήση ενός µοτέρ και το πάτηµα του κεντρικού πλήκτρου (πορτοκαλί κουµπί)να εκσφενδονίζει ένα µπαλάκι τη φορά. Πρόγραµµα: Για τη διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα ένα µπλοκ επανάληψης(loop block), ένα µπλοκ αναµονής πλήκτρου NXT (wait block), ένα µπλοκ κινητήρα(motor block) και ένα µπλοκ εµφάνισης(display block).

(α)

14

(β)

(γ)

(δ)

(ε)

Στην αρχή έχουµε δύο οθόνες που µας δίνουν οδηγίες για το πώς θα πετάξουµε µπάλες και στην συγκεκριµένη περίπτωση µας ενηµερώνει ότι πρέπει να πατήσουµε το button ENTER από το NXT2 κάθε φορά που θέλουµε να πετάξουµε µία µπάλα. Στην συνέχεια έχουµε ένα ατέρµων βρόγχο ο οποίος περιέχει µια wait όπου περιµένει κάθε φορά το πάτηµα του button για να ξεκινήσει η δραστηριότητα και στο τέλος περιστρέφετε ο ballshooter για να «πυροβολήσει» µία µπάλα.

15

8η Εφαρµογή

Συνδυαστικές ασκήσεις Σκοπός: Σκοπός της εφαρµογής αυτής είναι να χρησιµοποιήσουν οι µαθητές όσα περισσότερα έχουνε µάθει για περισσότερη εµπέδωση. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό LEGO MINDSTROMS NXT-G και ηλεκτρονικό υπολογιστή. Εφαρµογή 8.1 Να φτιάξετε ένα πρόγραµµα κατάλληλα ώστε το ροµπότ µε τη βοήθεια του αισθητήρα χρώµατος να ακολουθεί µια χρωµατισµένη (µαύρη) γραµµή. Πρόγραµµα: Για την διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα ένα µπλοκ επανάληψης(loop block), ένα µπλοκ επιλογής από αισθητήρα (switch block with colour sensor), και τρία µπλοκ κινητήρα(motor block).

16

(α)

(β)

(γ)

(δ)

(ε)

17

(ζ)

Σε έναν ατέλειωτο βρόγχο, ενεργοποιούµε επανειληµµένα τον αισθητήρα χρώµατος και κάνουµε δοκιµές για να δούµε αν είναι µεγαλύτερη από ένα όριο. Αυτό το όριο θα πρέπει να το ρυθµίσουµε ώστε να είναι περίπου στα µισά του δρόµου µεταξύ της αναµενόµενης ελάχιστης ανάγνωσης κοντά στο κέντρο της γραµµής και το µέγιστο πάνω από το ανοιχτόχρωµο δάπεδο. Με το όριο κατά το µέσο όρο των δύο αριθµών, το ροµπότ θα αναζητήσει το δεξί άκρο της γραµµής, όπου ο αισθητήρας βλέπει τη µισή περίπου γραµµή και πάτωµα. Αν η µέτρηση είναι µεγαλύτερη του ορίου και το ροµπότ είναι στα δεξιά θα κάνει µια αριστερή στροφή για να το διορθώσει, µε το C πηγαίνει πιο γρήγορα και το Β πιο αργά. Αν η µέτρηση είναι µικρότερη από το όριο τότε το ροµπότ είναι πολύ πιο πάνω από το κέντρο της γραµµής, έτσι θα το διορθώσει µε µια δεξιά στροφή, µε το B πάει πιο γρήγορα και µε το C πιο αργά. Το τεστ του αισθητήρα και της διόρθωσης επαναλαµβάνεται γρήγορα µέσα στο βρόγχο. Τρία πράγµατα σε αυτό το πρόγραµµα µπορούµε εύκολα να προσαρµόσουµε για να ρυθµίσουµε το ροµπότ και τις συνθήκες οδήγησης:

1. Οριακή τιµή φωτός: Θέτουµε το µπλοκ του αισθητήρα χρώµατος για να συγκρίνουµε τον αριθµό µε το µέσο όρο των min και max που αναµένεται να πάρουµε από τις αναγνώσεις φωτός. Αυτό θα ρυθµίσει το πρόγραµµα στην πραγµατική φωτεινότητα της επιφάνειας στο δωµάτιο που χρησιµοποιούµε.

2. Μέγιστη ταχύτητα: Στα δύο γρήγορα µπλοκ του κινητήρα, το επίπεδο

δύναµης καθορίζει τη µέγιστη ταχύτητα του ροµπότ. Εάν η µέγιστη ταχύτητα είναι πάρα πολύ υψηλή, το ροµπότ θα χάσει τις κλειστές στροφές.

3. Κλειστή στροφή: Κατά τα δύο αργά µπλοκ κινητήρα, το επίπεδο που

χρησιµοποιεί δύναµη καθορίζει το πόσο καλά το ροµπότ είναι σε θέση να γυρίσει. Χαµηλότερη ισχύ θα επιτρέπουν στο ροµπότ να λαµβάνει αυστηρότερες στροφές, ενώ η υψηλότερη ισχύ θα επιτρέπει την ταχύτερη και πιο οµαλή οδήγηση πάνω στα ίσια τµήµατα της γραµµής.

18

9η Εφαρµογή

Συνδυαστικές ασκήσεις Σκοπός: Σκοπός της εφαρµογής αυτής είναι να χρησιµοποιήσουν οι µαθητές όσα περισσότερα έχουνε µάθει για περισσότερη εµπέδωση. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό LEGO MINDSTROMS NXT-G και ηλεκτρονικό υπολογιστή. Εφαρµογή 9.1 Να κατασκευάσετε σύµφωνα µε το εγχειρίδιο ένα ροµπότ ασταθούς ισορροπίας µε δύο ρόδες. Να φτιάξετε ένα πρόγραµµα κατάλληλα ώστε το ροµπότ να ισορροπεί σε όρθια στάση στις δύο ρόδες κινώντας τις δεξιόστροφα ή αριστερόστροφα προκειµένου να διατηρήσει την «όρθια στάση» µε την βοήθεια του αισθητήρα χρώµατος-φωτός για την ανίχνευση της κλίσης. Πρόγραµµα: Για την διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα, δεκαοχτώ µπλοκ µεταβλητής(variable block), ένα µπλοκ αναµονής για τον χρόνο (wait bllock), δύο µπλοκ ήχου (sound block), τρία µπλοκ κινητήρα (motor block), δύο µπλοκ επανάληψης (loop block), ένα µπλοκ εύρους αριθµών (range block), ένα µπλοκ σύγκρισης (compare block), οχτώ µπλοκ µαθηµατικών πράξεων (math block), δύο αισθητήρες χρώµατος(color sensor).

19

Το παραπάνω πρόγραµµα χρησιµοποιεί PID ελεγκτή ο οποίος ρυθµίζει συνεχώς την δύναµη του κινητήρα για τους τροχούς και αντιµετωπίζει το σφάλµα που υπολογίζεται από τον αισθητήρα φωτός.

(α)

(β)

(γ)

20

Αυτές οι τρεις µεταβλητές είναι οι τρεις PID σταθερές κέρδους. Μπορούµε να τις ρυθµίζουµε από εδώ:

• Kp=αναλογικό κέρδος • Ki=ολοκληρωτικό κέρδος • Kd=διαφορικό κέρδος

(α)

(β)

(γ)

(δ) Στη συνέχεια έχουµε µια loop. Σταµατάµε την µηχανή για να ισορροπήσουµε το ροµπότ, ακούµε ένα ηχητικό σήµα 3 φορές πάνω από 3 δευτερόλεπτα έτσι ώστε ο χρήστης να στήσει το ροµπότ σε τέλεια ευθεία.

21

(α)

(β)

(γ)

Λαµβάνετε µια πρώτη ανάγνωση από τον αισθητήρα χρώµατος για να καθοριστεί το πόσο φως απεικονίζεται µακριά της επιφάνειας όταν το ροµπότ είναι όρθιο, κατόπιν ένα ηχητικό σήµα επισηµαίνει στον χρήστη ότι το ροµπότ είναι έτοιµο να ισορροπήσει.

(α)

(β) Προετοιµάζει τις δύο PID µεταβλητές ελέγχου που µεταβάλλονται µε την πάροδο του

χρόνου, και οι δύο ξεκινάνε µε µηδέν.

22

Στη συνέχεια έχουµε τον κύριο βρόγχο PID ελεγκτή, είναι ένας βρόγχος που υπολογίζει ένα λάθος από τον αισθητήρα χρώµατος, υπολογίζει τα τρία τµήµατα απάντησης και τα υπόλοιπα τα αθροίζει για να πάρει την τελική αξία απάντησης σε ισχύ κινητήρα και τα εφαρµόζει και στους δύο κινητήριους τροχούς.

(α)

(β)

(γ)

(δ)

Λαµβάνεται µια ανάγνωση από τον αισθητήρα χρώµατος σε λειτουργία του αισθητήρα φωτός, αφαιρούµε το µέσο, που είναι η αρχική ευθεία µέχρι την ανάγνωση και αποθηκεύουµε το αποτέλεσµα στην µεταβλητή λάθους. Όταν το ροµπότ γύρει προς την µπροστινή κατεύθυνση , ο αισθητήρας χρώµατος θα φτάσει πιο κοντά στην επιφάνεια και θα λάβει περισσότερο απεικονισµένο φως, το οποίο θα οδηγήσει σε θετικό λάθος. Αν γύρει προς τα πίσω θα οδηγήσει σε αρνητικό λάθος.

23

Λάθος = ανακλώµενο φως –µέσο

(α)

(β)

(γ)

Υπολογίζουµε το ολοκλήρωµα του σφάλµατος, που είναι το άθροισµα όλων των σφαλµάτων µε την πάροδο του χρόνου.

Ολοκλήρωµα = Ολοκλήρωµα+ Σφάλµα

(α)

(β)

24

(γ)

Υπολογίζουµε την παράγωγο του σφάλµατος, η οποία είναι η διαφορά µεταξύ του τρέχοντος σφάλµατος και το προηγούµενο σφάλµα από την τελευταία φορά µέσα

στον βρόγχο.

Παράγωγος = Σφάλµα – Προηγούµενο Σφάλµα

(α)

(β)

Υπολογίζουµε το παράγωγο συστατικό της απάντησης, η οποία είναι το παράγωγο λάθος που πολλαπλασιάζετε µε το διαφορικό κέρδος.

Kd * Παράγωγο

(α)

25

(β)

Υπολογίζουµε το ολοκληρωτικό στοιχείο, που είναι το ολοκλήρωµα λάθους επί το ολοκληρωτικό κέρδος.

(α)

Προσθέτουµε τα ολοκληρωµένα και παράγωγα στοιχεία.

(α)

(β)

(γ)

26

(δ)

Υπολογίζουµε το ανάλογο συστατικό της απάντησης, που είναι το τρέχον λάθος το οποίο πολλαπλασιάζετε µε το αναλογικό κέρδος και να θέσει το προηγούµενο σφάλµα στο τρέχον για τη χρήση του την επόµενη φορά µέσω του βρόγχου.

(α)

(β)

(γ)

(δ)

27

Υπολογίζουµε το άθροισµα και των τριών τµηµάτων απάντησης και το χρησιµοποιούµε ως δύναµη και για τους δύο κινητήρες κίνησης. Συγκρίνουµε την δύναµη µε το µηδέν ώστε να µπορέσουµε να πάρουµε την κατεύθυνση . Το µπλοκ του κινητήρα θα λάβει την απόλυτη τιµή της δύναµης που συνδέεται µε καλώδιο.

(α)

Αυτός ο έλεγχος βλέπει εάν η υπολογισµένη απάντηση είναι έξω από τη σειρά των λογικών τιµών. Σε αυτή την περίπτωση, το ροµπότ θα χάσει τον έλεγχο και θα πέσει κάτω, τέλος ο βρόγχος, ο οποίος θα τελειώσει έπειτα το πρόγραµµα.

28

10η Εφαρµογή

Συνδυαστικές ασκήσεις Σκοπός: Σκοπός της εφαρµογής αυτής είναι να χρησιµοποιήσουν οι µαθητές όσα περισσότερα έχουνε µάθει για περισσότερη εµπέδωση. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό LEGO MINDSTROMS NXT-G και ηλεκτρονικό υπολογιστή. Εφαρµογή 10.1 Να κατασκευάσετε σύµφωνα µε το εγχειρίδιο ένα κινούµενο ροµπότ µε επεκτεινόµενο-αναδιπλούµενο βραχίονα που καταλήγει σε «γαµψό νύχι». Να φτιάξετε ένα πρόγραµµα κατάλληλα ώστε το ροµπότ µε τη βοήθεια του αισθητήρα υπερήχων να εντοπίζει το προς αναχαίτιση αντικείµενο, να τοποθετείται σε κατάλληλη απόσταση από το αντικείµενο, να ξεδιπλώνει το βραχίονα και να χτυπά το αντικείµενο µε το «γαµψό νύχι». Πρόγραµµα: Για την διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα, τέσσερα µπλοκ αναµονής χρόνου και δύο µπλοκ αναµονής για τον αισθητήρα υπερήχων(wait bllock), πέντε µπλοκ ήχου (sound block), εφτά µπλοκ κινητήρα (motor block), δύο µπλοκ επανάληψης (loop block), τρία µπλοκ µεταβλητής (variable block), ένα µπλοκ εύρους αριθµών (range block), δύο µπλοκ αισθητήρων περιστροφής(rotation block), ένα µλποκ σύγκρισης (compare block), ένα µπλοκ µαθηµατικών πράξεων (math block), έναν αισθητήρα επιλογής (switch block), τρία µπλοκ αισθητήρα υπερήχων(ultrasonic sensor) δύο µπλοκ κίνησης(move block).

29

(α)

(β)

(γ)

30

(δ)

(ε)

(ζ)

(η)

(θ)

Έχουµε 3 προειδοποιήσεις και τις παύσεις ώστε να δώσει χρόνο στους χρήστες να πάρουν το εµπόδιο από την µέση. Ενεργοποιούνται οι δύο αισθητήρες B και C µε

αντίθετες κατευθύνσεις. Η διάρκεια θα είναι απεριόριστη, γιατί το µοτέρ θα επιλέξει παρακάτω πότε να σταµατήσει µε βάση τις µετρήσεις του αισθητήρα.

31

(α)

(β)

(γ)

(δ)

(ε)

32

(ζ)

Όπως φαίνεται στην εικόνα ρυθµίζεται ένας ατέρµων βρόγχος. Αυτός ο βρόγχος θα περιµένει µέχρι ο αισθητήρας δει κάτι σε απόσταση 10 µε 60 cm. Το µπλοκ του αισθητήρα διαβάζει την τιµή σε cm και την αποθηκεύει σε µεταβλητή µε όνοµα cm, στην συνέχεια την τροφοδοτεί στο µπλοκ εύρους η οποία ελέγχεται αν είναι ανάµεσα στα 10 µε 60 cm και στέλνει σήµα στο λογικό βρόγχο να τελειώσει αν είναι εντός εµβέλειας. Εκπέµπει έναν ήχο όταν το ροµπότ αρχίζει να βλέπει κάτι ανάµεσα στο εύρος, τότε επαναφέρεται ο αισθητήρας περιστροφής στον C κινητήρα ώστε να µπορούµε να µετρήσουµε πόσο πλατύ είναι το αντικείµενο.

(α)

(β)

(γ)

33

(δ)

(ε)

(ζ)

(η)

(θ)

34

(ι)

(κ)

(λ)

∆ιαβάζει τον αισθητήρα περιστροφής στο µοτέρ C, που µας λέει πόσο µακριά περιστρέψαµε µεταξύ των κύριων και σύροντας τις άκρες του στόχου, το διαιρούµε µε 2 για να βρούµε τα µισά του δρόµου και δύναµη 30 για να δείξουµε το κέντρο του στόχου. Χρησιµοποιούµε δύο µπλοκ κινητήρα και όχι ένα γιατί είναι πιο ακριβή για µικρές κλειστές στροφές. Το µοτέρ θα φρενάρει για ¼ του δευτερολέπτου για να επιτρέψει στα µοτέρ να εγκαταστήσουν τη θέση του στόχου.

(α)

(β)

35

(γ)

(δ)

(ε)

(ζ)

Εδώ προσπαθεί να αντιµετωπίσει τον στόχο, αλλά µπορεί να βρίσκεται είτε πολύ µακριά είτε πολύ κοντά ώστε να µπορέσει το νύχι να χτυπήσει. Γι ‘αυτό το λόγο χρησιµοποιούµε ένα switch αισθητήρα και η απόσταση θα πρέπει να είναι πιο κοντά από το ιδανικό εύρος των 33 cm. Αν είναι πιο µακριά από 33 cm τότε πηγαίνει προς τα εµπρός µέχρι η απόσταση να γίνει 33 cm. Σταµατάει όταν βρει την σωστή απόσταση. Στην συνέχεια δεδοµένου ότι το νύχι βρίσκεται στην δεξιά πλευρά του ροµπότ, κάνει µια µικρή αριστερή στροφή έτσι ώστε το νύχι να χτυπήσει στο κέντρο του στόχου. Θα καταστεί επιτυχής µε το τρέξιµο του κινητήρα νυχιού µε πλήρη ισχύ για ½ του δευτερολέπτου µπροστά και ½ του δευτερολέπτου πίσω.

ΤΕΙ ΚΑΒΑΛΑΣ – ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΒΟΗΘΗΜΑ ΣΥΝΑΡΜΟΛΟΓΗΣΗΣ

LEGO MINDSTORMS ΝΧΤ ΙΙ

ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ 9 ΚΑΙ 10

Φ.ΑΜΠΛΑ – Ε.ΠΑΙΔΑΡΑΚΗ

6/16/2011

2

CLAWSTRIKE

ΒΗΜΑ 1ο:

ΒΗΜΑ 2ο:

ΒΗΜΑ 3ο:

ΒΗΜΑ 4ο:

ΒΗΜΑ 5ο:

3

ΒΗΜΑ 6ο:

ΒΗΜΑ 7ο:

ΒΗΜΑ 8ο:

ΒΗΜΑ 9ο:

ΒΗΜΑ 10ο:

ΒΗΜΑ 11ο:

4

ΒΗΜΑ 12ο:

ΒΗΜΑ 13ο:

ΒΗΜΑ 14ο:

ΒΗΜΑ 15ο:

ΒΗΜΑ 16ο:

ΒΗΜΑ 17ο:

5

ΒΗΜΑ 18Ο:

ΒΗΜΑ 19ο:

ΒΗΜΑ 20ο:

ΒΗΜΑ 21ο:

ΒΗΜΑ 22ο:

ΒΗΜΑ 23ο:

6

ΒΗΜΑ 24ο:

ΒΗΜΑ 25ο:

ΒΗΜΑ 26ο:

ΒΗΜΑ 27ο:

ΒΗΜΑ 28ο:

7

SEGWAY

BHMA 1ο :

ΒΗΜΑ 2ο:

ΒΗΜΑ 3ο :

ΒΗΜΑ 4ο :

ΒΗΜΑ 5ο:

ΒΗΜΑ 6ο:

8

ΒΗΜΑ 7ο:

ΒΗΜΑ 8ο:

ΒΗΜΑ 9ο:

ΒΗΜΑ 10ο:

ΒΗΜΑ 11ο:

ΒΗΜΑ 12ο:

9

ΒΗΜΑ 13ο:

ΒΗΜΑ 14ο:

ΒΗΜΑ 15ο:

ΒΗΜΑ 16ο:

ΒΗΜΑ 17ο:

10

ΒΗΜΑ 18ο:

3η Εφαρµογή (µε VPL) Γνωριµία µε τον αισθητήρα υπερήχων

Σκοπός: Σκοπός της εφαρµογής αυτής είναι να µάθουν να χρησιµοποιούν τον αισθητήρα υπερήχων. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό MICROSOFT ROBOTICS DEVELOPER STUDIO 2008 R3 και ηλεκτρονικό υπολογιστή. Εφαρµογή 3.1 Να κάνετε το ροµπότ να προχωράει ευθεία µε δύναµη 75% και απεριόριστη διάρκεια µέχρι να βρει ένα εµπόδιο σε απόσταση µεγαλύτερη 10cm και µόλις το βρει να σταµατήσει και να κάνει όπισθεν. Πρόγραµµα: Για την διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα µία υπηρεσία brick,δύο υπηρεσίες drive, έναν touch sensor και µία υπηρεσία if.

(α) Αυτό το «πακέτο» υποστηρίζει την τρέχουσα σύνδεση Bluetooth στο NXT brick, και µια προεπιλογή BaudRate 0 (µηδέν) θα συνδεθεί στο κατάλληλο Rate.

Με την επιλογή "ShowInBrowser" η αλληλεπίδραση του χρήστη για την υπηρεσία LEGO NXT θα ανοίγει σε έναν web browser κάθε φορά που θα αρχίζει η υπηρεσία. Αυτό είναι χρήσιµο για τη διαµόρφωση και την κατάσταση των συσκευών που συνδέονται µε το NXT Brick.

(β)

Με αυτή την ρύθµιση διαµορφώνουµε την κίνηση, του λέµε ποιος τροχός έχει συνδεθεί και µε ποια θύρα µηχανής.

(γ)

∆ηλώνουµε τον αισθητήρα.

(δ)

Εδώ δηλώνουµε την απόσταση, αν το εµπόδιο είναι σε απόσταση µικρότερη των 10 cm να το εντοπίσει και να σταµατήσει.

(ε)

∆ηλώνουµε τους τροχούς.

(ζ)

Αφού δηλώσουµε µε τον drive πάλι τους τροχούς πατάµε δεξί κλικ πάνω του και επιλέξουµε data connection όπου κάνουµε τις παραπάνω ρυθµίσεις για να δηλώσουµε την δύναµη αλλά και για να δώσουµε την εντολή να κάνει όπισθεν.

4η Εφαρµογή (µε VPL) Γνωριµία µε τον αισθητήρα χρώµατος

Σκοπός: Σκοπός της εφαρµογής αυτής είναι να µάθουν να χρησιµοποιούν τον αισθητήρα χρώµατος. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό MICROSOFT ROBOTICS DEVELOPER STUDIO 2008 R3 και ηλεκτρονικό υπολογιστή. Εφαρµογή 4.1 Να κάνετε το ροµπότ να πηγαίνει ευθεία µε δύναµη 75% και απεριόριστο χρόνο µέχρι να εντοπίσει κόκκινο χρώµα σε κάποιο αντικείµενο, αφού το εντοπίσει να σταµατήσει και να κάνει όπισθεν. Πρόγραµµα: Για την διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα µία υπηρεσία brick,δύο υπηρεσίες drive, έναν color sensor και µία υπηρεσία if.

(α) Αυτό το «πακέτο» υποστηρίζει την τρέχουσα σύνδεση Bluetooth στο NXT brick, και µια προεπιλογή BaudRate 0 (µηδέν) θα συνδεθεί στο κατάλληλο Rate.

Με την επιλογή "ShowInBrowser" η αλληλεπίδραση του χρήστη για την υπηρεσία LEGO NXT θα ανοίγει σε έναν web browser κάθε φορά που θα αρχίζει η υπηρεσία. Αυτό είναι χρήσιµο για τη διαµόρφωση και την κατάσταση των συσκευών που συνδέονται µε το NXT Brick.

(β)

Με αυτή την ρύθµιση διαµορφώνουµε την κίνηση, του λέµε ποιος τροχός έχει συνδεθεί και µε ποια θύρα µηχανής.

(γ)

Ρυθµίζουµε ανάλογα σε ποια θύρα έχουµε συνδέσει τον αισθητήρα και ποιον αισθητήρα έχουµε συνδέσει.

(δ)

Αν βρει κόκκινο πρέπει να σταµατήσει. Το 5 είναι το κόκκινο, αν µπούµε στην βοήθεια του προγράµµατος τα έχει όλα αναλυτικά.

(ε)

∆ηλώνουµε πάλι τους τροχούς και του λέµε να σταµατήσει µόλις βρει κόκκινο και να κάνει όπισθεν.

5η Εφαρµογή (µε VPL) Γνωριµία µε τον αισθητήρα αφής

Σκοπός: Σκοπός της εφαρµογής αυτής είναι να µάθουν να χρησιµοποιούν τον αισθητήρα αφής. Απαιτούµενα υλικά: Ροµποτική κατασκευή NXT, εκπαιδευτικό λογισµικό MICROSOFT ROBOTICS DEVELOPER STUDIO 2008 R3 και ηλεκτρονικό υπολογιστή. Εφαρµογή 5.1 Να κάνετε το ροµπότ να πηγαίνει ευθεία µε δύναµη 75% και χρόνο απεριόριστο µέχρι να βρει ο αισθητήρας αφής ένα αντικείµενο και ενεργοποιηθεί ο αισθητήρας 1,αφού το βρει να κάνει όπισθεν µε µια κλίση προς τα δεξιά για 1 δευτερόλεπτο και να σταµατήσει. Πρόγραµµα: Για την διαµόρφωση του προγράµµατος επιλέγονται και τοποθετούνται στην προγραµµατιστική περιοχή, όπως φαίνεται στην εικόνα µία υπηρεσία brick,δύο υπηρεσίες drive, έναν touch sensor και µία υπηρεσία if.

(α)

Αυτό το «πακέτο» υποστηρίζει την τρέχουσα σύνδεση Bluetooth στο NXT brick, και µια προεπιλογή BaudRate 0 (µηδέν) θα συνδεθεί στο κατάλληλο Rate.

Με την επιλογή "ShowInBrowser" η αλληλεπίδραση του χρήστη για την υπηρεσία LEGO NXT θα ανοίγει σε έναν web browser κάθε φορά που θα αρχίζει η υπηρεσία. Αυτό είναι χρήσιµο για τη διαµόρφωση και την κατάσταση των συσκευών που συνδέονται µε το NXT Brick.

(β)

Με αυτή την ρύθµιση διαµορφώνουµε την κίνηση, του λέµε ποιος τροχός έχει συνδεθεί και µε ποια θύρα µηχανής.

(γ)

∆ηλώνουµε τον αισθητήρα.

(δ) Αν ο αισθητήρας βρει κάποιο αντικείµενο και πατηθεί να κάνει όπισθεν.

(ε)

∆ηλώνουµε τους τροχούς και τους ρυθµίζουµε ώστε να κάνει όπισθεν.