ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 4 TΟ ΡΟΜΠΟΤΙΚΟ ΟΧΗΜΑ ROGUE BLUE

Σχετικά έγγραφα
ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 1 ΤO ΡΟΜΠΟΤ INTELLITEK ER-2u

Περιγραφή της 3 ης εργαστηριακής εφαρμογής: ρομποτικό σύστημα LEGO NXT

Εισαγωγή στον Προγραμματισμό

Εγκατάσταση του Arduino IDE

1. Ηλεκτρικοί κινητήρες- σερβοκινητήρας 2. Ελεγκτές. ΜΠΔ, 9 Ο Εξάμηνο Σάββας Πιπερίδης

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

Εισαγωγή στη γλώσσα προγραμματισμού C++

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Μια πρόταση διδασκαλίας για το μάθημα του προγραμματισμού Η/Υ στο Λύκειο με τη μεθοδολογία STEM

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

Υπολογιστικά Συστήματα

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

Φύλλο εργασίας 6. Αποφυγή εμποδίων. Χωριστείτε σε ομάδες 2-3 ατόμων και απαντήστε στις ερωτήσεις του φύλλου εργασίας.

ΑΕΠΠ Ερωτήσεις θεωρίας

Ψευδοκώδικας. November 7, 2011

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

Το κύκλωμα σε breadboard

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).

Πληρουορική Γ Γσμμασίοσ

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Προγραμματισμός I (Θ)

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

Προγραμματισμός Υπολογιστών

Εισαγωγή στην γλώσσα προγραμματισμού C

Μαλούτα Θεανώ Σελίδα 1

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017

ΚΟΡΥΦΑΙΟ ΦΡΟΝΤΙΣΤΗΡΙΟ korifeo.gr Μάθημα :Προγραμματισμός Εξεταζόμενη ύλη : 2o, 3o,4o,5o κεφάλαιο ΘΕΜΑ 1 ο

Τα ηλεκτρονικά μέρη του ρομπότ Επιλογή των μονάδων εισόδου εξόδου ανάλογα το μοντέλο που θέλουμε να κατασκευάσουμε

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Διαδικασιακός Προγραμματισμός

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

2017 Κατασκευάζω και Προγραμματίζω με τον μικροελεγκτή Arduino

ΡΟΜΠΟΤΙΚΗ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ LEGO MINDSTORMS NXT. ΚΕΦΑΛΑΙΟ 7ο. Δραστηριότητες για το ΝΧΤ-G και το Robolab

Προγραµµατισµός στην Basic

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

4. Επιλογή και Επανάληψη

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

Πληροφορική. Εργαστηριακή Ενότητα 5 η : Μαθηματικοί Τύποι. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Πληροφορική 2. Γλώσσες Προγραμματισμού

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Εκχώρηση Τιμών

ιαφάνειες παρουσίασης #2

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

α) Πώς παίρνουμε αποφάσεις στην καθημερινή μας ζωή; Συμπληρώσετε τον παρακάτω πίνακα: τότε

Προτεινόμενα Θέματα ΑΕΠΠ

Πρόβλημα 37 / σελίδα 207

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Ανάπτυξη εφαρμογής Input-Output

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ

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

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

Προγραμματισμός Ι (ΗΥ120)

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Στοιχειώδης προγραμματισμός σε C++

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

Μέρος Α Γνωριμία με το περιβάλλον προγραμματισμού του ρομπότ OTTO

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

Πακέτο Lego Mindstorms

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Ανάπτυξη και Σχεδίαση Λογισμικού

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Σημαντικές δυνατότητες των σύγχρονων υπολογιστικών μηχανών: Αξιόπιστη καταγραφή πολύ μεγάλου όγκου δεδομένων

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Κεφάλαιο 8. Αριθμητική Λογική μονάδα

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

Γλώσσα Προγραμματισμού C

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

Εισαγωγή στην πληροφορική

Pascal, απλοί τύποι, τελεστές και εκφράσεις

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Transcript:

Εργαστήριο Ευφυών Συστημάτων και Ρομποτικής Τμήμα Μηχανικών Παραγωγής και Διοίκησης Πολυτεχνείο Κρήτης www.robolab.tuc.gr, τηλ: 28210 37292 / 37314 e-mail: savas@dpem.tuc.gr, kyralakis@dpem.tuc.gr ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 4 TΟ ΡΟΜΠΟΤΙΚΟ ΟΧΗΜΑ ROGUE BLUE ΠΕΡΙΕΧΟΜΕΝΑ 1. Ο ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΗΣ OOPic ΚΑΙ Ο ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΟΥ... 1 1.1 ΕΝΤΟΛΕΣ ΚΑΙ ΤΕΛΕΣΤΕΣ ΤΟΥ OOPic... 1 1.2 ΤΑ ΑΝΤΙΚΕΙΜΕΝΑ ΤΟΥ OOPic... 4 2. ΤΟ ΛΟΓΙΣΜΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΤΟΥ OOPic... 7 3. ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ... 7 1. Ο ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΗΣ OOPic ΚΑΙ Ο ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΟΥ 1.1 ΕΝΤΟΛΕΣ ΚΑΙ ΤΕΛΕΣΤΕΣ ΤΟΥ OOPIC Εικόνα 1: Η ηλεκτρονική πλακέτα του ελεγκτή OOBoard Η κεντρική μονάδα επεξεργασίας του ελεγκτή OOBoard, Εικόνα 1, είναι ο μικροεπεξεργαστής OOPic. Η γλώσσα προγραμματισμού που χρησιμοποιεί είναι παρόμοια της BASIC. Οι και οι τελεστές της γλώσσας προγραμματισμού του OOPic που θα χρειαστούν για την υλοποίηση της άσκησης είναι οι παρακάτω: 1 DIM όνομα_αντικειμένου AS NEW είδος_αντικειμένου Είναι η εντολή δήλωσης που πρέπει να γράφεται στην αρχή του προγράμματος, για κάθε ένα από τα αντικείμενα που θα χρησιμοποιήσει το πρόγραμμα. Χρήση αντικειμένου, χωρίς αυτό να έχει δηλωθεί με την κατάλληλη εντολή DIM, αποτελεί συντακτικό λάθος. Το όνομα_αντικειμένου είναι το όνομα με το οποίο θα αναφερόμαστε στο

συγκεκριμένο αντικείμενο και είδος_αντικειμένου είναι το όνομα της κατηγορίας που ανήκει, όπως αυτό αναφέρεται στη βιβλιοθήκη με τα διαθέσιμα είδη αντικειμένων για τον μικροεπεξεργαστή OOPic. Το όνομα_αντικειμένου πρέπει να αρχίζει με γράμμα, να μην περιέχει το χαρακτήρα. και να μην ξεπερνά τους 32 χαρακτήρες. Έτσι, για παράδειγμα, η εντολή: DIM left_servo AS NEW oservosp1 ορίζει ένα αντικείμενο του είδους oservosp1, το οποίο είναι κατάλληλο για τον έλεγχο των σέρβο του οχήματος, και το ονομάζει με το έγκυρο όνομα left_servo. DO WHILE συνθήκη LOOP Είναι η εντολή που υλοποιεί την αλγοριθμική δομή της επανάληψης. Αρχικά ελέγχεται η συνθήκη. Εάν δεν ισχύει, η εκτέλεση του προγράμματος συνεχίζει από την εντολή που βρίσκεται μετά από την εντολή LOOP. Εάν ισχύει εκτελούνται οι και στη συνέχεια ελέγχεται ξανά η συνθήκη και ούτω καθεξής. Εάν παραλείψουμε το WHILE και τη συνθήκη οι εκτελούνται ασταμάτητα. IF συνθήκη THEN _1 ELSE _2 Είναι η εντολή που υλοποιεί τη δομή της επιλογής. Εάν ισχύει η συνθήκη εκτελούνται οι _1, ενώ εάν δεν ισχύει εκτελούνται οι _2. = (καταχώρηση τιμής) Είναι η εντολή για την καταχώρηση της τιμής μιας αριθμητικής ή λογικής έκφρασης σε μια παράμετρο αντικειμένου. Έτσι, για παράδειγμα, η εντολή: A.Value=5 δίνει στην ιδιότητα Value του αντικειμένου Α την τιμή 5. Συγκριτικοί τελεστές, = (ισότητας) <> (ανισότητας) > (μεγαλύτερο από) < (μικρότερο από) >= (μεγαλύτερο ή ίσο) <= (μικρότερο ή ίσο) Στο παρακάτω παράδειγμα οι εκτελούνται εάν η παράμετρος Value του αντικειμένου Α είναι μεγαλύτερη ή ίση με το 5: IF A.Value>=5 THEN 2

