Ημέρα 3 - Ενότητα 3 - Απόκριση στο φως

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

Περιγραφή

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

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

Κεφάλαιο 8.1 - Συναγερμός που ενεργοποιείται με το φως

Αρχικά κάντε κλικ στο κουμπί ‘Add Variable’ στην πάνω αριστερή γωνία της εφαρμογής και θα αναδυθεί ένα παράθυρο, όπως φαίνεται παρακάτω.




Πληκτρολογούμε το όνομα της μεταβλητής, έστω για παράδειγμα ‘Light_Level’, επιλέγουμε το εύρος των τιμών που μπορεί να πάρει η μεταβλητή, π.χ. +/-32.767 και δίνουμε αρχική τιμή ίση με το 0. Μετά πατάμε OK και η μεταβλητή μας θα προστεθεί στον πίνακα μεταβλητών στην κάτω δεξιά γωνία.





Τώρα, γράψτε το ακόλουθο πρόγραμμα για να κάνετε το Edison να ενεργοποιεί έναν συναγερμό όταν σε ένα δωμάτιο ανάβουν τα φώτα.



Το εικονίδιο "sense light" διαβάζει το επίπεδο φωτός από τον αριστερό αισθητήρα και τοποθετεί την τιμή στη μεταβλητή με το όνομα Light_Level.

Η πρώτη επανάληψη χρησιμοποιεί μαθηματικά για να αποφασιστεί τι θα γίνει.

Επανάλαβε μέχρι η τιμή της μεταβλητής  ‘Light_Level’ γίνει ‘μεγαλύτερη από (>) 100.

Όταν η τιμή γίνει μεγαλύτερη από 100 η επανάληψη τερματίζεται και το πρόγραμμα προχωράει στην επόμενη επανάληψη η οποία ενεργοποιεί τον συναγερμό.

Τοποθετήστε το ρομπότ σε ένα σκοτεινό μέρος και πατήστε το κουμπί "Play". Όταν τα φώτα ανάψουν το ρομπότ ενεργοποιεί τον ηχητικό συναγερμό.

Κεφάλαιο 8.2 - Αυτόματος φωτισμός

Γράψτε το ακόλουθο πρόγραμμα για να κάνετε το Edison να ανάβει τα δύο LED στο σκοτάδι.



Οδηγήστε το ρομπότ σε ένα τούνελ ή κάτω από έναν καναπέ και δείτε τα δύο μπροστά φώτα να ενεργοποιούνται.

Σε αυτό το πρόγραμμα χρησιμοποιούμε το σύμβολο "μικρότερο από" (<) για να αποφασιστεί η πορεία του προγράμματος. Αν η μεταβλητή "Light_Level" είναι μικρότερη από 100, τότε ακολούθα το πάνω μονοπάτι και άναψε τα φώτα LED.
Αλλιώς ακολούθα το κάτω και σβήσε τα φώτα.

Πειραματιστείτε με την τιμή 100 καθώς η φωτεινότητα σε κάθε χώρο είναι μπορεί να διαφέρει.

Κεφάλαιο 8.3 - Ακολουθώντας το φως

Πρώτα πρέπει να δημιουργήσετε δύο μεταβλητές word (16-bit) με ονομασίες: Left_Light και Right_light

Γράψτε το ακόλουθο πρόγραμμα για να κάνετε το Edison να ακολουθεί το φως ενός φακού.



Φέξτε με έναν φακό προς το Edison και το ρομπότ θα κατευθυνθεί προς το φως.

Αυτό το πρόγραμμα κάνει έναν υπολογισμό μεταξύ των δύο μεταβλητών. Στο εικονίδιο "calculate word" η μεταβλητή Left_Light αφαιρείται από τη μεταβλητή Right_Light. Το αποτέλεσμα αποθηκεύεται πίσω στη μεταβλητή Right_Light. Ας δούμε πώς θα φαίνονται τα αποτελέσματα:


Από τα παραπάνω μπορείτε να καταλάβετε ότι όταν ο φακός φέγγει προς τα αριστερά το αποτέλεσμα είναι ένας αρνητικός αριθμός. Όταν ο φακός φέγγει προς τα δεξιά το αποτέλεσμα είναι θετικός αριθμός.

Το εικονίδιο If ρωτάει: Είναι το αποτέλεσμα αρνητικός ή μηδέν? Αν ναι, τότε το ρομπότ κινείται προς το φως (αριστερά), αν είναι ψευδές το ρομπότ κινείται προς τα δεξιά (προς το φως).