LEGO Mindstorms Education EV3 - Κριτική του σχεδιαστή. Διαβάστε τα τελευταία νέα από τον κόσμο των Lego – EduCube. LEGO Mindstorms EV3. Toy Skynet. Αρχική Πώς να προσθέσετε πρόσθετες μονάδες lego ev3

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

Τώρα όλα ξεκινούν με μια κριτική λογισμικόΜπλοκ EV3 (υλικολογισμικό EV3).

Ένα από τα χαρακτηριστικά της νέας μονάδας είναι ότι χρειάζεται πολύς χρόνος για να ενεργοποιηθεί και να απενεργοποιηθεί. Από άποψη χρόνου, η διαδικασία είναι συγκρίσιμη με την ένταξη κινητό τηλέφωνοή home router, π.χ. 20-30 δευτερόλεπτα. Μετά την ενεργοποίηση, εμφανίζεται το ακόλουθο μενού:


Όπως μπορείτε να δείτε, σε σύγκριση με το μπλοκ NXT, έχουν αλλάξει πολλά: η ποιότητα των γραμματοσειρών έχει βελτιωθεί, τα γραφικά στοιχεία έχουν σχεδιαστεί περισσότερο και η διεπαφή παραθύρου έχει βελτιωθεί. Πρώτα απ 'όλα, αυτό οφείλεται στο γεγονός ότι το μέγεθος της οθόνης έχει πλέον αυξηθεί - έχει γίνει 178 επί 128 εικονοστοιχεία, αντί για 100 επί 64, όπως το μπλοκ NXT. Με βάση την παρουσία μιας διεπαφής παραθύρου με ενσωματωμένα κουμπιά και γραμμές κύλισης, μπορεί να υποτεθεί ότι συσκευές όπως μια εξωτερική Touchpadθα έχει ακόμα πιο νόημα τώρα.


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

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


Δεύτερη οθόνη - σας επιτρέπει να πλοηγηθείτε στα αντικείμενα του συστήματος αρχείων στο μπλοκ. Σύστημα αρχείωντώρα υποστηρίζει την παραδοσιακή ιεραρχία: αρχεία και καταλόγους.


Η τρίτη οθόνη περιέχει ένα υπομενού - εφαρμογές που σας επιτρέπουν να εκτελέσετε διάφορες ενέργειες με το μπλοκ:


ΣΕ τρέχουσα έκδοσηΥπάρχουν τέσσερα μπλοκ λογισμικού τέτοιων εφαρμογών:

  • Προβολή αισθητήρων
  • Μηχανικός έλεγχος
  • Τηλεχειριστήριο
  • Προγραμματισμός στο μπλοκ
Η τέταρτη οθόνη είναι η ρύθμιση παραμέτρων. εκτός βασικές ρυθμίσεις: επίπεδο ήχου, χρονοδιακόπτης αδράνειας, ενεργοποίηση BlueTooth και WiFi, σας επιτρέπει να μάθετε πληροφορίες σχετικά με το λογισμικό της μονάδας:



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

Τώρα θα πρέπει να επιστρέψετε στην τρίτη οθόνη και να αρχίσετε να εξοικειώνεστε με τις εφαρμογές. Έτσι, η εφαρμογή «Προβολή αισθητήρων» (Port View).

Σε αντίθεση με μια παρόμοια λειτουργία στο μπλοκ NXT, μπορείτε πλέον να δείτε πληροφορίες και για τις 8 συσκευές που είναι συνδεδεμένες στο μπλοκ ταυτόχρονα. Επιπλέον, η δηλωμένη λειτουργικότητα της αυτόματης ανίχνευσης αισθητήρων σάς επιτρέπει να μην υποδεικνύετε χειροκίνητα ποιος αισθητήρας είναι συνδεδεμένος πού.

Οι πληροφορίες από τους κωδικοποιητές κινητήρα εμφανίζονται στο επάνω μέρος, οι πληροφορίες από τους αισθητήρες εμφανίζονται στο κάτω μέρος. Στο κέντρο της οθόνης - πληροφορίες για συγκεκριμένη συσκευή(V συγκεκριμένο λιμάνι), το οποίο μπορεί να επιλεγεί πατώντας τα κουμπιά ελέγχου στο πληκτρολόγιο. Οι πληροφορίες περιλαμβάνουν μια γραφική αναπαράσταση του αισθητήρα, το όνομά του και τις τρέχουσες ενδείξεις:

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


Γυροσκοπικός αισθητήρας:


Αισθητήρας χρώματος σε λειτουργία ανακλώμενου φωτός:


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

Εδώ, παρεμπιπτόντως, μπορείτε να δείτε ότι ο αισθητήρας τώρα ισχυρίζεται ότι μπορεί να μετρήσει αποστάσεις με ακρίβεια χιλιοστών και η ελάχιστη μετρούμενη απόσταση είναι τώρα 3 cm.

Πληροφορίες από τον αριστερό κωδικοποιητή κινητήρα.


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


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


Φυσικά, τα περισσότερα ενδιαφέρουσα εφαρμογήπρογραμματίζει σε μπλοκ. Έχει επανασχεδιαστεί σημαντικά: ένα πρόγραμμα μπορεί πλέον να περιέχει έως και 16 στοιχεία προγράμματος (μπλοκ) και τα δημιουργημένα προγράμματα μπορούν να αποθηκευτούν και, φυσικά, να ανοίξουν ξανά για τροποποίηση.


Όταν ανοίξει η εφαρμογή εγγραφής προγράμματος, εμφανίζεται ένας κενός βρόχος εκτέλεσης (θα εκτελεστεί μόνο μία επανάληψη) και μια πρόταση για εισαγωγή του πρώτου μπλοκ. Μπορείτε να εισαγάγετε ένα μπλοκ χρησιμοποιώντας το κουμπί "Επάνω".


Στο παράθυρο επιλογής μπλοκ που εμφανίζεται, είναι διαθέσιμα 17 μπλοκ (6 μπλοκ ενεργειών και 11 μπλοκ αναμονής) συν την ενέργεια διαγραφής του τρέχοντος μπλοκ.



Η σειρά επιλογής και η σειρά των μπλοκ καθορίζεται από τον προγραμματιστή. Δεν σημαίνει ότι μετά από κάθε μπλοκ δράσης πρέπει να υπάρχει ένα μπλοκ αναμονής, όπως συνέβαινε προηγουμένως με το μπλοκ NXT.

Το επιλεγμένο μπλοκ στο πρόγραμμα μοιάζει με αυτό:


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


Μετακινώντας τον «δρομέα» προς τα αριστερά ή προς τα δεξιά, μπορείτε να εισαγάγετε ένα άλλο μπλοκ:


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


Και αλλάξτε τη συμπεριφορά του (το συμβάν θα συμβεί εάν η απόσταση γίνει μεγαλύτερη από 60 cm):


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


