Αισθητήρας Πυξίδας 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.

Μπλοκ  Αισθητήρα Υπερήχων

Εάν χρησιμοποιείτε το μπλοκ Αισθητήρα Υπερήχων για να προγραμματίσετε τον Αισθητήρα Πυξίδας NXT, ρυθμίστε το σε λειτουργία εκατοστών όπως φαίνεται στην εικόνα. Το μπλοκ θα επιστρέψει την τιμή του άξονα Χ  που θα είναι στην περιοχή 0 – 254.
Το μπλοκ Αισθητήρα Υπερήχων μπορεί μόνο να επιστρέψει τιμές από 0 έως 250 προκειμένου να επιστρέψει το πλήρες φάσμα των θέσεων, από 0 έως  360, η τιμή θέσης που επιστρέφεται όταν χρησημοποιείται το μπλοκ Αισθητήρα Υπερήχων θα είναι η τρέχουσα θέση διαιρεμένη δια 2. Για παράδειγμα, αν η τρέχουσα θεση είναι 220°, η τιμή που επιστρέφεται θα είναι 110. Ο Βορράς θα επιστρέψει την τιμή 0, η Ανατολή, μια τιμή των 45, ο Νότος, μια τιμη των 90 και Δύση, την τιμή 135. Για να λάβετε την πραγματική μαγνητική θέση, απλά πολαπλασιάστε την τιμές επι 2.

Μπλοκ Αισθητήρα Πυξίδας

Η Πυξίδα  έχει σχεδιαστεί για να υποστηρίξει τον Αισθητήρα Πυξίδας HiTechnic και υποστηρίζει όλες τις λειτουργίες πυξίδας.

  1. Αυτό το βύσμα συνδέει τον αριθμό της θύρας του ΝΧΤ σας στην οποία είναι συνδεδεμένος  ο αισθητήρας πυξίδας.
  2. Αυτό το βύσμα συνδέει τον αριθμό της δράσης που πρέπει να εκτελεστεί.
  3. Αυτό το βύσμα συνδέει τον Στόχο θεσης, βλέπε παράγραφο σχετικά με Σχετική κατηγορία πιο κάτω από αυτή τη σελίδα.
  4. Αυτό το βύσμα συνδέει την τιμή κατώτατου ορίου για τη λειτουργία σύγκρισης Εισόδου/Εξόδου.
  5. Αυτό το βύσμα συνδέει την τιμή ανώτατου ορίου για τη λειτουργία σύγκρισης Εισόδου/Εξόδου.
  6. Αυτό το βύσμα εξάγει την τρέχουσα τιμή της Απόλυτη Θέσης.
  7. Αυτό το βύσμα εξάγει την τρέχουσα τιμή της Σχετική Θέσης, βλέπε παράγραφο σχετικά με Σχετική Θέση πιο κάτω.
  8. Αυτό το βύσμα εξάγει τη λογική τιμή Εισόδου/Εξόδου.

Πανελ διαμόρφωσης πυξίδας

Θύρα (Port): σας επιτρέπει να επιλέξετε τη θύρα του NXT που είναι συνδεδεμένη η πυξίδα.

Ενέργια (Action): Η Ενέργια έχει τρεις επιλογές. Αυτές είναι:

Απόλυτη Ανάγνωση (Absolute Reading): Σας επιτρέπει να διαβάσετε το Απόλυτη Θέση, μια τιμή από 0 έως 359, που αντιστοιχεί στη τρέχουσα μαγνητική θέση σε βαθμούς. (Βύσμα 6 στο κουτί δεδομένων).

Σχετική Ανάγνωση (Relative Reading): Σας επιτρέπει να θέσει ένα Στόχο και να διαβάσετε την Σχετική Θέση (Βύσμα 3 και 7 στο κουτί δεδομένων). Ανατρέξτε στην ενότητα Χρήση Σχετικής Ανάγνωσης παρακάτω για περισσότερες πληροφορίες.

Βαθμονόμηση (Calibrate): Ρύθμιση του αισθητήρα πυξίδας που σας επιτρέπει να περάσετε από αλληλουχία βαθμονόμησηςι  ώστε να ελαχιστοποιείται η επίδραση των μετάλλων και άλλων πηγών μαγνητικών παρεμβολών, όπως κινητήρες ή μπαταρίες. Βλέπε Βαθμονόμηση του Αισθητήρα Πυξίδας παρακάτω.