Αριθμητικοί τελεστές, + (πρόσθεση) - (αφαίρεση) * (πολλαπλασιασμός) / (διαίρεση) Λογικοί τελεστές, AND (λογικό ΚΑΙ) OR (λογικό Ή) Στο παρακάτω παράδειγμα οι εκτελούνται εάν η παράμετρος Value του αντικειμένου Α είναι μεγαλύτερη ή ίση με το 5 ΚΑΙ η παράμετρος Value του αντικειμένου Β είναι διαφορετική από το 0: IF A.Value>=5 AND B.Value<>=0 THEN Κάθε πρόγραμμα πρέπει να αποτελείται από το τμήμα δηλώσεων, που βρίσκεται στην αρχή του κώδικα, και το εκτελέσιμο τμήμα στη συνέχεια. Το πρώτο περιλαμβάνει τις δηλώσεις των αντικειμένων που θα χρησιμοποιηθούν από το πρόγραμμα. Το εκτελέσιμο τμήμα περιλαμβάνει τις που υλοποιούν τον αλγόριθμο και αποτελεί τη διαδικασία MAIN(). Κάθε πρόγραμμα δηλαδή πρέπει να έχει την παρακάτω μορφή: DIM όνομα_αντικειμένου AS NEW είδος_αντικειμένου DIM όνομα_αντικειμένου AS NEW είδος_αντικειμένου DIM όνομα_αντικειμένου AS NEW είδος_αντικειμένου... SUB MAIN() END SUB Εκτελέσιμο Τμήμα Τμήμα Δηλώσεων Για τη σύνταξη ενός προγράμματος θα πρέπει: Να καθοριστεί ο αλγόριθμος. Να επιλεχθούν και να δηλωθούν τα αντικείμενα που θα χρησιμοποιηθούν (Τμήμα Δηλώσεων). Να γραφούν οι υλοποίησης του αλγορίθμου (Εκτελέσιμο Τμήμα). 3

1.2 ΤΑ ΑΝΤΙΚΕΙΜΕΝΑ ΤΟΥ OOPic Ο επεξεργαστής OOPic προγραμματίζεται με αντικειμενοστραφή τεχνική. Τα προγράμματά του είναι που διαχειρίζονται μια συλλογή, ή αλλιώς βιβλιοθήκη, από αντικείμενα που συνοδεύουν αυτόν το μικροεπεξεργαστή. Στη βιβλιοθήκη του OOPic υπάρχουν τα κατάλληλα αντικείμενα για να: Ανιχνεύονται δεδομένα στις θύρες εισόδου. Ελέγχονται οι θύρες εξόδου. Ελέγχονται οι συμβατές συσκευές. Έτσι για να συνταχθεί, για παράδειγμα, ένα πρόγραμμα το οποίο θα χρησιμοποιεί τις ενδείξεις του αισθητήρα υπέρυθρων και θα ελέγχει τα δύο σέρβο του οχήματος θα πρέπει να χρησιμοποιηθούν τρία αντικείμενα από τη βιβλιοθήκη του OOPic: ένα του είδους oirrange για τον αισθητήρα υπέρυθρων και δύο του είδους oservosp1, ένα για κάθε ένα από τα σέρβο του οχήματος. Η διαχείριση των αντικειμένων γίνεται με τη βοήθεια των παραμέτρων τους (properties). Με τις κατάλληλες μπορεί να δοθεί η επιθυμητή τιμή στην παράμετρο ενός αντικειμένου ελέγχοντας έτσι και την αντίστοιχη συσκευή ή θύρα εξόδου. Επίσης μπορεί να διαβαστεί η τιμή που έχει κάποια από τις παραμέτρους ενός αντικειμένου και έτσι να εισαχθεί στο πρόγραμμα η μέτρηση κάποιου αισθητήρα ή τα δεδομένα από κάποια θύρα εισόδου. Η αναφορά στην παράμετρο Παράμετρος, του αντικειμένου με όνομα Όνομα_Αντικειμένου, γίνεται με τη φράση Όνομα_Αντικειμένου.Παράμετρος Τα αντικείμενα που θα χρησιμοποιηθούν στην εκτέλεση της εφαρμογής είναι: oservosp1: χρησιμοποιείται για τον έλεγχο των σέρβο συνεχούς περιστροφής που κινούν το όχημα. Οι παράμετροί του είναι οι παρακάτω: IOLine: ο αριθμός της θύρας εξόδου του μικροεπεξεργαστή, στην οποία είναι συνδεμένο το σέρβο. Για το αριστερό σέρβο η τιμή αυτή είναι 29 και για το δεξί 30 Value: καθορίζει την ταχύτητα περιστροφής και παίρνει τιμές από 128 έως +127. Οι αρνητικές ταχύτητες περιστρέφουν το σέρβο προς τα δεξιά και οι θετικές προς τα αριστερά. Στις ασκήσεις θα χρησιμοποιείται η ταχύτητα 30. Operate: είναι η παράμετρος που καθορίζει αν το αντικείμενο είναι ενεργό, οπότε έχει την τιμή 1 ή αν το αντικείμενο είναι ανενεργό οπότε έχει την τιμή 0. Πριν από τη χρήση του αντικειμένου θα πρέπει να παίρνει την τιμή 1. Το παρακάτω πρόγραμμα κινεί τον δεξιό τροχό του οχήματος προς τα εμπρός με ταχύτητα 30. DIM right_servo AS NEW oservosp1 SUB MAIN() right_servo.ioline=30 right_servo.operate=1 right_servo.value=30 END SUB 4