Ακολουθούν περισσότερα παραδείγματα μπλοκ αναμονής:

Μπλοκ χρόνου αναμονής (μπορείτε να ορίσετε ακριβώς πόσο καιρό θα περιμένετε):


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


Θα πρέπει και πάλι να σημειωθεί ότι η λειτουργία αυτόματης ανίχνευσης αισθητήρα απλοποιεί τη διαδικασία προγραμματισμού στη μονάδα. Δεν χρειάζεται πλέον να τηρείτε τον κανόνα ότι ορισμένοι αισθητήρες πρέπει να συνδέονται σε συγκεκριμένες θύρες.

Εάν το πρόγραμμα πρέπει να εκτελεστεί πολλές φορές, ο αριθμός των επαναλήψεων του βρόχου ελέγχου μπορεί να αλλάξει:


Το πρόγραμμα εκκινείται επιλέγοντας το πρώτο μπλοκ:


Όταν ξεκινάτε το πρόγραμμα, στην οθόνη θα εμφανιστούν τα εξής:


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



Τα γράμματα επιλέγονται χρησιμοποιώντας το πληκτρολόγιο (γεια, επιφάνεια αφής!)

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


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


Φυσικά, ανοίγουν μόνο τα προγράμματα που δημιουργούνται στο μπλοκ.

Εν κατακλείδι, θα ήθελα να δείξω πώς μοιάζει η απενεργοποίηση ενός μπλοκ:


Σύνδεση USB

LEGO MindstormsΤο EV3 μπορεί να συνδεθεί με υπολογιστή ή άλλο EV3 μέσω σύνδεσης USB. Η ταχύτητα και η σταθερότητα σύνδεσης σε αυτήν την περίπτωση είναι καλύτερες από οποιαδήποτε άλλη μέθοδο, συμπεριλαμβανομένου του Bluetooth.

Το LEGO Mindstorms EV3 διαθέτει δύο θύρες USB.

Επικοινωνία μεταξύ του LEGO EV3 και άλλων μπλοκ LEGO EV3 σε λειτουργία αλυσίδας μαργαρίτα.

Η λειτουργία αλυσίδας Daisy χρησιμοποιείται για τη σύνδεση δύο ή περισσότερων μπλοκ LEGO EV3.

Αυτή η λειτουργία:

  • έχει σχεδιαστεί για να συνδέει περισσότερα από ένα LEGO Mindstorms EV3.
  • χρησιμεύει για σύνδεση περισσότεροαισθητήρες, κινητήρες και άλλες συσκευές.
  • Επιτρέπει την επικοινωνία μεταξύ πολλών LEGO Mindstorms EV3 (έως 4), που μας δίνει έως και 16 εξωτερικές θύρες και τον ίδιο αριθμό εσωτερικών θυρών.
  • καθιστά δυνατό τον έλεγχο ολόκληρης της αλυσίδας από το κύριο LEGO Mindstorms EV3.
  • δεν μπορεί να λειτουργήσει όταν είναι ενεργό Σύνδεση Wi-Fiή Bluetooth.

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

Όταν επιλεγεί αυτή η λειτουργία, τότε για οποιοδήποτε μοτέρ μπορούμε να επιλέξουμε το μπλοκ EV3 που θα χρησιμοποιηθεί και τους απαραίτητους αισθητήρες.

Ο πίνακας δείχνει επιλογές για τη χρήση μπλοκ EV3:

Δράση

Μεσαίου κινητήρα

Μεγάλος κινητήρας

Πηδαλιούχηση

Ανεξάρτητη διαχείριση

Γυροσκοπικός

Υπέρυθρες

Υπερηχητικός

Περιστροφή κινητήρα

Θερμοκρασίες

Μετρητής ενέργειας

Ήχος

Σύνδεση μέσω Bluetooth

Το Bluetooth επιτρέπει στο LEGO Mindstorms EV3 να συνδέεται με υπολογιστή, άλλα LEGO Mindstorms EV3, smartphone και άλλες συσκευές Bluetooth. Η εμβέλεια επικοινωνίας μέσω Bluetooth είναι έως και 25 μέτρα.

Μπορείτε να συνδέσετε έως και 7 μπλοκ σε ένα LEGO Mindstorms EV3. Το EV3 Master Brick σάς επιτρέπει να στέλνετε και να λαμβάνετε μηνύματα σε κάθε EV3 Slave. Τα EV3 Slaves μπορούν να στείλουν μηνύματα μόνο στο EV3 Master Brick, όχι ο ένας στον άλλο.

Ακολουθία σύνδεσης EV3 μέσω Bluetooth

Για να συνδέσετε δύο ή περισσότερα μπλοκ EV3 μεταξύ τους μέσω Bluetooth, πρέπει να εκτελέσετε τα ακόλουθα βήματα:

1. Ανοίξτε μια καρτέλα Ρυθμίσεις.

2. Επιλέξτε Bluetoothκαι πατήστε το κεντρικό κουμπί.

3. Βάζουμε Πλαίσιο ελέγχου ορατότητα Bluetooth.

4. Ελέγξτε ότι η πινακίδα Bluetooth ("<") виден на верхней левой стороне.

5. Κάντε την παραπάνω διαδικασία για τον απαιτούμενο αριθμό EV3 Bricks.

6. Μεταβείτε στην καρτέλα Σύνδεση:

7. Κάντε κλικ στο κουμπί Αναζήτηση:

8. Επιλέξτε το EV3 στο οποίο θέλετε να συνδεθείτε (ή στο οποίο θέλετε να συνδεθείτε) και πατήστε το κεντρικό κουμπί.

9. Συνδέουμε το πρώτο και το δεύτερο μπλοκ με το κλειδί πρόσβασης.

Εάν τα κάνετε όλα σωστά, το εικονίδιο " θα εμφανιστεί στην επάνω αριστερή γωνία<>", συνδέστε άλλα μπλοκ EV3 με τον ίδιο τρόπο εάν υπάρχουν περισσότερα από δύο από αυτά.

Εάν απενεργοποιήσετε το LEGO EV3, η σύνδεση θα χαθεί και θα χρειαστεί να επαναλάβετε όλα τα βήματα.

Σημαντικό: κάθε μπλοκ πρέπει να έχει γραμμένο το δικό του πρόγραμμα.

Παράδειγμα προγράμματος:

First Block: Όταν πατηθεί ο αισθητήρας αφής, το πρώτο EV3 Block μεταδίδει το κείμενο στο δεύτερο Block με καθυστέρηση 3 δευτερολέπτων (Main Block).

Παράδειγμα προγράμματος για το μπλοκ 2:

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

Συνδεθείτε μέσω Wi-Fi

Η επικοινωνία μεγαλύτερης εμβέλειας είναι δυνατή συνδέοντας το Wi-Fi Dongle στη θύρα USB του EV3.

