Variable Block


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

Δημιουργώντας μια μεταβλητή:

1. Για να δημιουργήσετε μια μεταβλητή μπορείτε να επιλέξετε την εντολή Define Variable, η οποία βρίσκεται στο Edit του λογισμικού NXT. Στο παράθυρο που θα ανοίξει μπορείτε να δώσετε ένα εύκολο και κατανοητό όνομα στη μεταβλητή σας, καθώς επίσης και να ορίσετε τι τύπου δεδομένα θα αποθηκεύονται στην μεταβλητή. (π.χ κείμενο, αριθμητικά και λογικά δεδομένα).
2. Μετά μπορείτε να σύρετε ένα Variable Block στο πρόγραμμά σας και να επιλέξετε το όνομα της μεταβλητής από τη λίστα.
3. Μπορείτε στη συνέχεια να επιλέξετε είτε την επιλογή READ, είτε την επιλογή WRITE (για διάβασμα ή γράψιμο στη μεταβλητή). Εάν επιλέξετε να γράψει σε μια μεταβλητή τότε αυτό θα σας επιτρέπει να αλλάζετε την τιμή της μεταβλητής αντικαθιστώντας την τρέχουσα τιμή της με μία νέα. Για να γίνει αυτό, θα πρέπει να συνδέσετε ένα καλώδιο δεδομένων στο βύσμα δεδομένων του μπλοκ από το οποίο θα έρχονται τα νέα δεδομένα.
4. Μπορείτε να δώσετε στη μεταβλητή που δημιουργήσατε μία αρχική τιμή, καταχωρώντας την στο πεδίο εισαγωγής.

Χρησιμοποιώντας μία Μεταβλητή:

Όπως αναφέρθηκε πιο πάνω, η τιμή μιας μεταβλητής μπορεί να αλλάζει με την πάροδο του χρόνου. Για παράδειγμα, μπορείτε να δημιουργήσετε μια μεταβλητή με το όνομα “Recorded Light Level”, και να της δώσετε μία αρχική τιμή 50. Στη συνέχεια αν το ρομπότ κινείται προς μια τοποθεσία, μπορείτε να χρησιμοποιήσετε το μπλοκ μεταβλητής με την επιλογή Write, για να καταγραφεί το τρέχον επίπεδο φωτός της τοποθεσίας, στην μεταβλητή “Recorded Light Level”. Για να το επιτύχετε αυτό μπορείτε να συνδέσετε ένα καλώδιο δεδομένων από την έξοδο του μπλοκ του αισθητήρα φωτός, στο βύσμα εισόδου του Variable Block.
Έτσι στο πρόγραμμα σας μπορείτε να χρησιμοποιήσετε το Variable block θέτοντας το στην κατάσταση Read, για να διαβάζει την τιμή του φωτός που έχει καταγραφεί στην τοποθεσία. Άλλα μπλοκ που είναι συνδεδεμένα στο βύσμα εξόδου με καλώδια δεδομένων θα μπορούν να έχουν πρόσβαση στις πληροφορίες που είναι αποθηκευμένες στη μεταβλητή.


variable.png


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


Ρύθμιση του Variable Block


variable2.png

1. Μπορείτε να επιλέξετε από τη λίστα τη μεταβλητή που δημιουργήσατε.
2. Επιλέξετε είτε το Read, είτε το Write, εάν επιθυμείτε ανάγνωση της τρέχουσας τιμής της μεταβλητής, ή την ανανέωση της τιμής της μεταβλητής.
3. Μπορείτε να δώσετε στην μεταβλητή που δημιουργήσατε μία αρχική τιμή, καταχωρώντας την στο πεδίο εισαγωγής, ή χρησιμοποιώντας τα κουμπιά επιλογής True ή False εάν η μεταβλητή είναι λογικού τύπου.


Ανταλλαγή πληροφοριών μεταξύ προγράμματος και My Block

Για την κοινή χρήση δεδομένων μεταξύ του προγράμματος και του My Block
μπορείτε να κάνετε τα ακόλουθα:

1.Μπορείτε να ορίσετε μια μεταβλητή με το ίδιο όνομα και τύπο δεδομένων στο κυρίως πρόγραμμα αλλά και στο My Block.
2. Μπορείτε να χρησιμοποιήσετε αυτή τη μεταβλητή σε ένα Variable Block στο κυρίως πρόγραμμα και στο My Block.

Προσοχή:
Όπου και να χρησιμοποιηθεί η μεταβλητή, είτε για Read, είτε για Write, θα αναφέρεται στην ίδια θέση μνήμης του NXT.


Καλώδια


Διαμόρφωση δεδομένων, του Μπλοκ Μεταβλητών:

Μπορείτε να ελέγξετε το Μπλοκ Μεταβλητών δυναμικά συνδέοντας καλώδια δεδομένων (από τα hubs άλλων μπλοκ) προς το hub του μπλοκ αυτού.

tithmisi_record2.png

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


hub.png

[A] : Βύσμα εισόδου
[B] : Βύσμα εξόδου
[C] : Καλώδιο αριθμητικών δεδομένων (κίτρινο)
[D] : Καλώδιο λογικών δεδομένων (πράσινο)
[E] : Καλώδιο δεδομένων κειμένου (πορτοκαλί)
[F] : Σπασμένο καλώδιο δεδομένων (γκρι)

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


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

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


‘’Σπασμένα’’ καλώδια δεδομένων.
Εάν προσπαθήσετε να συνδέσετε ένα καλώδιο δεδομένων σε ένα βύσμα λανθασμένου τύπου, το καλώδιο δεδομένων ‘’σπάει’’, και εμφανίζεται με γκρι χρώμα. Κάνοντας κλικ στο σπασμένο καλώδιο, εμφανίζεται ο λόγος για τον οποίο είναι σπασμένο.

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