Συγκρίση (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

Το πεδίο αριθμός έκδοσης Αισθητήρα θα αναφέρει ένα αριθμό αναθεώρησης με τη μορφή “²Vn.m”όπου n είναι ο μεγαλύτερος αριθμός έκδοσης και m είναι το επίπεδο αναθεώρησης . Οι αριθμοί αναθεώρησης συνήθως αντικατοπτρίζουν το επίπεδο firmware – υλικολογισμικού. Ο αριθμός έκδοσης θα χρησιμοποιηθεί για να υποδεικνύει το επίπεδο υλικoού .

Το πεδίο κατασκευαστής θα περιέχει «HiTechnc».

Το πεδίο τύπος αισθητήρα θα περιέχει «Compass«.

Το πεδίο τρόπος ελέγχου μπορεί να τεθεί σε 0x00 ή 0x43 για να καθορίσει ο τρόπος της μέτρηση ή   λειτουργία βαθμονόμησης hard-iron.

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

Ο τομέας προέρχεται από την ανάγνωση της 0x42 θέσης για την απόκτηση τομέα δύο βαθμών και της 0x43 για να αποκτήσετε την προσθήκη ενός βαθμού. Ο τομέας μπορεί στη συνέχεια να υπολογίζεται ως. Τομέας = (τομέας δύο βαθμών * 2) + ένα βαθμό προσθήκη.

Εάν το σήμα είναι ένα πρόβλημα, τότε η16 bit συμβατική τιμή μπορεί να ληφθεί από τη 0x44 (χαμηλό byte) και τη 0x45 (υψηλό byte).


Η θέση 0x41 είναι ο τρόπος ελέγχου. Προεπιλεγμένη σε 0, που είναι τρόπος μετρήσεων. Αλλαγή σε 0x43 για να ορίσετε  λειτουργία βαθμονόμησης. Πρέπει να αλλαχθεί πίσω σε 0  όταν ολοκληρωθεί η βαθμονόμηση. ( Αν η βαθμονόμηση αποτύχει, η θέση 0x41 θα τεθεί σε 2 μετά την τοποθέτηση σε 0 από το ΝΧΤ στο τέλος της αποτυχημένης προσπάθειας βαθμονόμησης).

Άλλα περιβάλλοντα προγραμματισμού

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.
  • Δοκιμάστε για να βεβαιωθείτε ότι είναι σταθερά τοποθετημένη, αν αναπηδά γύρω γύρω , και οι αναγνώσεις θα μεταβάλλονται το ίδιο.
Tags : , , | add comments

HiTechnic Αισθητήρας Επιτάχυνσης  για LEGO Mindstorms NXT

Εισαγωγή

Ο Αισθητήρας Επιτάχυνσης NXT περιέχει ένα επιταχυνσιόμετρο τριών αξόνων  το οποίο μέτρα επιτάχυνση σε τρεις άξονες, X, Y και Z. Η επιτάχυνση μετράται στην περιοχή από -2g έως 2g με κλιμάκωση  περίπου 200 γραμμάρια ανά μέτρηση.

Ο Αισθητήρας Επιτάχυνσης NXT μπορεί επίσης να χρησιμοποιηθεί για τη μέτρηση της κλίσης σε τρεις άξονες.

Συνδέεται σε μια θύρα ειδόδου του NXT με τη χρήση του τυποποιημένου 6-πλού καλωδίου και χρησιμοποιεί το ψηφιακό πρωτόκολλο επικοινωνιών I2C. Η μετρούμενη επιτάχυνση για κάθε άξονα ανανεώνεται περίπου 100 φορές ανά δευτερόλεπτο.

Ο Αισθητήρας Επιτάχυνσης NXT είναι κατασκευασμένος σε ένα πρότυπη θήκη αισθητήρων Mindstorms για να ταιριάζει με τα υπόλοιπα στοιχεία Mindstorms.

Οι τρεις άξονες της μέτρησης ονομάζονται x, y, και z, όπως φαίνεται παρακάτω.

Για να δοκιμάσετε τον αισθητήρα, συνδέστε τον στη θύρα 2 του NXT σας και επιλέξτε View/Ultrasonic cm > Port 2 στην οθόνη του ΝΧΤ. Κρατήστε το επίπεδο του αισθητήρα στο χέρι σας και αργά γύρτε τον προς τα εμπρός και πίσω. Η εμφανιζόμενη τιμή στην οθόνη του NXT θα εκπροσωπεί την επιτάχυνση ή την τιμή κλίσης για τον άξονα Χ και θα είναι της τάξης του 0 – 254. (Το 0 θα εμφανίσει ως ?????? στην Προβολή (View). Πρέπει να σημειωθεί ότι μόνο ο x άξονας μπορεί να εμφανιστεί στην λειτουργία Προβολής (View).

Προγραμματισμός

Mindstorms NXT-G

Ο Αισθητήρας Επιτάχυνσης NXT μπορεί να προγραμματιστεί με τη χρήση του μπλοκ Αισθητήρα Επιτάχυνσης (Acceleration Sensor Block) στο λογισμικό LEGO Mindstorms NXT. Αν το μπλοκ Αισθητήρα Επιτάχυνσης δεν είναι διαθέσιμο μπορείτε επίσης να χρησιμοποιήσετε το πρότυπο μπλοκ  Αισθητήρα Υπερήχων για πρόσβαση μόνο στο άξονα εξόδου x.

Το μπλοκ Αισθητήρα Επιτάχυνσης είναι διαθέσιμο για δωρεάν λήψη στον ιστοχώρο της HiTechnic http://www.hitechnic.com/contents/en-us/d19.html.

Μπλοκ  Αισθητήρα Υπερήχων

Εάν χρησιμοποιείτε το μπλοκ  Αισθητήρα Υπερήχων για να προγραμματίσετε τον Αισθητήρα Επιτάχυνσης, ρυθμίστε το σε λειτουργία εκατοστών όπως φαίνεται στην εικόνα. Το Block θα επιστρέψει την τιμή του άξονα Χ  που θα είναι στην περιοχή 0 – 254.

Μπλοκ Αισθητήρα Επιτάχυνσης

Το μπλοκ επιτάχυνσης θα επιστρέψει την τιμή για την θετική ή αρνητική επιτάχυνση για κάθε άξονα, x, y και z, όπως φαίνεται.

Προσθετικά, ένα σημείο σκανδαλισμού μπορεί να τεθεί για τον άξονα X. Οι προϋποθέσεις για την ενεργοποίηση θα πρέπει να πληρούνται, όταν η τιμή του άξονα x υπερβαίνει αυτη του σκανδάλισμού.

Ρύθμιση του μπλοκ  Αισθητήρα Επιτάχυνσης

Διαμόρφωση εικόνας της ομάδας

  1. Επιλέξτε τη θύρα, όπου συνδέεται ο Αισθητήρας Επιτάχυνσης. Προεπιλεγμένη θα είναι η Θύρα 3. Μπορείτε να αλλάξετε αυτή την επιλογή εάν θέλετε.
  2. Εάν επιλέξετε τη λειτουργία Σύγκρισης, το μπλοκ θα ενεργοποιείται όταν η τιμή του άξονα x θα είναι πάνω ή κάτω από την επιλεγμένη τιμή,  Επιλέξετε < «λιγότερο από» για τον σκανδαλισμό του μπλοκ όταν η τιμή είναι χαμηλότερη από την τιμή ενεργοποίησης ή > «μεγαλύτερο από» για τον σκανδαλισμό του μπλοκ όταν η τιμή είναι πάνω από την τιμή ενεργοποίησης. Χρησιμοποιήστε το ρυθμιστικό για να ρυθμίσετε την τιμή ενεργοποίησης ή πληκτρολογήστε την απευθείας στο κουτί εισόδου.

Πίνακας Καταχωρητών Αισθητήρα

Διεύθυνση

Τύπος

Περιεχόμενα

42H

byte

X άξονα άνω 8 bits

43H

byte

Y άξονα άνω 8 bits

44H

byte

άξονα άνω 8 bits

45H

byte

X  άξονα χαμηλά 2 bits

46H

byte

Υ άξονα χαμηλά 2 bits

47H

byte

Ζ άξονα χαμηλά 2 bits

Άλλα περιβάλλοντα προγραμματισμού

RobotC

Όλα τα χαρακτηριστικά του αισθητήρα  HiTechnic Acceleration Sensor μπορούν να προσεγγιστούν με τη χρήση RobotC.

Για περισσότερες πληροφορίες, μεταβείτε στο http://www-education.rec.ri.cmu.edu/robotc/.

NXC

Η NXC είναι μια γλώσσα προγραμματισμού C που μπορεί να έχει πρόσβαση σε όλες τα χαρακτηριστικά του Αισθητήρα Επιτάχυνσης.  Για περισσότερες πληροφορίες, μεταβείτε στο http://bricxcc.sourceforge.net/nbc/.

Παράδειγμα NXC Κώδικα

#include «NXCDefs.h»
task main()
{
SetSensorLowspeed(IN_1);
int count;

int xval;
int yval;
int zval;

byte inI2Ccmd[];
byte outbuf[];
while (TRUE)
{

ArrayInit(inI2Ccmd, 0, 2); // set the buffer to hold 10 values (initially all are zero)
inI2Ccmd[0] = 0x02; // set values in the array
inI2Ccmd[1] = 0x42;
count=8;                                  //read count set to 8 bytes

I2CBytes(IN_1, inI2Ccmd, count, outbuf);  //read the acceleration sensor on port 1
xval=outbuf[0];                           //load x axis upper 8 bits
yval=outbuf[1];                           //load Y axis upper 8 bits
zval=outbuf[2];                           //load z axis upper 8 bits
if (xval > 127) xval-=256;                //convert x to 10 bit value
xval=xval*4 + outbuf[3];
if (yval > 127) yval-=256;                //convert y to 10 bit value
yval=yval*4 + outbuf[4];
if (zval > 127) zval-=256;                //convert z to 10 bit value
zval=zval*4 + outbuf[5];
… …

}

Σημειώσεις:

Η έκδοση Firmware  1,03 και πάνω, πρέπει να έχει φορτωθεί στο NXT για να λειτουργεί σωστά ο Αισθητήρας Επιτάχυνσης . Μπορείτε να ελέγξετε την έκδοση firmware από την εμφάνιση του παράθυρου NXT στο λογισμικό Mindstorms.

Επιπλέον παρατηρήσεις

Ο Αισθητήρας Επιταχυνσιόμετρο και το μυστήριο I2C

Έχουν γίνει περισσότερες δοκιμές με το «ACCL-Nx-3g3x» επιταχυνσιόμετρο μέρος από Mindsensors. Στόχος μας ήταν να αποκτηθούν οι Χ και Υ τιμές του άξονα από τον αισθητήρα μέσω Bluetooth χρησιμοποιώντας Άμεσες Εντολές Lego NXT , και στη συνέχεια, να συνδεθούν αυτές οι τιμές με ένα πίνακα στο PC.

Πρώτον, κοίταξαμε ποιες
Άμεσες Εντολές Lego NXT  ήταν αναγκαίες για να διαβαστούν οι τιμές του αισθητήρα μεσω του I2C. Έλεγξαμε τον πινακα χαρακτηρηστικών του  Mindsensors που καθορίζει τους κωδικούς εντολής του I2C και τις διευθύνσεις μνήμης. Η απλή ανάγνωση των καταχωρητών αξόνων λειτούργησε καλά, όμως, όταν αρχίσαμε διαδοχικές αναγνώσεις του αισθητήρα σε διαστήματα των 40ms , το NXT βγηκε εκτός ορίου. Πιστεύουμε στις επόμενες εκδόσεις firmware (τρεχουσα 1.03) να έχει διορθωθεί.

Τα χρώματα και άλλες ιδιότητες μπορούν να υποστούν επεξεργασία. Εδω είναι ενα δείγμα του πίνακα οργάνων roboDNA Lego NXT:

Tags : , , | add comments

Αισθητήρας Γυροσκοπίου HiTechnic για LEGO Mindstorms NXT

Εισαγωγή

Ο HiTechnic Γυροσκοπικός Αισθητήρας περιλαμβάνει ένα γυροσκοπικό αισθητήρα απλού άξονα που ανιχνεύει την περιστροφή και επιστρέφει μια τιμή που αντιπροσωπεύει τον αριθμό των μοιρών ανά δευτερόλεπτο περιστροφής, επιτρέποντας το NXT να μετρά την πρόσθετη διάσταση της περιστροφής. Ο Γυροσκοπικός Αισθητήρας θα σας επιτρέψει να εντοπίσετε με ακρίβεια την περιστροφή του NXT σας. Ο γυροσκοπικός αισθητήρας επιστρέφει τον αριθμό των μοιρών ανά δευτερόλεπτο περιστροφής και επίσης δείχνει την κατεύθυνση της περιστροφής. Μετρά +/-360° ανά δευτερόλεπτο και κατασκευάζει ρομπότ που μπορούν να ισορροπούν, κολυμπούν, ή να εκτελούν άλλες λειτουργίες όπου η μέτρηση της περιστροφής είναι απαραίτητη.

Ο Γυροσκοπικός Αισθητήρας NXT συνδέται σε μια θύρα εισόδου του NXT  με τη χρήση τυποποιημένου 6-πλού καλωδίου και αξιοποιεί την διεπαφή αναλογικού αισθητήρα. Ο ρυθμός περιστροφής που μπορεί να διαβασεί είναι περίπου μέχρι 300 φορές ανά δευτερόλεπτο.

Ο Αισθητήρας Γυροσκοποίου NXT είναι κατασκευασμένος σε ένα πρότυπη θήκη αισθητήρων Mindstorms για να ταιριάζει με τα υπόλοιπα στοιχεία Mindstorms.

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

Για μια γρήγορη δοκιμή του νέου αισθητήρα σας, τοποθετήστε τον στη θύρα 1 του NXT σας και επιλέξτε  View – Ambient light – Port 1 στην οθόνη του ΝΧΤ. Καθώς περιστρέφετε τον αισθητήρα όπως φαίνεται, θα παρατηρήσετε ότι οι μετρήσεις θα αλλάξουν από την ονομαστική αξία κέντρου 40. Η ταχύτερη περιστροφή του αισθητήρα, θα δόσει μεγαλύτερη απόκλιση από 40. Αυτή είναι μια δοκιμή μόνο και δεν αποτελεί απόδειξη του τρόπου με τον οποίο ο αισθητήρας θα πρέπει να χρησιμοποιείται. Παράδειγμα

Προγραμματισμός

Mindstorms NXT-G

Ο Γυροσκοπικός Αισθητήρας μπορεί να προγραμματιστεί με την χρήση του λογισμικού LEGO Mindstorms NXT-G με την εισαγωγή του μπλοκ Γυροσκοπικός Αισθητήρας. Αυτο και άλλα μπλοκ προγραμματισμού αισθητήρων HiTechnic ειναι διαθέσιμα την σελίδα downloads.

Μπλοκ Γυροσκοπικού Αισθητήρα

Το Μπλοκ Γυροσκοπικού Αισθητήρας παρέχει πρόσβαση στην έξοδο του αισθητήρα και σε άλλα χαρακτηριστικά.

Αυτό το βύσμα συνδέει τον αριθμό της θύρας του ΝΧΤ σας στην οποία είναι συνδεδεμένος  ο αισθητήρας πυξίδας.

  1. Αυτό το βύσμα εισάγει την τιμή σκανδαλισμού.
  2. Αυτό το βύσμα εισάγει την κατάσταση σκανδαλισμού σύγκρισης.
  3. Αυτό το βύσμα εξάγει τον σκανδαλισμό.
  4. Αυτό το βύσμα εισάγει την τιμή αντισταθμησης.
  5. Αυτό το βύσμα εξάγει την μετρούμενη τιμή του ρυθμού περιστροφής.
  6. Αυτό το βύσμα εξάγει μια λογική έξοδο , αληθή ή ψευδή, όταν η τιμή εξόδου και κατάστασης που επιλέγονται από την Σύγκριση (Compare)  πληρούνται.

Gyro Sensor Block Front Panel

  1. Επιλέξτε την Θύρα που είναι συνδεδεμένος ο Αισθητήρας Γυροσκοπίου. Προεπιλεγμενη είναι η Θύρα 3. Μπορείτε να αλλάξετε αυτή την τιμή.
  2. Η τιμή εξόδου του αισθητήρα μπορεί να επηρεασθεί από την θερμοκρασία και εργοστασιακές ανοχές οι οποίες προκαλούν μια μη μηδενική τιμή όταν ο αισθητήρας είναι σταθερός. Για να αντισταθμιστεί αυτό,  μια αντιστάθμιση μηδενισμού ή μια τιμή πόλωσης, που μπορεί να ρυθμίζεται από την είσοδο που λαμβάνεται από τον αισθητήρα όταν αυτός δεν περιστρέφεται.
  3. Μπορείτε να προσαρμόσετε την τιμή Σύγκρισης  στην οποία η έξοδος σκανδαλισμού θα αλλάξει.
  4. Η έξοδος σκανδαλισμού μπορεί να επιλέγεται μεγαλύτερη ή μικρότερη από την επιλογή του τύπου Trigger. Όταν η τιμή εξόδου και κατάστασης που επιλέγονται από την Σύγκριση (Compare)  πληρούνται, αυτό θα προκαλέσει μια λογική έξοδο  αληθή ή ψευδή (Boolean True/False).

Υπολογισμός της τιμής Αντιστάθμισης

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

Μπορείτε να κατεβάσετε τον κώδικα για αυτό το πρόγραμμα και άλλα παραδείγματα απο την σελίδα  downloads .

Άλλα περιβάλλοντα Προγραμματισμού

NXC

Η έξοδος του Αισθητήρα Γυροσκοποίου μπορεί να διαβαστείαπο την NXC  διαβάζοντας τον αισθητήρα οπώς φένεται στο παρακάτω παράδειγμα.

NXC Example code

#define GYRO_PORT IN_3 //Gyro on port 3
#define GYRO_Offset 602 //offset value to apply to the output value

long Gyro_value;

..

Gyrovalue=SensorRaw(GYRO_PORT)-GYRO_Offset;  //read the gyro sensor

..

Περισσότερες πληροφορίες είναι διαθέσιμες στο http://bricxcc.sourceforge.net/nbc/.

RobotC

const tSensors GyroSensor          = (tSensors) S1;   //gyro sensor//

#define offset 598       //offset value may vary depending on sensor & temperature
long Gyro_value;

task main()
{
Gyrovalue=SensorValue(GyroSensor)-offset;  //read the gyro sensor
….

}

Περισσότερες πληροφορίες είναι διαθέσιμες στο http://www-education.rec.ri.cmu.edu/robotc/

Σημειώσεις:

Η τελευταία έκδοση του μπλοκ γυροσκοποίου είναι διαθέσιμη στο www.hitechnic.com. Πηγαίνετε στην σελίδα λήψης για να κατεβάσετε όλα τα τμήματα προγραμματισμού HiTechnic.

Tags : , , | add comments

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

Εικόνα:Light1.jpg

Ο Αισθητήρας Φωτός είναι ένας από τους δύο αισθητήρες που δίνουν όραση στο ρομπότ σας (ο Αισθητήρας Υπερήχων είναι άλλος). Ο Αισθητήρας Φωτός επιτρέπει στο ρομπότ σας να διακρίνει μεταξύ φωτός και σκοταδιού. Μπορεί να διαβάσει την ένταση του φωτός σε ένα δωμάτιο και να μετρήσει την ένταση φωτός των χρωματισμένων επιφανειών.

Εικόνα:see.jpg

Αυτό βλέπουνε τα μάτια σας

Προτάσεις χρήσης

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

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

Tags : , | add comments

Λογισμικό NXT Educator


Λογισμικό NXT

Το λογισμικό LEGO ® MINDSTORMS ® NXT  σας δίνει τη δυνατότητα να προγραμματίσετε  το εφευρετικό ρομπότ NXT  και να φορτώσετε τα προγράμματά σας  στο NXT μέσω θύρας USB ή σύνδεσης Bluetooth.Το διαισθητικό «σύρε και άσε» λογισμικό, συμβατό με PC και Mac , βασισμένο στο National Instruments LabVIEW, έρχεται με ενσωματωμένο οδηγούς προγραμματισμού και οδηγίες κατασκευή  για ένα εύκολο ξεκίνημα με τα MINDSTORMS NXT. Δοκιμάστε το λογισμικό LEGO MINDSTORMS NXT στο National Instruments.com

Κέντρο Ρομπότ

Είναι εύκολο να ξεκινήσετε με την κατασκευή και τον προγραμματισμό LEGO NXT καθως το Λογισμικό MINDSTORMS LEGO NXT  έρχεται με οδηγίες κατασκευής και προγραμματισμού για 4 ενδιαφέροντα μοντέλα που μπορείτε να κατασκευάσετε και να πρόγραμματησετε.

Ξεκινήστε την ανάπτυξη και το προγραμματισμό με την επιλογή ενός πρότυπου ρομπότ.
Σας προτείνουμε να ξεκινήσετε με το TriBot όπως είναι σε συνέχειες στο
υπόδειγμα Γρήγορης Εκκίνησης  που περιλαμβάνεται στο κουτί.

Απαιτήσεις συστήματος για το Λογισμικό LEGO MINDSTORMS NXT :

Windows
Intel ® Pentium ® ή συμβατό επεξεργαστή, 800 MHz ελάχιστο

Windows XP Professional ή Home Edition με Service Pack 2

256MB μνήμης RAM ελάχιστο

Έως 300MB διαθέσιμου χώρου στον σκληρό δίσκο

XGA οθόνη (1024×768)

1 διαθέσιμη θύρα USB

Οδηγός
CD-ROM

Συμβατό προσαρμογέα Bluetooth (προαιρετικά) *

Macintosh
PowerPC® G3, G4, G5 επεξεργαστής, 600 MHz ελάχιστο
Apple MacOS X 10.3.9 ή 10,4 V.

256MB μνήμης RAM ελάχιστο
Έως 300MB διαθέσιμου χώρου στον σκληρό δίσκο
XGA οθόνη (1024×768)

1 διαθέσιμη θύρα USB

Οδηγός
CD-ROM

Συμβατός προσαρμογέας Bluetooth (προαιρετικά) *

* Υποστήριξη λογισμικού στο πρωτόκολλο Bluetooth περιλαμβάνουν το Widcomm Bluetooth για Windows (νεότερη από SP5 v. 1.4.2.10), και τα προγράμματα Bluetooth που περιλαμβάνονται στο Microsoft Windows XP (με Service Pack 2) και Apple MacOS X (10.3.9 και 10.4)

Η LEGO MINDTSORMS NXT Software βασίζεται στο NI LabVIEW, ένα διαισθητικό γραφικό (GUI) λογισμικό προγραμματισμού που χρησιμοποιηται από επιστήμονες και μηχανικούς σε όλο τον κόσμο για το σχεδιασμό, τον έλεγχο και την δοκιμή καταναλωτικών προϊόντων και συστημάτων, όπως τα MP3 και DVD players, κινητά τηλέφωνα, καθώς και όχημα αερόσακων συστημάτων ασφαλείας. Στις εφαρμογές του περιλαμβάνονται, βοήθεια για τον έλεγχο στην εξερεύνηση του Mars Pathfinder της NASA και δοκιμές για το Microsoft Xbox. Διαβάστε περισσότερα για το NI LabVIEW και για το πώς NI και LEGO ανεπτύξαν από κοινού το λογισμικό LEGO MINDSTORMS NXT  σε: http://www.ni.com/mindstorms.

Tags : , | add comments

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

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

Οι τρεις σερβοκινητήρες δίνουν στο ρομπότ σας την ικανότητα να κινηθεί. Εάν χρησιμοποιήσετε το μπλοκ (κύβο, τετράγωνο, τεμάχιο) μπλοκ Μετακίνηση  στο λογισμικό MINDSTORMS LEGO NXT για να προγραμματίσετε  τους κινητήρες, οι δύο κινητήρες αυτόματα θα συγχρονιστούν , έτσι ώστε το ρομπότ θα κινηθεί σε ευθεία γραμμή.

Ενσωματωμένος Αριθμητήρας Περιστροφής

Κάθε σερβοκινητήρας έχει έναν ενσωματωμένο Αισθητήρα Περιστροφής. Αυτό σας επιτρέπει τον έλεγχο των κινήσεων του ρομπότ με ακρίβεια. Ο Αισθητήρας Περιστροφής μέτρα την περιστροφή το κινητήρα σε μοίρες ή πλήρης περιστροφές [ακρίβεια + / – μία μοίρα]. Μία περιστροφή είναι ίση με 360 μοίρες, οπότε αν ορίσετε την περιστροφή του κινητήρα σε 180 μοίρες, ο άξονας εξόδου θα κάνει μισή στροφή. Ο ενσωματωμένο Αισθητήρας Περιστροφής σε κάθε κινητήρα επίσης, σας επιτρέπει να ορίσετε διαφορετικές ταχύτητες σας για κινητήρες [θέτοντας διαφορετικές παραμέτρους ισχύος στο λογισμικό]. Δοκιμάστε τη λειτουργία των κινητήρων σε διαφορετικές ταχύτητες.

Ελένξτε το!

Ελέγξτε την ικανότητα του ενσωματωμένου Αισθητήρας Περιστροφής για τη μέτρηση της απόστασης:

1. Σύνδεσε ένα σερβοκινητήρα στο NXT
2. Επιλέξτε το υπομενού VIEW στην οθόνη του NXT
3. Επιλέξτε το εικονίδιο Motor rotations.
4. Επιλέξτε τη θύρα όπου έχετε συνδέσει τον σερβοκινητήρα
5. Τοποθετήστε ένα τροχό στον κινητήρα και μετρήστε τις περισροφές καως ο τροχός κυλά κατα μήκος του δαπέδου.

Δοκιμάστε Με!

Το NXT έρχεται με μία λειτουργία Try Me (δοκιμάστε με). Συνδέστε ένα κινητήρα στη θύρα Α του NXT και επιλέξτε στην οθόνη του NXT πρώτα το υπομενού Try Me και μετά Try-Motor. Θα έχετε μια διασκεδαστική αντίδραση.

Tags : , | add comments

NXT Αισθητήρας Υπέρηχων (ή απλά απόστασης)

Αισθητήρας Υπέρηχων

Ο Αισθητήρας Υπέρηχων είναι ένας από τους δύο αισθητήρες που δίνουν σας ρομπότ όραση [Ο Αισθητήρας Φωτός είναι ο άλλος]. ο Αισθητήρας Υπέρηχων επιτρέπει στο ρομπότ σας να βλέπει και να εντοπίζει αντικείμενα. Μπορείτε επίσης να το χρησιμοποιήσετε για να κάνετε το ρομπότ σας να αποφύγει τα εμπόδια, να καταλαβαίνει και να μέτρά απόσταση, και να ανίχνευει κίνηση. Ο Αισθητήρας Υπέρηχων μέτρα απόσταση σε εκατοστά και σε ίντσες. Είναι σε θέση να μετρά τις αποστάσεις από 0 έως 255 εκατοστά με ακρίβεια +/- 3 εκατοστών.

Ο Αισθητήρας Υπέρηχων χρησιμοποιεί την ίδια επιστημονική αρχή όπως οι νυχτερίδες: μέτρα την απόσταση από τον υπολογισμό του χρόνου που χρειάζεται ένα ηχητικό κύμα για να χτυπήσει ένα αντικείμενο και να επιστρέψει πίσω – όπως η ηχώ. Αντικειμένα μεγάλου μεγέθους με σκληρές επιφάνειες επιστρέφουν τις καλύτερες αναγνώσεις. Αντικείμενα από μαλακό ύφασμα ή ότι είναι κυρτό [σαν μια μπάλα] ή είναι πολύ λεπτό ή μικρό μπορεί να είναι δύσκολο για τον αισθητήρα να τα ανιχνεύσει.
* Σημειώστε ότι δύο ή περισσότεροι αισθητήρες υπερήχων που λειτουργούν στον ίδιο χώρο μπορεί να διακόπτουν ο ένας τις
αναγνώσεις του άλλου.

Έλεχξε το!
Ελέγξτε της ικανότητας του Αισθητήρα Υπέρηχων για τη μέτρηση της απόστασης:

1. Συνδέστε τον Αισθητήρα Υπέρηχων στο NXT,
2. Επιλέξτε το υπομενού View στην οθόνη του NXT,
3.
Επιλέξτε το εικονίδιο Ultrasonic (ίντσες ή εκατοστά),
4.
Επιλέξτε την θύρα όπου έχετε συνδέσει τον αισθητήρα,
5. Μετρήστε την απόσταση από ένα αντικείμενο. Για παράδειγμα, μετακινείστε το χέρι σας πιο κοντά στον αισθητήρα και θα δείτε την αλλαγή στην ανάγνωση.

Δοκιμάστε Me

Το NXT έρχεται με μία λειτουργία Try Me (δοκιμάστε με). Συνδέστε ένα Αισθητήρας Υπέρηχων στη θύρα 4 του NXT και επιλέξτε στην οθόνη του NXT πρώτα το υπομενού Try Me και μετά Try-Ultrasonic. Θα έχετε μια διασκεδαστική αντίδραση.

Tags : , | add comments


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

Ο Αισθητήρας Ήχου κάνει ρομπότ σας να ακούσει! Ο Αισθητήρας Ήχου μπορεί να ανιχνεύσει τόσο ντεσιμπέλ [dB] όσο και προσαρμοσμένα ντεσιμπέλ [dBA]. Ένα ντεσιμπέλ είναι μια μονάδα μέτρησης της ηχητικής πίεσηςdBA: για  ανίχνευση προσαρμοσμένων  ντεσιμπέλ, η ευαισθησία του αισθητήρα είναι προσαρμοσμένη στην ευαισθησία του ανθρώπινου αυτιού. Με άλλα λόγια, αυτοί είναι οι ήχοι που τα αυτιά σας μπορούν να ακούσουν.

dB: για  ανίχνευση πρότυπων [αδιόρθωτων] ντεσιμπέλ, όλοι οι ήχοι μετρούνται με την ίδια ευαισθησία. Έτσι, οι ήχοι μπορεί να περιλαμβάνουν ορισμένα κομματια που είναι πάρα πολύ υψηλά ή πολύ χαμηλά για να τα ακούσει το ανθρώπινο αυτί .

Ο Αισθητήρας Ήχου μπορεί να μέτρα  στάθμη ηχητικής πίεσης έως 90 dB – το επίπεδο μιας χορτοκοπτικής μηχανής. Οι στάθμες ηχητικής πίεσης είναι εξαιρετικά περίπλοκες, έτσι η τιμή του Αισθητήρα Ήχου στο NXT εμφανίζεται σε ποσοστό [%]. Όσο χαμηλότερο είναι το ποσοστό, τόσο πιο χαμηλής έντασης είναι ο ήχος, για παράδειγμα:

• 4-5% είναι όπως ένα σιωπηλό σαλόνι
• 5-10% κάποιος που μιλάει από κάποια απόσταση
• 10-30% είναι μια φυσιολογική συνομιλία κοντά στην αισθητήρα ή μουσική σε κανονική ένταση
• 30-100% είναι άτομα που φωνάζουν ή μουσική που παίζεται σε μεγάλη ένταση

Ελέγξτε το!

Έλεγξε την ικανότητα του Αισθητήρας Ήχου να διαβάζει την ένταση του ήχου:

1. Συνδέστε τον Αισθητήρας Ήχου στο NXT,
2. Επιλέξτε το υπομενού VIEW στην οθόνη του NXT,
3. Επιλέξτε το εικονίδιο
Sound,
4.
Επιλέξτε τη θύρα, όπου έχετε συνδέσει τον αισθητήρα.
5. Κάντε μερικές ήχους στον Αισθητήρα Ήχου και παρακολουθήστε τις αναγνώσεις που εμφανίζονται στην οθόνη του NXT.
Χρησιμοποιήστε τον αισθητήρα για να διαβάσετε μερικές ήχους από γύρω σας. Πόσο δυνατά μιλούν οι γονείς σας; Πόσο δυνατά χτυπά το κουδούνι της πόρτα σας;

Δοκιμάστε Με!

Το NXT έρχεται με μία λειτουργία Try Me (δοκιμάστε με). Συνδέστε ένα Αισθητήρας Ήχων στη θύρα 2 του NXT και επιλέξτε στην οθόνη του NXT πρώτα το υπομενού Try Me και μετά Try-Sound. Θα έχετε μια διασκεδαστική αντίδραση.

Tags : , | add comments


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

The Touch Sensor gives your robot a sense of touch. The Touch Sensor detects when it is being pressed by something and when it is released again.Ο Αισθητήρας Αφής δίνει στο ρομπότ σας την αίσθηση της αφής. Ο Αισθητήρας Αφής ανιχνεύει όταν αυτός πιέζεται απο κάτι άλλο και όταν απελευθερωθεί.


Προτάσεις για τη χρήση

Μπορείτε να χρησιμοποιήσετε τον Αισθητήρας Αφής για να κάνετε το ρομπότ σας να συλλέξει πράγματα: ένας ρομποτικός βραχίονας εφοδιασμένος με Αισθητήρας Αφής κάνει το ρομπότ σας να γνωρίζει αν υπάρχει ή δεν υπάρχει κάτι στο χέρι για να το αρπάξει. Ή μπορείτε να χρησιμοποιήσετε ένα Αισθητήρα Αφής στο ρομπότ σας για να αποφασίσει σχετικά με μια εντολή. Για παράδειγμα, πιέζοντας τον Αισθητήρα Αφής μπορείτε να κάνετε το ρομπότ να περπατά, να μιλά, να κλείνει μία πόρτα, ή να ανοίγει την τηλεόρασής σας.

Δοκιμάστε Με!

Το NXT έρχεται με μία λειτουργία Try Me (δοκιμάστε με). Συνδέστε ένα Αισθητήρα Αφής στη θύρα 1 του NXT και επιλέξτε στην οθόνη του NXT πρώτα το υπομενού Try Me και μετά Try-Touch. Θα έχετε μια διασκεδαστική αντίδραση.

Tags : , | add comments

Η πρώτη γενιά LEGO Mindstorms χτίστηκε γύρω από το κομμάτι της LEGO με τη μορφή τούβλου γνωστό ως RCX. Περιέχει έναν μικροελεγκτή Renesas H8/300 ως εσωτερική ΚΜΕ του. Το τούβλο προγραμματίζεται με τη μεταφόρτωση ενός προγράμματος (που γράφεται σε μια από διάφορες διαθέσιμες γλώσσες προγραμματισμού) από ένα PC ή MAC στη RAM του τούβλου μέσω μιας ειδικής υπέρυθρης διεπαφής (IR).

Αφότου αρχίσει ο χρήστης ένα πρόγραμμα, μια δημιουργία RCX Mindstorms μπορεί να λειτουργήσει από μόνη της, ενεργώντας στα εσωτερικά και εξωτερικά ερεθίσματα σύμφωνα με τις προγραμματισμένες οδηγίες. Επίσης, δύο ή περισσότερα τούβλα RCX μπορούν να επικοινωνήσουν το ένα με το άλλο μέσω της διεπαφής IR, επιτρέποντας τη συνεργασία ή τον ανταγωνισμό μεταξύ των τούβλων. Εκτός από τη θύρα IR, υπάρχουν τρεις θύρες εισαγωγής αισθητήρων και τρεις θύρες σύνδεσης μηχανών (επίσης χρησιμοποιήσιμοι για τους λαμπτήρες, κ.λπ.). Υπάρχει επίσης μία LCD που μπορεί να επιδείξει το επίπεδο φόρτισης των μπαταριών, την κατάσταση των θυρών εισόδου-εξόδου, το ποιο πρόγραμμα εκτελείται, καθώς και άλλες πληροφορίες. Τα τούβλα RCX έκδοσης 1.0 διαθέτουν μία παροχή ρεύματος για να επιτρέπουν τη συνεχή λειτουργία αντί της λειτουργίας περιορισμένου χρόνου κατά τη χρησιμοποίηση μπαταριών. Στην έκδοση RCX 2.0, η παροχή ρεύματος αφαιρέθηκε. Τα τούβλα RCX με παροχή ρεύματος είναι δημοφιλή για τα στατικά προγράμματα ρομποτικής (όπως τα ρομπότ βραχίονες) ή για τα πρότυπα μοντέλα τρένων Lego.

Κατασκευή του RCX

Το RCX (Robotic Control X), ειναι ένας αυτόνομος μικροελεγκτής που μπορεί να προγραμματιστεί χρησιμοποιώντας ένα PC. Το RCX χρησιμεύει ως ο εγκέφαλος των εφευρέσεων LEGO MINDSTORMS. Χρησιμοποιεί τους αισθητήρες που μας παρέχουν τα Mindstorms ως είσοδο από το περιβάλλον του, επεξεργάζεται αυτά τα στοιχεία, και με βάση αυτά δίνει κίνηση στους κινητήρες.

Προγραμματίζοντας το RCX

Οι χρήστες χτίζουν αρχικά το ρομπότ τους χρησιμοποιώντας τα κομμάτια LEGO και το RCX. Κατόπιν δημιουργούν ένα πρόγραμμα της αρεσκείας τους χρησιμοποιώντας όποια διαθέσιμη γλώσσα θέλουν (Robolab, NQC ή LEJOS, εμείς θα ασχοληθούμε μόνο με τη γλώσσα LEJOS) και το φορτώνουν στο RCX χρησιμοποιώντας μια ειδική υπέρυθρη συσκευή αποστολής σημάτων. Η δημιουργία τους μπορεί πλέον να αλληλεπιδράσει με το περιβάλλον, πλήρως αυτόνομα. Η επικοινωνία γίνεται με τη βοήθεια του υπέρυθρου φωτός. Ένας υπέρυθρος αισθητήρας συνδέεται σε σειριακή θύρα ή σε θύρα USB. Μια ασύρματη σύνδεση με το ίδιο το RCX του επιτρέπει να κινηθεί ελεύθερα, ειδικά ως τμήμα της κίνησης των οχημάτων ρομπότ

Η επικοινωνία μεταξύ PC και RCX

Οι θύρες του RCX

Το RCX έχει τρεις θύρες εισόδου για αισθητήρες (π.χ. αισθητήρα αφής ή αισθητήρα φωτός) και τρεις θύρες εξόδου (π.χ. για τους κινητήρες ή για τα λαμπάκια).

Υποστηριζόμενες Γλώσσες προγραμματισμού

  • RCX Code (περιέχεται στις Mindstorm εκδόσεις λιανικής)
  • ROBOLAB (βασίζεται στο LabVIEW και αναπτύχθηκε στο Tufts University)

Δημοφιλείς Γλώσσες τρίτων κατασκευαστών:

  • C and C++ under BrickOS (formerly LegOS)
  • Java under leJOS or TinyVM
  • NQC («Not Quite C»)
  • pbFORTH (επεκτάσεις της Forth γλώσσας προγραμματισμού)
  • Visual Basic (μέσω του COM+ interface παρεχόμενο με το CD)
  • RobotC (νέα γλώσσα συμβατή με την έκδοση NXT )

Η γλώσσα LEJOS

Το LEGO Java Operating System (LeJos) είναι μια γλώσσα προγραμματισμού βασισμένη σε JAVA που χρησιμοποιείται για να προγραμματίζουμε το RCX. Από τη στιγμή που η JAVA είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού, έτσι και η LeJos μας προσφέρει όλα τα πλεονεκτήματα του αντικειμενοστραφούς προγραμματισμού. Το LeJOS αναπτύχθηκε εξ’ολοκλήρου από τον Jose Solorzano, αλλά τώρα συντηρείται από τους Paul Andrews και Jürgen Stuber. Το γεγονός ότι το leJOS είναι ένα καινούργιο firmware για το RCX σημαίνει ότι μπορούμε να κάνουμε τα προγράμματα μας πιο εξελιγμένα από ότι ήταν δυνατό χρησιμοποιώντας είτε το προγραμματιστικό περιβάλλον της LEGO (Robolab) είτε το NQC (Not Quite C).

Tags : , | add comments