Για να χρησιμοποιήσετε το Wi-Fi, πρέπει να εγκαταστήσετε μια ειδική μονάδα στο μπλοκ EV3 χρησιμοποιώντας μια υποδοχή USB (προσαρμογέας Wi-Fi (Netgear N150 Wireless Adapter (WNA1100) ή μπορείτε να συνδέσετε ένα Wi-Fi Dongle.

Εάν, όπως εμείς, δεν έχετε τις δυνατότητες των τυπικών αισθητήρων EV3, οι 4 θύρες για αισθητήρες στα ρομπότ σας δεν είναι αρκετές ή θέλετε να συνδέσετε μερικά εξωτικά περιφερειακά στο ρομπότ σας - αυτό το άρθρο είναι για εσάς. Πιστέψτε με, ένας σπιτικός αισθητήρας για το EV3 είναι πιο εύκολος από ό,τι φαίνεται. Ένα «πόμολο έντασης» από ένα παλιό ραδιόφωνο ή μερικά καρφιά κολλημένα στο έδαφος σε μια γλάστρα ως αισθητήρας υγρασίας εδάφους είναι τέλεια για το πείραμα.

Παραδόξως, κάθε θύρα αισθητήρα EV3 κρύβει μια σειρά από διαφορετικά πρωτόκολλα, κυρίως για συμβατότητα με NXT και αισθητήρες τρίτων κατασκευαστών. Ας δούμε πώς λειτουργεί το καλώδιο EV3


Είναι περίεργο, αλλά το κόκκινο καλώδιο είναι γείωση (GND), το πράσινο καλώδιο είναι το συν του τροφοδοτικού 4,3 V. Το μπλε καλώδιο είναι και SDA για το δίαυλο I2C και TX για το πρωτόκολλο UART. Επιπλέον, το μπλε καλώδιο είναι η είσοδος του μετατροπέα αναλογικού σε ψηφιακό για το EV3. Το κίτρινο καλώδιο είναι και SCL για το δίαυλο I2C και RX για το πρωτόκολλο UART. Το λευκό καλώδιο είναι η είσοδος του μετατροπέα αναλογικού σε ψηφιακό για αισθητήρες NXT. Μαύρο - ψηφιακή είσοδος, για αισθητήρες συμβατούς με NXT - αντιγράφει το GND. Δεν είναι εύκολο, έτσι δεν είναι; Πάμε με τη σειρά.

Αναλογική είσοδος EV3

Κάθε θύρα αισθητήρα έχει ένα κανάλι μετατροπέα αναλογικού σε ψηφιακό. Χρησιμοποιείται για αισθητήρες όπως ο αισθητήρας αφής (κουμπί), ο αισθητήρας φωτός NXT και ο αισθητήρας χρώματος σε λειτουργία ανακλώμενου φωτός και φωτός περιβάλλοντος, ο αισθητήρας ήχου NXT και το θερμόμετρο NXT.

Μια αντίσταση 910 Ohm, συνδεδεμένη σύμφωνα με το διάγραμμα, λέει στον ελεγκτή ότι αυτή η θύρα πρέπει να αλλάξει σε λειτουργία αναλογικής εισόδου. Σε αυτήν τη λειτουργία, μπορείτε να συνδέσετε οποιονδήποτε αναλογικό αισθητήρα στο EV3, για παράδειγμα από το Arduino. Η συναλλαγματική ισοτιμία με έναν τέτοιο αισθητήρα μπορεί να φτάσει αρκετές χιλιάδες δημοσκοπήσεις ανά δευτερόλεπτο· αυτός είναι ο ταχύτερος τύπος αισθητήρα.

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

Θερμόμετρο

Αισθητήρας υγρασίας εδάφους

Μπορείτε επίσης να συνδέσετε: ένα μικρόφωνο, ένα κουμπί, έναν αποστασιόμετρο υπερύθρων και πολλούς άλλους κοινούς αισθητήρες. Εάν η ισχύς 4,3 V δεν επαρκεί για τον αισθητήρα, μπορείτε να τον τροφοδοτήσετε με 5 V από τη θύρα USB που βρίσκεται στο πλάι του ελεγκτή EV3.

Το προαναφερθέν "κουμπί έντασης" (γνωστό και ως μεταβλητή αντίσταση ή ποτενσιόμετρο) είναι ένα εξαιρετικό παράδειγμα αναλογικού αισθητήρα - μπορεί να συνδεθεί ως εξής:

Για να διαβάσετε τιμές από έναν τέτοιο αισθητήρα στο τυπικό περιβάλλον προγραμματισμού LEGO, πρέπει να χρησιμοποιήσετε το μπλε μπλοκ RAW

Πρωτόκολλο I2C

Αυτό είναι ένα ψηφιακό πρωτόκολλο· για παράδειγμα, ο αισθητήρας υπερήχων NXT και πολλοί αισθητήρες Hitechnic, όπως το IR Seeker ή το Color Sensor V2, εργάζονται σε αυτό. Για άλλες πλατφόρμες, για παράδειγμα για το Arduino, υπάρχουν πολλοί αισθητήρες i2c, μπορείτε επίσης να τους συνδέσετε. Το σχέδιο έχει ως εξής:

Μια αντίσταση 82 ohms συνιστάται από την ομάδα LEGO, αλλά διάφορες πηγές αναφέρουν 43 ohms ή λιγότερο. Στην πραγματικότητα, προσπαθήσαμε να εγκαταλείψουμε εντελώς αυτές τις αντιστάσεις και όλα λειτουργούν, τουλάχιστον «στο τραπέζι». Σε ένα πραγματικό ρομπότ που λειτουργεί σε συνθήκες διαφόρων ειδών παρεμβολών, οι γραμμές SCL και SDA θα πρέπει να είναι συνδεδεμένες στην τροφοδοσία ρεύματος μέσω αντιστάσεων, όπως φαίνεται στο παραπάνω διάγραμμα. Η ταχύτητα λειτουργίας του i2c στο EV3 είναι αρκετά χαμηλή, περίπου 10.000 kbps, γι' αυτό και ο αγαπημένος σε όλους Hitechnic Color Sensor V2 είναι τόσο αργός :)

Δυστυχώς, για το τυπικό EV3-G της LEGO δεν υπάρχει πλήρες μπλοκ για αμφίδρομη επικοινωνία με αισθητήρα i2c, αλλά χρησιμοποιώντας περιβάλλοντα προγραμματισμού τρίτων όπως το RobotC, το LeJOS ή το EV3 Basic, μπορείτε να αλληλεπιδράσετε με σχεδόν οποιονδήποτε αισθητήρα i2c .

Η ικανότητα του EV3 να λειτουργεί χρησιμοποιώντας το πρωτόκολλο i2c ανοίγει μια ενδιαφέρουσα δυνατότητα σύνδεσης πολλαπλών αισθητήρων σε μία θύρα. Το πρωτόκολλο I2C σάς επιτρέπει να συνδέσετε έως και 127 βοηθητικές συσκευές σε ένα δίαυλο. Φαντάζεσαι? 127 αισθητήρες για κάθε θύρα EV3 :) Επιπλέον, συχνά μια δέσμη αισθητήρων i2c συνδυάζονται σε μια συσκευή, για παράδειγμα στην παρακάτω φωτογραφία υπάρχει ένας αισθητήρας 10 σε 1 (περιέχει πυξίδα, γυροσκόπιο, επιταχυνσιόμετρο, βαρόμετρο κ.λπ.)

UART

Σχεδόν όλοι οι τυπικοί αισθητήρες εκτός EV3, με εξαίρεση τον αισθητήρα αφής, λειτουργούν χρησιμοποιώντας το πρωτόκολλο UART και γι' αυτό δεν είναι συμβατοί με τον ελεγκτή NXT, ο οποίος, αν και έχει τις ίδιες συνδέσεις, δεν έχει ενσωματωμένο UART στον αισθητήρα του. λιμάνια. Ρίξτε μια ματιά στο διάγραμμα, είναι λίγο πιο απλό από ό, τι σε προηγούμενες περιπτώσεις:

Οι αισθητήρες UART αντιστοιχούν αυτόματα στην ταχύτητα λειτουργίας τους με το EV3. Συνδέοντας αρχικά με ταχύτητα 2400 kbit/s, συμφωνούν για τους τρόπους λειτουργίας και τις συναλλαγματικές ισοτιμίες και μετά μετακινούνται σε αυξημένη ταχύτητα. Οι τυπικές συναλλαγματικές ισοτιμίες για διαφορετικούς αισθητήρες είναι 38400 και 115200 kbit/s.
Η LEGO έχει εφαρμόσει ένα αρκετά περίπλοκο πρωτόκολλο στους αισθητήρες UART της, επομένως δεν υπάρχουν αισθητήρες τρίτων που δεν προορίζονταν αρχικά για αυτήν την πλατφόρμα, αλλά είναι συμβατοί με αυτήν. Ωστόσο, αυτό το πρωτόκολλο είναι πολύ βολικό για τη σύνδεση "σπιτικού"
αισθητήρες βασισμένοι σε μικροελεγκτές.
Υπάρχει μια υπέροχη βιβλιοθήκη για το Arduino που ονομάζεται EV3UARTEmulation, γραμμένη από τον διάσημο προγραμματιστή της LeJOS, Lawrie Griffiths, η οποία επιτρέπει σε αυτόν τον πίνακα να προσποιείται ότι είναι ένας αισθητήρας συμβατός με UART-LEGO. Το ιστολόγιό του στο LeJOS News έχει πολλά παραδείγματα σύνδεσης αισθητήρων αερίου, αισθητήρα IMU και ψηφιακής πυξίδας χρησιμοποιώντας αυτήν τη βιβλιοθήκη.

Παρακάτω στο βίντεο είναι ένα παράδειγμα χρήσης ενός σπιτικού αισθητήρα. Δεν έχουμε αρκετούς αρχικούς αισθητήρες απόστασης LEGO, επομένως χρησιμοποιούμε έναν σπιτικό στο ρομπότ:


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

Το άρθρο περιγράφει την εμπειρία χρήσης του κατασκευαστή Lego Mindstorms EV3 για τη δημιουργία ενός πρωτοτύπου ενός ρομπότ με το επόμενο λογισμικό και τον χειροκίνητο έλεγχο χρησιμοποιώντας τη γλώσσα Robot Control Meta (RCML).

  • Συναρμολόγηση ενός πρωτοτύπου ρομπότ που βασίζεται στο Lego Mindstorms EV3
  • Γρήγορη εγκατάσταση και διαμόρφωση του RCML για Windows
  • Έλεγχος λογισμικού του ρομπότ με βάση τον ελεγκτή EV3
  • Χειροκίνητος έλεγχος περιφερειακών ρομπότ με χρήση πληκτρολογίου και gamepad
Κοιτάζοντας λίγο μπροστά, θα προσθέσω ότι για να εφαρμόσετε τον έλεγχο ενός ρομπότ Lego χρησιμοποιώντας ένα πληκτρολόγιο, πρέπει να δημιουργήσετε ένα πρόγραμμα που περιέχει μόνο 3 γραμμές κώδικα προγράμματος. Περισσότερες λεπτομέρειες για το πώς να το κάνετε αυτό αναγράφονται κάτω από την περικοπή.

1. Αρχικά, δημιουργήθηκε ένα πρωτότυπο ρομπότ από τον κατασκευαστή Lego Mindstorms EV3, το οποίο θα χρησιμοποιηθεί για προγραμματισμό και χειροκίνητη πιλοτική λειτουργία.

Περιγραφή του πρωτοτύπου ρομπότ

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



2. Το επόμενο βήμα είναι να προετοιμάσετε το RCML για εργασία με τον κατασκευαστή Lego Mindstorms EV3.

Θα πρέπει να κάνετε λήψη αρχείων με εκτελέσιμα αρχεία και αρχεία βιβλιοθήκης και .

Τα ληφθέντα αρχεία πρέπει να εξαχθούν σε έναν κατάλογο με αυθαίρετο όνομα, αλλά θα πρέπει αποφύγειΡωσικά γράμματα στον τίτλο.

Τα περιεχόμενα του καταλόγου μετά την αποσυσκευασία των αρχείων σε αυτόν



Στη συνέχεια, πρέπει να δημιουργήσετε ένα αρχείο διαμόρφωσης config.ini, το οποίο πρέπει να βρίσκεται στον ίδιο κατάλογο. Για να εφαρμόσετε τη δυνατότητα ελέγχου του ελεγκτή EV3 χρησιμοποιώντας πληκτρολόγιο και gamepad, πρέπει να συνδέσετε τις μονάδες lego_ev3, πληκτρολογίου και gamepad.

Καταχώριση του αρχείου διαμόρφωσης config.ini για RCML

Module = module lego_ev3 = μονάδα πληκτρολογίου = gamepad


Στη συνέχεια, πρέπει να αντιστοιχίσετε τον ελεγκτή EV3 και τον προσαρμογέα.

Οδηγίες για τη σύζευξη του ελεγκτή EV3 και του προσαρμογέα Bluetooth

Οι οδηγίες περιέχουν ένα παράδειγμα σύζευξης του ελεγκτή Lego Ev3 και ενός υπολογιστή με λειτουργικό σύστημα Windows 7.

1. Πρέπει να μεταβείτε στην ενότητα ρυθμίσεων του ελεγκτή Ev3 και, στη συνέχεια, στο στοιχείο μενού "Bluetooth".

2. Βεβαιωθείτε ότι οι παράμετροι διαμόρφωσης έχουν ρυθμιστεί σωστά. Τα πλαίσια ελέγχου πρέπει να ελέγχονται δίπλα στα στοιχεία "Ορατότητα", "Bluetooth".

3. Πρέπει να μεταβείτε στον «Πίνακα Ελέγχου», μετά «Συσκευές και Εκτυπωτές» και μετά «Συσκευές Bluetooth».

4. Πρέπει να κάνετε κλικ στο κουμπί "Προσθήκη συσκευής". Θα ανοίξει ένα παράθυρο για να επιλέξετε διαθέσιμες συσκευές Bluetooth.

5. Επιλέξτε τη συσκευή «EV3» και κάντε κλικ στο κουμπί «Επόμενο».

6. Ο ελεγκτής EV3 εμφανίζει το πλαίσιο διαλόγου «Σύνδεση;». Πρέπει να επιλέξετε την επιλογή του πλαισίου ελέγχου και να επιβεβαιώσετε την επιλογή σας πατώντας το κεντρικό πλήκτρο.

7. Στη συνέχεια, θα εμφανιστεί το πλαίσιο διαλόγου "PASSKEY", οι αριθμοί "1234" θα πρέπει να υποδεικνύονται στη γραμμή εισαγωγής και, στη συνέχεια, θα πρέπει να επιβεβαιώσετε τη φράση-κλειδί για τη σύζευξη συσκευών πατώντας το κεντρικό πλήκτρο στη θέση με ένα σημάδι επιλογής.

8. Στον οδηγό σύζευξης συσκευών, θα εμφανιστεί μια φόρμα για την εισαγωγή του κλειδιού για τη σύζευξη συσκευών. Πρέπει να εισαγάγετε τον κωδικό "1234" και να πατήσετε το κουμπί "Επόμενο".

10. Στον υπολογιστή, πρέπει να επιστρέψετε στον «Πίνακα Ελέγχου», μετά «Συσκευές και Εκτυπωτές» και μετά «Συσκευές Bluetooth». Η λίστα των διαθέσιμων συσκευών θα εμφανίσει τη συσκευή με την οποία έγινε σύζευξη.

11. Κάντε διπλό κλικ για να μεταβείτε στις ιδιότητες σύνδεσης "EV3".

14. Το ευρετήριο θύρας COM που καθορίζεται στις ιδιότητες θα πρέπει να χρησιμοποιείται στο αρχείο διαμόρφωσης config.ini της λειτουργικής μονάδας lego_ev3. Το παράδειγμα δείχνει τις ιδιότητες σύνδεσης Bluetooth ενός ελεγκτή Lego EV3 που χρησιμοποιεί μια τυπική σειριακή θύρα COM14.


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

Καταχώριση του αρχείου διαμόρφωσης config.ini για τη λειτουργική μονάδα lego_ev3

Σύνδεση = COM14 dynamic_connection = 0


Τώρα πρέπει να διαμορφώσετε τη μονάδα πληκτρολογίου. Η λειτουργική μονάδα βρίσκεται στον κατάλογο control_modules και μετά στο πληκτρολόγιο. Θα πρέπει να δημιουργήσετε ένα αρχείο διαμόρφωσης config.ini δίπλα στο αρχείο keyboard_module.dll. Πριν δημιουργήσετε ένα αρχείο διαμόρφωσης, πρέπει να καθορίσετε ποιες ενέργειες πρέπει να εκτελούνται όταν πατάτε τα πλήκτρα.

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

Για παράδειγμα, θα χρησιμοποιήσω τα ακόλουθα πλήκτρα:

  • Τα βέλη πάνω/κάτω χρησιμοποιούνται για την περιστροφή του κινητήρα του πίσω τροχού προς τα εμπρός/πίσω
  • Αριστερά/δεξιά βέλη στρέφουν τους τροχούς αριστερά/δεξιά
Το αρχείο διαμόρφωσης της μονάδας πληκτρολογίου περιγράφει ποιοι άξονες είναι διαθέσιμοι στον προγραμματιστή για αλληλεπίδραση με το ρομπότ στη λειτουργία χειροκίνητου ελέγχου. Έτσι, στο παράδειγμα υπάρχουν δύο ομάδες ελέγχου - αυτοί είναι οι άξονες του πληκτρολογίου. Για να προσθέσετε έναν νέο άξονα, πρέπει να τηρείτε τους ακόλουθους κανόνες για την περιγραφή των αξόνων.

Κανόνες για την περιγραφή αξόνων για τη μονάδα πληκτρολογίου

1. Κατά την προσθήκη νέου άξονα, είναι απαραίτητο στην ενότητα προσθέστε μια ιδιότητα το όνομα της οποίας είναι το όνομα του άξονα και αντιστοιχίστε της την τιμή του κουμπιού πληκτρολογίου ΓΟΗΤΕΥΩμορφή, και δημιουργείται μια παρόμοια εγγραφή για κάθε κουμπί, π.χ. ένα όνομα άξονα μπορεί να χρησιμοποιηθεί πολλές φορές. Γενικά, γράφοντας σε μια ενότητα θα μοιάζει με αυτό:

Όνομα_άξονα = keyboard_button_value_in_HEX_format
2. Είναι απαραίτητο να ορίσετε τη μέγιστη και την ελάχιστη τιμή που μπορούν να απεικονιστούν κατά μήκος αυτού του άξονα. Για να το κάνετε αυτό, πρέπει να προσθέσετε μια ενότητα στο αρχείο ρυθμίσεων σε μια νέα γραμμή config.ini, το ίδιο με το όνομα του άξονα και ορίστε τις ιδιότητες ανώτερη_τιμήΚαι χαμηλότερη_τιμή, που αντιστοιχούν στο μέγιστο και το ελάχιστο του άξονα, αντίστοιχα. Σε γενικές γραμμές, αυτή η ενότητα μοιάζει με αυτό:

[όνομα_άξονα] άνω_τιμή = μέγιστη_τιμή_άξονα χαμηλότερη_τιμή = ελάχιστη_τιμή_άξονα
3. Στη συνέχεια, πρέπει να προσδιορίσετε ποια τιμή θα έχει ο άξονας εάν πατήσετε ένα κουμπί στο πληκτρολόγιο που ήταν προηγουμένως συνδεδεμένο σε αυτόν. Οι τιμές καθορίζονται με τη δημιουργία μιας ενότητας, το όνομα της οποίας αποτελείται από το όνομα του άξονα και την τιμή του κουμπιού του πληκτρολογίου στο ΓΟΗΤΕΥΩμορφή, χωρισμένη με υπογράμμιση. Για να ορίσετε την προεπιλεγμένη (μη πατημένη) και την κατάσταση πατημένο, χρησιμοποιήστε τις ιδιότητες unpressed_valueΚαι pressed_valueαντίστοιχα, στο οποίο μεταφέρονται οι τιμές. Η γενική άποψη της ενότητας σε αυτήν την περίπτωση μοιάζει με αυτό:

[αξονικό_όνομα_πληκτρολόγιο-κλειδί-τιμή] pressed_value = axis_value when_key_pressed unpressed_value = axis_value_when_key_pressed
Το κείμενο spoiler αντιγράφεται από την τεκμηρίωση RCML για ευκολία προβολής.


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

Καταχώριση του αρχείου διαμόρφωσης config.ini για τη μονάδα πληκτρολογίου

;Απαιτούμενη ενότητα ;όνομα_άξονα = κλειδί_κωδικός (σε μορφή HEX) ;Ο άξονας μετάβασης λαμβάνει τιμές από το επάνω_βέλος go = 0x26 ; Ο άξονας μετάβασης λαμβάνει τιμές από το go_down_arrow = 0x28 ; ο άξονας περιστροφής λαμβάνει τιμές από το αριστερό_βέλος περιστροφή 25 x rotate ; λαμβάνει τιμές από το δεξί_βέλος περιστροφή = 0x27 ;Περιγραφή του άξονα μετάβασης, πρέπει πάντα να έχει και τα δύο πλήκτρα ;Ανώτατο όριο τιμών άξονα μετάβασης άνω_τιμή = -100 ;Κάτω όριο τιμών άξονα μετάβασης χαμηλότερη_τιμή = 100 ;Περιγραφή του περιστρεφόμενος άξονας, πρέπει πάντα να έχει και τα δύο πλήκτρα; Ανώτερο όριο τιμών περιστροφής ) ;Όταν πατάτε το πλήκτρο *επάνω_βέλος*, ορίστε την τιμή του άξονα σε 50 pressed_value = 100 ;Όταν αφήνετε το πλήκτρο *επάνω_βέλος*, ορίστε την τιμή άξονα σε 0 unpressed_value = 0 ;Περιγραφή της συμπεριφοράς του άξονα μετάβασης για το *κάτω_βέλος * πλήκτρο (0x28) ;Όταν πατάτε το πλήκτρο *κάτω_βέλος*, ορίστε την τιμή του άξονα σε -50 pressed_value = -50 ;Όταν απελευθερώνετε το πλήκτρο *κάτω_βέλος*, ορίστε την τιμή άξονα σε 0 unpressed_value = 0 ;Περιγραφή συμπεριφοράς του άξονα περιστροφής για το πλήκτρο *αριστερό_βέλος* (0x25) ;Όταν πατάτε το πλήκτρο *αριστερό_βέλος*, ορίστε την τιμή του άξονα σε -5 pressed_value = -5 ;Όταν αφήσετε το πλήκτρο *αριστερό_βέλος*, ορίστε την τιμή άξονα σε 0 unpressed_value = 0 ;Περιγραφή του η συμπεριφορά του άξονα περιστροφής για το κλειδί *δεξιά_βέλος* (0x27) ;Όταν πατάτε το πλήκτρο *δεξιό_βέλος*, ορίστε την τιμή του άξονα σε 5 pressed_value = 5 ;Όταν απελευθερώνετε το πλήκτρο *δεξιό_βέλος*, ορίστε την τιμή άξονα σε 0 unpressed_value = 0