Στο τμήμα δηλώσεων του προγράμματος αυτού δηλώνεται το αντικείμενο oservosp1 που θα χρησιμοποιηθεί και ονομάζεται right_servo. Εντός του κυρίου προγράμματος, δηλαδή της διαδικασίας MAIN(), καθορίζονται οι παράμετροί του. Με την εντολή right_servo.ioline=29, ορίζεται ότι η ψηφιακή θύρα εξόδου του OOPic που ελέγχει το σέρβο είναι η 29 η. Στη συνέχεια το αντικείμενο τίθεται σε λειτουργία με την εντολή right_servo.operate=1 και τέλος ορίζεται η ταχύτητα περιστροφής του σέρβο με την εντολή right_servo.value=10. oirrange: είναι αντικείμενο που διαχειρίζεται τον αισθητήρα υπερύθρων του οχήματος. Οι παράμετροί του είναι οι παρακάτω: IOLine: ο αριθμός της θύρας εισόδου του μικροεπεξεργαστή, στην οποία είναι συνδεμένος ο αισθητήρας. Για το όχημα με το οποίο θα εκτελεστούν οι εργαστηριακές ασκήσεις, ο αριθμός αυτός είναι το 1. Value: επιστρέφει έναν αριθμό ανάλογο της απόστασης στην οποία υπάρχει εμπόδιο μπροστά από τον αισθητήρα. Παίρνει ακέραιες τιμές από 0 έως 128. Το κάθε εκατοστό αντιστοιχεί σε 4,3 μονάδες. Εάν δηλαδή η ένδειξη του αισθητήρα είναι 56 αυτό σημαίνει ότι υπάρχει εμπόδιο σε 56/4,3=13 εκατοστά. Center: είναι η παράμετρος που για τις ανάγκες της άσκησης πρέπει να έχει την τιμή 22. Operate: καθορίζει αν το αντικείμενο είναι ενεργό, οπότε έχει την τιμή 1 ή αν το αντικείμενο είναι ανενεργό οπότε έχει την τιμή 0. Πριν από τη χρήση του αντικειμένου θα πρέπει η παράμετρος αυτή να παίρνει την τιμή 1. Στο τέλος της παραγράφου υπάρχει ένα παράδειγμα προγράμματος που χρησιμοποιεί το αντικείμενο αυτό. odio1: είναι το αντικείμενο που διαχειρίζεται τις ψηφιακές θύρες του OOPic. Οι παράμετροί του είναι οι παρακάτω: IOLine: ο αριθμός της θύρας του μικροεπεξεργαστή που ελέγχει το αντικείμενο. Για την εκτέλεση των ασκήσεων θα χρησιμοποιείται η θύρα με αριθμό 5. Direction: Οι ψηφιακές θύρες του OOPic μπορεί να χρησιμοποιηθούν είτε ως είσοδοι είτε ως έξοδοι. Εάν η παράμετρος αυτή πάρει την τιμή 0 η θύρα χρησιμοποιείται ως έξοδος. Εάν πάρει την τιμή 1 χρησιμοποιείται ως είσοδος. Για την εκτέλεση των ασκήσεων θα χρησιμοποιηθεί η θύρα με αριθμό 5 ως έξοδος. Value: εάν η θύρα χρησιμοποιείται ως είσοδος, το χαρακτηριστικό αυτό παίρνει τιμή 1 ή 0, ανάλογα με το αν ανιχνευτεί τάση ή όχι στην αντίστοιχη θύρα εισόδου. Εάν η θύρα χρησιμοποιείται ως έξοδος η τιμή 1 ή 0 καθορίζει εάν ο OOPic θα παράγει ή όχι τάση στην αντίστοιχη θύρα. Στη συνέχεια υπάρχει ένα παράδειγμα προγράμματος που χρησιμοποιεί το αντικείμενο αυτό. 5

