Ημέρα 2 - Ενότητα 2 - Χρησιμοποιώντας μεταβλητές και ανιχνεύοντας εμπόδια

Ιστότοπος: ΕΛ/ΛΑΚ Moodle
Μάθημα: Εκπαιδευτική Ρομποτική - 3D Εκτυπώσεις - Διαδίκτυο των Πραγμάτων
Βιβλίο: Ημέρα 2 - Ενότητα 2 - Χρησιμοποιώντας μεταβλητές και ανιχνεύοντας εμπόδια
Εκτυπώθηκε από: Guest user
Ημερομηνία: Τρίτη, 7 Μαΐου 2024, 3:06 AM

Περιγραφή

Μετά την ολοκλήρωση αυτής της ενότητας ως εκπαιδευόμενοι θα μπορείτε να:

  • να δημιουργήσετε και να χρησιμοποιήσετε μεταβλητές στο λογισμικό Edison
  • χρησιμοποιείτε τους υπέρυθρους αισθητήρες για να ανιχνεύετε εμπόδια
  • κάνετε το ρομπότ να σταματάει όταν ανιχνεύει ένα εμπόδιο

Κεφάλαιο 5.1 - Μεταβλητές

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

Το Edison έχει δύο τύπους μεταβλητών που ονομάζονται ‘bytes’ και ‘words’. Στις μεταβλητές τύπου byte μπορούν να αποθηκευτούν αριθμοί από το 0 έως το 255. Ενώ, στις μεταβλητές τύπου word, που είναι και μεγαλύτερης ακριβείας, μπορούν να αποθηκευτούν αριθμοί από το -32.767 έως το +32.767.

Στις μεταβλητές μπορούμε να αποθηκεύουμε αριθμούς, για παράδειγμα 10, 106, 1.482 κτλ και μπορούμε να κάνουμε με αυτούς πράξεις μέσα σε κάποιο πρόγραμμα.

Για να μπορούμε να διαχειριστούμε εύκολα τις μεταβλητές, τους δίνουμε κάποιο όνομα. Αυτό μας βοηθάει να θυμόμαστε τί είδους πληροφορία έχει αποθηκευτεί σε κάθε μία. Στο περιβάλλον του EdWare μπορούμε να δώσουμε οποιοδήποτε όνομα επιθυμούμε σε μια μεταβλητή. Για παράδειγμα, αν και θα μπορούσαμε μία μεταβλητή να την ονομάσουμε ‘Fred’, ωστόσο κάτι τέτοιο δεν θα ήταν ιδιαίτερα χρήσιμο καθώς δεν θα θυμόμαστε τι είδους πληροφορία αποθηκεύτηκε. Μια καλή επιλογή ονόματος θα μπορούσε να είναι το ‘Light_Level’, καθώς έτσι είναι εύκολο να θυμόμαστε για ποιο λόγο χρησιμοποιείται η μεταβλητή και τί είδους δεδομένα θα βρούμε στην αντίστοιχη θέση μνήμης.

Για να δημιουργήσετε μία μεταβλητή πατήστε στο κουμπί "Add variable" και μετά ονομάστε τη με το όνομα count.




Τώρα θα χρησιμοποιήσουμε τη μεταβλητή σε μία επανάληψη. 

variables


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

Αν δεν είσαστε σίγουροι πώς γίνεται ανοίξτε αυτή την εικόνα.

Κεφάλαιο 5.2 - Υπέρυθρη ανίχνευση εμποδίων

Το Edison είναι εξοπλισμένο με υπέρυθρη IR "όραση". Το υπέρυθρο φως είναι αόρατο στο ανθρώπινο μάτι, έτσι δε μπορείτε να δείτε αυτό το φως, αλλά επιτρέπει στο Edison να "δει" στο σκοτάδι.

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

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

Το εκπεμπόμενο φως υπερύθρων φαίνεται με κόκκινο χρώμα και το ανακλώμενο με μπλε χρώμα.




Κεφάλαιο 5.3 - Ανίχνευση εμποδίου και στάση

Γράψτε το ακόλουθο πρόγραμμα για να κάνετε το ρομπότ να προχωράει διαρκώς και να σταματάει μόλις βρει εμπόδιο μπροστά του.




Το κόκκινο εικονίδιο detect obstacle είναι απαραίτητο για να ενεργοποιηθεί το σύστημα ανίχνευσης και να ξεκινήσουν να εκπέμπουν οι πομποί υπερύθρου φωτός.

Η ταχύτητα του Edison ορίζεται στην τιμή 5 για να επιτρέπει στο ρομπότ να ανιχνεύει ένα εμπόδιο πριν συγκρουστεί μαζί του. Αν αυξηθεί η ταχύτητα μπορεί το ρομπότ να σταματάει αφού πρώτα πέφτει πάνω στα εμπόδια.