Στη συνέχεια, για να εφαρμόσετε τον έλεγχο χρησιμοποιώντας ένα gamepad, πρέπει να διαμορφώσετε τη μονάδα gamepad. Η διαμόρφωση μιας λειτουργικής μονάδας περιλαμβάνει τη δημιουργία ενός αρχείου διαμόρφωσης config.ini δίπλα στο gamepad_module.dll, που βρίσκεται στον κατάλογο control_modules και μετά στο gamepad.

Αρχείο διαμόρφωσης γενικής μονάδας για αλληλεπίδραση με ένα gamepad

;Απαιτούμενη ενότητα που περιγράφει τους άξονες που χρησιμοποιούνται ;Άξονας για τον τερματισμό της λειτουργίας χειροκίνητου ελέγχου Έξοδος = 9 ; 11 δυαδικοί άξονες που αντιστοιχούν στα κουμπιά του gamepad B1 = 1 B2 = 2 B3 = 3 B4 = 4 L1 = 7 L2 = 5 R1 = 8 R2 = 6 start = 10 T1 = 11 T2 = 12 ; 4 άξονες με ραβδί, δεξιό ραβδί κίνηση προς τα πάνω/κάτω RTUD = 13, δεξιό ραβδί κίνηση αριστερά/δεξιά RTLR = 16, αριστερό ραβδί πάνω/κάτω κίνηση LTUD = 15, αριστερό ραβδί κίνηση αριστερά/δεξιά LTLR = 14 . 2 άξονες του σταυρού;Κίνηση του σταυρού πάνω/κάτω βέληUD = 17 ;Κίνηση του σταυρού αριστερά/δεξιά βέληLR = 18 ;Περιγραφή της συμπεριφοράς του άξονα B1;Όταν πατάτε το κουμπί B1, ορίστε την τιμή του άξονα σε 1 upper_value = 1;Όταν αφήνετε το κουμπί B1, ορίστε την τιμή του άξονα σε 0 χαμηλότερη_τιμή = 0 ανώτερη_τιμή = 1 χαμηλότερη_τιμή = 0 ανώτερη_τιμή = 1 χαμηλότερη_τιμή = 0 ανώτερη_τιμή = 1 χαμηλότερη_τιμή = 0 ανώτερη_τιμή = 1 χαμηλότερη_τιμή = 0 ανώτερη_τιμή = 0 ανώτερη_τιμή = 0 ανώτερη_τιμή = 1 χαμηλότερη_τιμή = 0 ανώτερη_τιμή = 1 χαμηλότερη_τιμή = 0 ανώτερη_τιμή = 1 χαμηλότερη_τιμή = 0 ανώτερη_τιμή = 1 χαμηλότερη_τιμή = 0 ανώτερη_τιμή = 1 χαμηλότερη_τιμή = 0 ;Περιγραφή της συμπεριφοράς του δεξιού άξονα μοχλού που κινείται προς τα πάνω/κάτω ;Τη μέγιστη τιμή του άξονα πιθανή ανώτερη_τιμή άνω_τιμή = 0;Τιμή άξονα κατά τη μετάβαση στη μέγιστη δυνατή χαμηλότερη θέση χαμηλότερη_τιμή = 65535 ανώτερη_τιμή = 0 χαμηλότερη_τιμή = 65535 ανώτερη_τιμή = 0 χαμηλότερη_τιμή = 65535 ανώτερη_τιμή = 0 χαμηλότερη_τιμή = 65535 την επάνω_τιμή D της συμπεριφοράς της επάνω_τιμής; /κάτω κίνηση ;Τιμή άξονα όταν πατάτε το επάνω βέλος upper_value = 1 ;Τιμή άξονα όταν πατάτε το κάτω βέλος low_value = -1 upper_value = 1 lower_value = -1


