www.robolab.tuc.gr Περιγραφή της 3 ης εργαστηριακής εφαρμογής: ρομποτικό σύστημα LEGO NXT ΜΠΔ, 9 Ο Εξάμηνο Σάββας Πιπερίδης
1. Το ρομποτικό σύστημα LEGO NXT περισσότερες πληροφορίες: http://mindstorms.lego.com/ http://www.legoengineering.com/ Το LEGO NXT αποτελείται από: 1) τον ελεγκτή ΝΧΤ 2) συσκευές εξόδου (ηλεκτρικοί κινητήρες και λαμπτήρες) 3) συσκευές εισόδου (αισθητήρες όπως αισθητήρας αφής, υπερήχων, φωτός, μικρόφωνο και άλλοι) 4) λογισμικό επικοινωνίας και προγραμματισμού του ελεγκτή 2
2. Ο ελεγκτής NXT Διαθέτει τέσσερεις εισόδους κατάλληλες για σύνδεση ισάριθμων αισθητήρων. Οι θύρες αυτές βρίσκονται στην κάτω πλευρά του ελεγκτή και είναι αριθμημένες με τους αριθμούς 1 έως 4. Διαθέτει τρεις θύρες εξόδου για σύνδεση ισάριθμων κινητήρων ή λαμπτήρων και μια θύρα επικοινωνίας USB στην πάνω πλευρά του. Οι θύρες εξόδου χαρακτηρίζονται με τα γράμματα Α, Β, C. Στην εμπρός πλευρά του βρίσκεται μια οθόνη υγρών κρυστάλλων που χρησιμοποιείται για την προβολή μηνυμάτων. Υπάρχουν επίσης τρία πλήκτρα ελέγχου βασικών λειτουργιών. 3 έξοδοι οθόνη πλήκτρα βασικών λειτουργιών 4 είσοδοι θύρα USB 3
2. Ο ελεγκτής NXT Με τη βοήθεια κατάλληλα διαμορφωμένου καλωδίου επιτυγχάνεται η σύνδεση και η ανταλλαγή δεδομένων μεταξύ του ΝΧΤ και των συσκευών εισόδου ή εξόδου. ΗθύραUSB χρησιμοποιείται για την επικοινωνία του ελεγκτή με προσωπικό υπολογιστή. 4
3. Συσκευές εισόδου Αισθητήρας αφής (touch sensor): διαθέτει ένα πλήκτρο στην εμπρός πλευρά του και μπορεί να ανιχνεύει εάν το πλήκτρο έχει μετακινηθεί προς το εσωτερικό του αισθητήρα, λόγω επαφής με κάποιο αντικείμενο ή είναι ελεύθερο εάν δεν έρχεται σε επαφή με κάποια επιφάνεια. 5
3. Συσκευές εισόδου Μικρόφωνο (sound sensor): μετρά την ένταση του ήχου 6
3. Συσκευές εισόδου Αισθητήρας φωτός (light sensor): μετρά την ένταση του φωτός 7
3. Συσκευές εισόδου Αισθητήρας υπερήχων (ultrasonic sensor): με τη βοήθεια υπερήχων μπορεί να ανιχνεύσει εάν υπάρχει κάποιο εμπόδιο εμπρός του και σε ποια απόσταση βρίσκεται αυτό. Το βεληνεκές του είναι 25 εκατοστά. 8
3. Συσκευές εισόδου Αισθητήρας θερμοκρασίας (temperature sensor): υπολογίζει τη θερμοκρασία περιβάλλοντος 9
3. Συσκευές εισόδου Πλήκτρα στην εμπρόσθια πλευρά του ΝΧΤ 10
4. Συσκευές εξόδου Κινητήρας: περιστρέφεται ανάλογα με τις εντολές του ελεγκτή 11
4. Συσκευές εξόδου Λαμπτήρας: εκπέμπει φώς ελεγχόμενης έντασης 12
4. Συσκευές εξόδου Οθόνη υγρών κρυστάλλων στην εμπρόσθια πλευρά του ΝΧΤ ηχείο για την αναπαραγωγή ηχητικών δεδομένων 13
5. Προγραμματισμός του ΝΧΤ Το σύστημα LEGO NXT συνοδεύεται από ένα ολοκληρωμένο περιβάλλον ανάπτυξης εφαρμογών που προγραμματίζει και ανταλλάσει δεδομένα με τον ελεγκτή ΝΧΤ και τις συσκευές που είναι συνδεμένες με αυτόν. Ο προγραμματισμός γίνεται με αντικειμενοστραφή μέθοδο. Για κάθε μια από τις εναλλακτικές συσκευές που μπορεί να χρησιμοποιηθούν ως είσοδοι ή ως έξοδοι αλλά και για κάθε μια από τις ενέργειες που μπορεί να εκτελέσει ο ελεγκτής υπάρχει το αντίστοιχο αντικείμενο. Κάθε ένα τέτοιο αντικείμενο είναι μια πλήρης προγραμματιστική ενότητα. Για να υλοποιήσει ο προγραμματιστής τον αλγόριθμό του ομαδοποιεί τις κατάλληλες προγραμματιστικές ενότητες αντικείμενα, ορίζει τον τρόπο σύνδεσής και ανταλλαγής δεδομένων μεταξύ τους και καθορίζει τις παραμέτρους των αντικειμένων. 14
5. Προγραμματισμός του ΝΧΤ Διαθέσιμα αντικείμενα πρόγραμμα 15
5. Προγραμματισμός του ΝΧΤ Αντικείμενα που αποτελούν το πρόγραμμα επιλεγμένο αντικείμενο: περιβάλλεται από πράσινο πλαίσιο ανταλλαγή δεδομένων μεταξύ των αντικειμένων του προγράμματος παράμετροι επιλεγμένου αντικείμενου 16
5. Προγραμματισμός του ΝΧΤ αντικείμενα για τις συσκευές εξόδου αντικείμενο για τον έλεγχο των κινητήρων αντικείμενο για την παραγωγή ήχων αντικείμενο για τον έλεγχο του λαμπτήρα αντικείμενο για την προβολή ενδείξεων στην οθόνη υγρών κρυστάλλων 17
5. Προγραμματισμός του ΝΧΤ αντικείμενα για τις συσκευές εισόδου αντικείμενο για την επικοινωνία με τον αισθητήρα αφής αντικείμενο για την επικοινωνία με το μικρόφωνο αντικείμενο για την επικοινωνία με τον αισθητήρα φωτός αντικείμενο για την επικοινωνία με τον αισθητήρα υπερήχων αντικείμενο για την ανίχνευση πίεσης των πλήκτρων του ΝΧΤ αντικείμενο για την επικοινωνία με τον αισθητήρα θερμοκρασίας 18
5. Προγραμματισμός του ΝΧΤ αντικείμενα για τον έλεγχο της ροής του προγράμματος αντικείμενο για την υλοποίηση αναμονής αντικείμενο για την υλοποίηση επαναλήψεων αντικείμενο για την υλοποίηση επιλογών 19
5. Προγραμματισμός του ΝΧΤ ανταλλαγή δεδομένων μεταξύ των αντικειμένων του προγράμματος: Α: είσοδος δεδομένων Β: έξοδος δεδομένων C: μεταφορά αριθμητικών δεδομένων (κίτρινος σύνδεσμος) D: μεταφορά λογικών δεδομένων (πράσινος σύνδεσμος) E: μεταφορά κειμένου (πορτοκαλί σύνδεσμος) F: αδυναμία μεταφοράς δεδομένων (γκρι σύνδεσμος που ή δεν οδηγεί πουθενά ή ενώνει παραμέτρους διαφορετικού τύπου) 20
5. Προγραμματισμός του ΝΧΤ Μεταγλώττιση και εκτέλεση του προγράμματος Πλήκτρο μεταγλώττισης και μεταφοράς του προγράμματος στον ΝΧΤ Πλήκτρο μεταγλώττισης και εκτέλεσης του προγράμματος από τον ΝΧΤ Πλήκτρο τερματισμού της εκτέλεσης του προγράμματος 21