Αισθητήρας Πυξίδας HiTechnic για LEGO Mindstorms NXT (Compass Sensor)
Εισαγωγή
Ο Αισθητήρας Πυξίδας NXT περιέχει μια ψηφιακή μαγνητική πυξίδα που μέτρα το μαγνητικό πεδίο της Γης και υπολογίζει μία γωνία θέσης. Ο Αισθητήρας Πυξίδας NXT συνδέεται σε μια θύρα εισόδου του NXT με τη χρήση τυποποιημένου 6-πλού καλωδίου και χρησιμοποιεί το ψηφιακό πρωτόκολλο επικοινωνιών I2C. Η τρέχουσα θέση υπολογίζονται με ακρίβεια 1° και ανανεώνονται 100 φορές το δευτερόλεπτο.
Ο Αισθητήρας Πυξίδας NXT είναι κατασκευασμένος σε ένα πρότυπη θήκη αισθητήρων Mindstorms για να ταιριάζει με τα υπόλοιπα στοιχεία Mindstorms.
Για να δοκιμάσετε το νέο σας αισθητήρα, συνδέστε τον στη θύρα 2 του NXT και επιλέξτε View > Ultrasonic cm > Port 2. Καθώς κουνάτε γύρω – γύρω τον αισθητήρα, θα παρατηρήσετε ότι οι μετρήσεις θα αλλάζουν από 1 – 179. (Το 0 θα εμφανίστει ως ?????? στην κατάσταση Προβολή (View)).
Προγραμματισμός σε Mindstorms NXT-G
Η πυξίδα μπορεί να προγραμματιστεί με τη χρήση την εντολή λογισμικού LEGO Mindstorms NXT Compass*. Αν η εντολή δεν είναι διαθέσιμη μπορείτε επίσης να χρησιμοποιήσετε την εντολή Υπερήχων. * Σημείωση:Η εντολή Αισθητήρα Πυξίδας NXT είναι διαθέσιμη για δωρεάν λήψη στον ιστοχώρο της HiTchnic http://www.hitechnic.com/contents/en-us/d17.html.
Εντολή Αισθητήρα Υπερήχων

Εντολή Αισθητήρα Πυξίδας
Η Πυξίδα έχει σχεδιαστεί για να υποστηρίξει τον Αισθητήρα Πυξίδας HiTechnic και υποστηρίζει όλες τις λειτουργίες πυξίδας.
- Αυτό το βύσμα συνδέει τον αριθμό της θύρας του ΝΧΤ σας στην οποία είναι συνδεδεμένος ο αισθητήρας πυξίδας.
- Αυτό το βύσμα συνδέει τον αριθμό της δράσης που πρέπει να εκτελεστεί.
- Αυτό το βύσμα συνδέει τον Στόχο θέσης, βλέπε παράγραφο σχετικά με Σχετική κατηγορία πιο κάτω από αυτή τη σελίδα.
- Αυτό το βύσμα συνδέει την τιμή κατώτατου ορίου για τη λειτουργία σύγκρισης Εισόδου/Εξόδου.
- Αυτό το βύσμα συνδέει την τιμή ανώτατου ορίου για τη λειτουργία σύγκρισης Εισόδου/Εξόδου.
- Αυτό το βύσμα εξάγει την τρέχουσα τιμή της Απόλυτη Θέσης.
- Αυτό το βύσμα εξάγει την τρέχουσα τιμή της Σχετική Θέσης, βλέπε παράγραφο σχετικά με Σχετική Θέση πιο κάτω.
- Αυτό το βύσμα εξάγει τη λογική τιμή Εισόδου/Εξόδου.
Διαμόρφωσης της πυξίδας