Πρόσθετες πληροφορίες σχετικά με τις ιδιαιτερότητες της ρύθμισης της μονάδας gamepad εμφανίζονται στο εγχειρίδιο αναφοράς RCML.

3. Το επόμενο βήμα είναι να γράψετε ένα πρόγραμμα σε RCML.

Στη ρίζα του καταλόγου που δημιουργήθηκε, πρέπει να δημιουργήσετε ένα αρχείο προγράμματος. Το όνομα του αρχείου προγράμματος και η επέκτασή του μπορεί να είναι οτιδήποτε, αλλά θα πρέπει να αποφύγετε τα ρωσικά γράμματα στο όνομα. Το όνομα αρχείου που χρησιμοποιείται στο παράδειγμα είναι hello.rcml.

Για τη λειτουργική μονάδα lego_ev3, ο κωδικός κράτησης ρομπότ έχει την ακόλουθη μορφή:

@tr = robot_lego_ev3;

Η σελίδα σύνδεσης της μονάδας lego_ev3 περιγράφει τις περισσότερες από τις λειτουργίες που υποστηρίζονται από τον ελεγκτή. Ως παράδειγμα δοκιμής, δημιουργήθηκε ένα πρόγραμμα για την αυτόματη εισαγωγή του ρομπότ σε μια ολίσθηση.

