Η πρώτη γενιά 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).

Leave a Reply

You must be logged in to post a comment.