Σύγκριση (Compare)
Συγκρίνει την Απόλυτη Θέση με μια περιοχή τιμών και θέτει τη λογική τιμή εάν η τιμή είναι εντός ή εκτός της περιοχής. Ανατρέξτε στην ενότητα Χρήση Περιοχών παρακάτω για περισσότερες πληροφορίες.Χρησιμοποιώντας Σχετική Ανάγνωση
Η Σχετική Ανάγνωση καθιστά εύκολο να μείνετε σε μία επιλεγμένη θέση. Για να χρησιμοποιήσετε αυτήν τη δυνατότητα, επιλέξτε την Ενέργεια (Action) Σχετική Ανάγνωσης (Relative Reading). Στη συνέχεια, εισάγετε ένα Στόχο που είναι η θέση που θέλετε να διατηρηθεί. Εάν θέλετε να πλοηγηθείτε Νότια, θα πρέπει να εισάγετε στον Στόχο 180 (Νότια είναι 180 μοίρες). Η εντολή αισθητήρα πυξίδας στη συνέχεια θα υπολογίζει τη διαφορά μεταξύ της Απόλυτης Θέσης και του Στόχου και θα επιστρέφει τη διαφορά ως Σχετική Θέση. (βύσμα 7). Για παράδειγμα, με το στόχο σας στο 180, εάν η Απόλυτη Θέση είναι 175, τότε η Σχετική Θέση θα είναι 5 (Στόχος – Απόλυτη Ονομασία ή 180 – 175 = 5). Αυτό δείχνει μια στροφή προς τα δεξιά ή ότι απαιτούνται 5 βαθμοί δεξιόστροφα για να επιτευχθεί ο Στόχος. Εάν η Απόλυτη Θέση ήταν 185, τότε η Σχετική Θέση θα είναι -5 (Στόχος – Απόλυτη Θέση ή 180 – 185 = -5). Αυτό δείχνει μια στροφή προς τα αριστερά ή οτι απαιτούνται 5 βαθμοί αριστερόστροφα για να επιτευχθεί ο Στόχος. Παράδειγμα.Βαθμονόμηση του Αισθητήρα Πυξίδας
Ο Αισθητήρα Πυξίδας HiTechnic θα επηρεαστεί από τις τοπικές μαγνητικές παρεμβολές με τον ίδιο τρόπο όπως οποιαδήποτε άλλη μαγνητική πυξίδα. Αντικείμενα όπως τα μεταλλικά αντικείμενα, οι κινητήρες, οι μπαταρίες και καλώδια μπορεί να προκαλέσουν μαγνητικές παρεμβολές. Τοπικός μαγνητισμός μπορεί να προκαλέσει στη πυξίδα μιας θέση αρκετές μοίρες διαφορετικές από τις πραγματική μαγνητική θέση. Αυτό ονομάζεται απόκλιση πυξίδας. Για να διορθωθεί η απόκλιση, ο αισθητήρας πυξίδας HiTechnic διαθέτει ενσωματωμένο σύστημα βαθμονόμησης που υπολογίζει την τιμή διόρθωσης και την αποθηκεύει σε πυξίδα. Η βαθμονόμηση είναι προαιρετική και συνήθως δεν απαιτείται για την κανονική λειτουργία του. Για να ελαχιστοποιηθεί η ανάγκη για τη βαθμονόμηση, βεβαιωθείτε ότι έχετε τοποθετήσει την πυξίδα τουλάχιστον 10 – 15 cm (4 – 6 ίντσες) μακριά από το τούβλο NXT και τους κινητήρες. Για τη βαθμονόμηση της πυξίδας στο πλαίσιο του προγράμματος ελέγχου, επιλέξτε κατάσταση βαθμονόμησης (calibration mode) ( τιμή 2 στο βύσμα Action) και, στη συνέχεια, προγραμματίστε το ρομπότ σας να περιστραφεί (στροφή σε ένα στενό κύκλο) μεταξύ 1 ½ και 2 φορές (πάνω από 360 μοίρες) μέχρι την ολοκλήρωση της μια πλήρη στροφή σε περίπου 20 δευτερόλεπτα. Μόλις οι στροφές έχουν ολοκληρωθεί, θέστε το Δράση Action σε λειτουργία Ανάγνωσης (Απόλυτη ή Σχετική) και η πυξίδα θα βαθμονομηθεί. Η πυξίδα θα διατηρήσει τις ρυθμίσεις βαθμονόμισης μέχρι να εκτελεστεί μία νέα, ακόμη και αν ΑΠΟΣΥΝΔΕΘΕΙ ο αισθητήρας.Χρησιμοποιώντας την Περιοχή (Range)
Η Σύγκριση σας επιτρέπει να ορίσετε μια περιοχή και εύκολα να διαπιστώσετε εάν η τρέχουσα θέση είναι εντός ή εκτός αυτής. Τα Στοιχεία που χρησιμοποιούνται στη λειτουργία Περιοχής είναι: Εντός Περιοχής / Εκτός Περιοχής: Επιλέξτε εάν θέλετε να ελέγξετε για μια Απόλυτη Θέση εντός ή εκτός της περιοχής. Α: Το κατώτερο όριο της περιοχής (0 – 359) Β: Το ανώτατο όριο της περιοχής (0 – 359) Για να χρησιμοποιήσετε τη λειτουργία Περιοχή Range, θέστε το πάνω και κάτω όριο της περιοχή σας και αν θέλετε να το ελέγχετε για εντός ή εκτός αυτής. Τα παραδείγματα που δείχνουν το λογικό αποτέλεσμα.A | B | Εύρος | Απόλυτος Τομέας | Λογική τιμή |
85 | 95 | Inside Range | 90 | ![]() |
85 | 95 | Inside Range | 100 | ![]() |
85 | 95 | Outside Range | 90 | ![]() |
85 | 95 | Outside Range | 100 | ![]() |
Διεύθυνση | Τύπος | Περιεχόμενα |
00 – 07H | chars | Αριθμός έκδοσης αισθητήρα Sensor version number |
08 – 0FH | chars | Κατασκευαστής Manufacturer |
10 – 17H | chars | Τύπος Αισθητήρας Sensor type |
18 – 3DH | bytes | Δεν χρησιμοποιείται Not used |
3E, 3FH | chars | Κρατημένο Reserved |
40H | byte | Δεν χρησιμοποιείται Not used |
41η | byte | Κατάσταση ελέγχου Mode control |
42η | byte | Τομέας) δύο βαθμό κλάσηςHeading } two degree heading |
43H | byte | Τομέας) ένα βαθμό αθροιστής Heading } one degree adder |
44, 45η | word | Τομέας) (χαμηλό byte, υψηλό byte) Heading (low byte, high byte) |
46 – 7FH | bytes | Δεν χρησιμοποιείται Not used |
Άλλα περιβάλλοντα προγραμματισμού
RobotC
Όλα τα χαρακτηριστικά της Πυξίδας HiTechnic μπορούν να προσπελαστούν με τη χρήση της RobotC. Για περισσότερες πληροφορίες, μεταβείτε στο http://www-education.rec.ri.cmu.edu/robotc/.NBC
Η Next Byte Code (NBC) είναι μια απλή γλώσσα προγραμματισμού που μπορεί να έχει πρόσβαση σε όλα τα χαρακτηριστικά της πυξίδα. Για περισσότερες πληροφορίες, μεταβείτε στο http://bricxcc.sourceforge.net/nbc/. Σημειώσεις:- Ο αισθητήρας πυξίδας HiTechnic θα λειτουργήσει σωστά μόνο σε οριζόντιο επίπεδο, κρατήστε την πυξίδα σε αυτό το επίπεδο για να διαβάσει σωστά. Αυτό είναι πολύ σημαντικό να το θυμόμαστε όταν κατασκευάζετε το ρομπότ σας.
- Η έκδοση 1,03 του NXT Firmware , πρέπει να υπάρχει στο NXT για να λειτουργεί σωστά η πυξίδα. Μπορείτε να ελέγξετε την έκδοση firmware από την εμφάνιση του παράθυρου NXT στο λογισμικό Mindstorms .
- Είναι ιδιαίτερα επιθυμητό να στεραιώνετε την πυξίδα τουλάχιστον 15 εκατοστά μακριά από τους κινητήρες και 10 εκατοστά μακριά από το ίδιο το τούβλο NXT.
- Δοκιμάστε για να βεβαιωθείτε ότι είναι σταθερά τοποθετημένη, αν αναπηδά γύρω γύρω , και οι αναγνώσεις θα μεταβάλλονται το ίδιο.