Ο αλγόριθμος του προγράμματος έχει ως εξής:

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

Καταχώριση προγραμμάτων για ρομπότ Lego σε γλώσσα RCML

συνάρτηση main() ( @tr = robot_lego_ev3; //Κρατήστε το ρομπότ @tr->setTrackVehicle("B","C",0,0); //Ρύθμιση συγχρονισμού κινητήρα @tr->motorMoveTo("D",100 , 0,0); system.sleep(500); @tr->trackVehicleForward(-100); system.sleep(1000); @tr->motorMoveTo("D",50,-50,0); system. sleep (4000); @tr->motorMoveTo("D",50,50,0); system.sleep(4000); @tr->trackVehicleOff(); system.sleep(1000); )


Για να μεταγλωττίσετε το πρόγραμμα, πρέπει να χρησιμοποιήσετε τη γραμμή εντολών του παραθύρου. Αρχικά, θα πρέπει να μετακινηθείτε στον κατάλογο που δημιουργήθηκε με τα εκτελέσιμα αρχεία rcml_compiler.exe και rcml_intepreter.exe. Στη συνέχεια πρέπει να εισάγετε τις παρακάτω εντολές.

Εντολή για τη μεταγλώττιση του αρχείου hello.rcml:

Rcml_compiler.exe hello.rcml hello.rcml.pc
Ως αποτέλεσμα της μεταγλώττισης, ένα νέο αρχείο hello.rcml.pc θα εμφανιστεί στον δημιουργημένο κατάλογο.

Στιγμιότυπο οθόνης της γραμμής εντολών μετά την επιτυχή μεταγλώττιση



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

Rcml_intepreter.exe hello.rcml

Εμφάνιση της γραμμής εντολών κατά την εκτέλεση του προγράμματος



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

4. Το επόμενο βήμα είναι να ελέγξετε το ρομπότ χειροκίνητα χρησιμοποιώντας το πληκτρολόγιο.

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

  • Γωνία τιμονιού μπροστινού τροχού
  • Κατεύθυνση περιστροφής των πίσω τροχών

Λίστα του προγράμματος αλληλεπίδρασης μεταξύ του πληκτρολογίου και του ρομπότ Lego με βάση το χειριστήριο EV3

συνάρτηση main() ( @tr = robot_lego_ev3; //Κρατήστε το ρομπότ @tr->setTrackVehicle("B","C",0,0); //Ρύθμιση συστήματος συγχρονισμού κινητήρα.hand_control(@tr,"keyboard", " straight", "go", "speedMotorD", "rotate"); )


Στη συνέχεια, πρέπει να μεταγλωττίσετε το πρόγραμμα και να το εκτελέσετε. Το αποτέλεσμα του χειροκίνητου ελέγχου ενός ρομπότ Lego με χρήση πληκτρολογίου εμφανίζεται στο βίντεο στο κάτω μέρος της σελίδας.

5. Εκτός από το πληκτρολόγιο, είναι διαθέσιμη μια μονάδα gamepad που σας επιτρέπει να χειρίζεστε το ρομπότ χρησιμοποιώντας ένα gamepad. Για να εφαρμόσετε τον έλεγχο ρομπότ χρησιμοποιώντας ένα gamepad, είναι απαραίτητο να περιγράψετε σε επίπεδο προγράμματος ποιοι άξονες του ρομπότ θα λάβουν τις τιμές των αξόνων του gamepad.

Λίστα του προγράμματος για την αλληλεπίδραση μεταξύ του gamepad και του ρομπότ Lego

συνάρτηση main() ( @tr = robot_lego_ev3; //Κρατήστε το ρομπότ @tr->setTrackVehicle("B","C",0,0); //Ρύθμιση συστήματος συγχρονισμού κινητήρα.hand_control(@tr,"gamepad", " straight", "RTUD", "speedMotorD", "RTLR"); )


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

Αυτό το άρθρο παρουσιάζει εν συντομία ορισμένες μόνο από τις δυνατότητες του RCML. Η πιο λεπτομερής περιγραφή βρίσκεται στο εγχειρίδιο αναφοράς.

Περιγραφή της παρουσίασης ανά μεμονωμένες διαφάνειες:

1 διαφάνεια

Περιγραφή διαφάνειας:

2 διαφάνεια

Περιγραφή διαφάνειας:

Διεπαφή EV3 Brick Το EV3 Brick είναι το κέντρο ελέγχου που τροφοδοτεί τα ρομπότ σας. Με την οθόνη, τα κουμπιά ελέγχου Brick και τη διεπαφή EV3 Brick, η οποία περιέχει τέσσερα κύρια παράθυρα, έχετε πρόσβαση σε μια εκπληκτική ποικιλία μοναδικών χαρακτηριστικών EV3 Brick. Αυτές μπορεί να είναι απλές λειτουργίες, όπως η εκκίνηση και η διακοπή ενός προγράμματος, ή πολύπλοκες, όπως η σύνταξη του ίδιου του προγράμματος.

3 διαφάνεια

Περιγραφή διαφάνειας:

Διασύνδεση: Το μενού EV3 έχει ένα μενού που αποτελείται από 4 μέρη: Πρόσφατα προγράμματα Πλοήγηση αρχείου Εφαρμογές Brick Ρυθμίσεις

4 διαφάνεια

Περιγραφή διαφάνειας:

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

5 διαφάνεια

Περιγραφή διαφάνειας:

File Manager Πρόσβαση και διαχείριση όλων των αρχείων που είναι αποθηκευμένα στη μνήμη του μικροϋπολογιστή, καθώς και στην κάρτα μνήμης. Από αυτό το παράθυρο θα έχετε πρόσβαση και θα διαχειρίζεστε όλα τα αρχεία στο EV3 Brick, συμπεριλαμβανομένων των αρχείων που είναι αποθηκευμένα στην κάρτα SD. Τα αρχεία είναι οργανωμένα σε φακέλους έργων, οι οποίοι, εκτός από τα πραγματικά αρχεία προγράμματος, περιέχουν και τους ήχους και τις εικόνες που χρησιμοποιούνται σε κάθε έργο. Τα αρχεία μπορούν να μετακινηθούν ή να διαγραφούν χρησιμοποιώντας το πρόγραμμα πλοήγησης αρχείων. Τα προγράμματα που δημιουργούνται χρησιμοποιώντας το περιβάλλον προγραμματισμού λειτουργικών μονάδων και τις εφαρμογές καταγραφής δεδομένων λειτουργιών αποθηκεύονται χωριστά στους φακέλους BrkProg_SAVE και BrkDL_SAVE.

6 διαφάνεια

Περιγραφή διαφάνειας:

Το EV3 Control Box Applications έχει 4 προεγκατεστημένες εφαρμογές: A. Port View. Β. Έλεγχος κινητήρα. Β. Έλεγχος υπερύθρων. Δ. Περιβάλλον προγραμματισμού ενοτήτων.

7 διαφάνεια

Περιγραφή διαφάνειας:

A. Port View Στο πρώτο παράθυρο της εφαρμογής Port View, μπορείτε να δείτε γρήγορα ποιες θύρες έχουν αισθητήρες ή κινητήρες συνδεδεμένους σε αυτές. Χρησιμοποιήστε τα κουμπιά ελέγχου EV3 Brick για να πλοηγηθείτε σε μία από τις κατειλημμένες θύρες και θα δείτε τις τρέχουσες ενδείξεις από τον αισθητήρα ή τον κινητήρα. Εγκαταστήστε αρκετούς αισθητήρες και κινητήρες και πειραματιστείτε με διαφορετικές ρυθμίσεις. Για να δείτε ή να αλλάξετε τις τρέχουσες ρυθμίσεις για εγκατεστημένους κινητήρες και αισθητήρες, πατήστε το κεντρικό κουμπί. Για να επιστρέψετε στο κύριο παράθυρο εφαρμογής της μονάδας, κάντε κλικ στο κουμπί "Πίσω".

8 διαφάνεια

Περιγραφή διαφάνειας:

B. Έλεγχος κινητήρα Ελέγξτε την κίνηση προς τα εμπρός ή προς τα πίσω οποιουδήποτε κινητήρα που είναι συνδεδεμένος σε μία από τις τέσσερις θύρες εξόδου. Υπάρχουν δύο διαφορετικοί τρόποι λειτουργίας. Σε μία λειτουργία, θα μπορείτε να ελέγξετε τους κινητήρες που είναι συνδεδεμένοι στη θύρα A (χρησιμοποιώντας τα κουμπιά Πάνω και Κάτω) και στη θύρα D (χρησιμοποιώντας τα κουμπιά Αριστερά και Δεξιά). Στην άλλη λειτουργία, ελέγχετε τους κινητήρες που είναι συνδεδεμένοι στη θύρα B (χρησιμοποιώντας τα κουμπιά Πάνω και Κάτω) και τη θύρα C (χρησιμοποιώντας τα κουμπιά Αριστερά και Δεξιά). Η εναλλαγή μεταξύ αυτών των δύο λειτουργιών γίνεται χρησιμοποιώντας το κεντρικό κουμπί. Για να επιστρέψετε στο κύριο παράθυρο εφαρμογής της μονάδας, κάντε κλικ στο κουμπί "Πίσω".

Διαφάνεια 9

Περιγραφή διαφάνειας:

Έλεγχος υπερύθρων Ελέγχετε την κίνηση προς τα εμπρός ή προς τα πίσω οποιουδήποτε κινητήρα που είναι συνδεδεμένος σε μία από τις τέσσερις θύρες εξόδου χρησιμοποιώντας το τηλεχειριστήριο υπερύθρων ως τηλεχειριστήριο και τον αισθητήρα υπέρυθρων ως δέκτη (ο αισθητήρας υπερύθρων πρέπει να συνδεθεί στη θύρα 4 του EV3 Brick) . Υπάρχουν δύο διαφορετικοί τρόποι λειτουργίας. Σε μία λειτουργία θα χρησιμοποιήσετε τα κανάλια 1 και 2 στον απομακρυσμένο υπέρυθρο φάρο. Στο κανάλι 1, θα μπορείτε να ελέγχετε τους κινητήρες που είναι συνδεδεμένοι στη θύρα B (χρησιμοποιώντας τα κουμπιά 1 και 2 στο τηλεχειριστήριο IR beacon) και τη θύρα C (χρησιμοποιώντας τα κουμπιά 3 και 4 στο τηλεχειριστήριο IR). Στο κανάλι 2 θα μπορείτε να ελέγχετε τους κινητήρες που είναι συνδεδεμένοι στη θύρα A (χρησιμοποιώντας τα πλήκτρα 1 και 2) και στη θύρα D (χρησιμοποιώντας τα πλήκτρα 3 και 4). Σε μια άλλη λειτουργία, μπορείτε να ελέγξετε τους κινητήρες με τον ίδιο τρόπο, χρησιμοποιώντας τα κανάλια 3 και 4 στον απομακρυσμένο υπέρυθρο φάρο. Η εναλλαγή μεταξύ αυτών των δύο λειτουργιών γίνεται χρησιμοποιώντας το κεντρικό κουμπί. Για να επιστρέψετε στο κύριο παράθυρο εφαρμογής της μονάδας, κάντε κλικ στο κουμπί "Πίσω".

10 διαφάνεια

Περιγραφή διαφάνειας:

Περιβάλλον προγραμματισμού Brick Το EV3 Brick συνοδεύεται από εγκατεστημένο λογισμικό. Η εφαρμογή είναι παρόμοια με το λογισμικό που είναι εγκατεστημένο στον υπολογιστή σας. Αυτές οι οδηγίες περιέχουν τις βασικές πληροφορίες που χρειάζεστε για να ξεκινήσετε.

11 διαφάνεια

Περιγραφή διαφάνειας:

Ρυθμίσεις EV3 Brick Αυτό το παράθυρο σάς επιτρέπει να προβάλετε και να προσαρμόσετε διάφορες γενικές ρυθμίσεις στο EV3 Brick.

12 διαφάνεια

Περιγραφή διαφάνειας:

Προσαρμογή έντασης ήχου Μπορείτε να αυξήσετε ή να μειώσετε την Ένταση στην καρτέλα Ρυθμίσεις στο EV3.

Διαφάνεια 13