Το πρόγραμμα που ακολουθεί διαβάζει την ένδειξη του αισθητήρα υπέρυθρων και εάν υπάρχει εμπόδιο σε απόσταση μικρότερη από 10 εκατοστά τότε παράγεται τάση στη θύρα εξόδου με αριθμό 5. DIM led AS NEW odio1 DIM i_r_sensor AS NEW oirrange SUB MAIN() led.ioline=5 led.direction=0 i_r_sensor.ioline=1 i_r_sensor.operate=1 i_r_sensor.center=22 DO LOOP END SUB IF i_r_sensor.value<=43 THEN led.value=1 ELSE led.value=0 Αρχικά δηλώνονται τα δύο αντικείμενα του προγράμματος, το led για τον έλεγχο της θύρας 5 και το i_r_sensor για τον αισθητήρα υπέρυθρων. Στο κύριο πρόγραμμα αρχικοποιούνται οι παράμετροι των αντικειμένων. Για το led ορίζεται ότι θα χρησιμοποιηθεί ως έξοδος για την παραγωγή τάσης στην θύρα 5 (led.direction=0). Στη συνέχεια, εντός μιας αέναης επανάληψης, ελέγχεται η τιμή που επιστρέφει η παράμετρος Value του αντικείμενου i_r_sensor. Αν αυτή είναι μικρότερη από 43, δηλαδή 43/4,3=10 εκατοστά, τότε η παράμετρος Value του αντικειμένου led παίρνει την τιμή 1, δηλαδή στην θύρα 5 του OOPic παράγεται τάση. Σε αντίθετη περίπτωση στην παράμετρο Value του led δίδεται η τιμή 0 που έχει ως αποτέλεσμα στη θύρα 5 η τάση να παραμείνει στα 0 Volt. 6

2. ΤΟ ΛΟΓΙΣΜΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΤΟΥ OOPic Εικόνα 9: Το περιβάλλον προγραμματισμού του OOPic Ο OOPic συνοδεύεται από το λογισμικό OOPic IDE που αποτελεί ολοκληρωμένο περιβάλλον ανάπτυξης εφαρμογών (Integrated Development Environment, IDE). Το λογισμικό αυτό εγκαθίσταται σε έναν προσωπικό ηλεκτρονικό υπολογιστή και με τη βοήθειά του συντάσσονται τα προγράμματα, ελέγχονται, διορθώνονται, μεταγλωττίζονται και μεταφέρονται στη μνήμη του OOPic που βρίσκεται στην πλακέτα OOBoard. Τέλος, είναι δυνατόν να παρακολουθούνται οι τιμές των παραμέτρων των αντικειμένων που περιλαμβάνει κάποιο πρόγραμμα, κατά την ώρα της εκτέλεσής του. Το κύριο παράθυρο του λογισμικού OOPic IDE περιλαμβάνει δύο τμήματα. Στο αριστερό συντάσσεται το πρόγραμμα και στο δεξιό παρατάσσονται τα αντικείμενα που χρησιμοποιεί. Αφού συνταχθούν οι του προγράμματος, στο αριστερό τμήμα του παραθύρου, πρέπει στη συνέχεια να μεταγλωττιστούν. Εάν οι δεν περιέχουν συντακτικά λάθη και η μεταγλώττιση ολοκληρωθεί με επιτυχία, τότε το πρόγραμμα μεταφέρεται, μέσω της σειριακής θύρας του υπολογιστή, στη μνήμη του OOPic επί της πλακέτας OOBoard. Η όλη διαδικασία της μεταγλώττισης και μεταφοράς του προγράμματος, υλοποιείται επιλέγοντας το πλήκτρο από τη γραμμή εργαλείων του OOPic IDE. Στην περίπτωση που οι του προγράμματος περιέχουν συντακτικά λάθη ο μεταγλωττιστής του OOPic IDE προβάλλει τα αντίστοιχα μηνύματα. 3. ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ Η εργαστηριακή άσκηση περιλαμβάνει: 1. Περιγραφή των δομικών τμημάτων του ρομποτικού οχήματος Rogue Blue. 2. Περιγραφή των αντικειμένων του OOPic. 3. Εξοικείωση με το λογισμικό OOPic IDE. 4. Εκτέλεση απλών εφαρμογών με το ρομποτικό όχημα Rogue Blue 7