6ο ημερολογιο 7/5/14

ΗΜΕΡΟΛΟΓΙΟ
Στο σημερινό μάθημα ( 7/5/14) ο καλούμαστε να υπολογίσουμε την ταχύτητα που κάνει το ρομπότ. Τόσο στιγμιαία όσο και μεσαία. Ξεκινήσαμε λοιπόν προσπαθώντας να φτιάξουμε ένα πρόγραμμα που να υπολογίζει πόσες μοίρες πρέπει να κάνει το taskbot για να κάνει 100 εκ. Υπολογίζοντας την περίμετρο της κάθε ρόδας ( 17,59) και ξέροντας ότι αυτή είναι 360 μοίρες και μέσω της απλής μέθοδος των τριών βρήκαμε ότι χρειάζεται να κάνει 2047 μοίρες κάτι που επιβεβαιώσαμε και πειραματικά. Στην συνέχεια φτιάξαμε ένα πρόγραμμα που να υπολογίζει τον χρόνο που χρειάζεται να κάνει τα 100 εκ με ισχύ 75%. Βάζοντας μία εντολή μηδενισμού χρόνου και στην συνέχεια να ξεκινάει η κίνηση και αμέσως μετά να ξεκινήσει να μετράει ο χρόνος( ξεκινάνε ταυτόχρονα γτ είναι ακαριαίος ο χρόνος) το taskbot θα ξεκινήσει να κινείται και να μετράει τον χρόνο κίνησης του. Στην συνέχεια βάζουμε δυο εντολές μετατροπής. Η μία για να μετατρέπει αυτό που βρίσκει το χρονόμετρο από msec σε sec και η δεύτερη για να μετατρέψει την γλώσσα του υπολογιστή( αριθμοί) σε γλώσσα που διαβάζεται από εμάς έτσι ώστε να εμφανιστεί στην οθόνη του NXT. Μετά υπάρχουν δύο εντολές δείξε στην οθόνη που η μία δείχνει αυτό που βρίσκει κάθε φορά δλδ τον χρόνο που υπολογίζει και η δεύτερη την λέξη seconds( τα εμφανίζει και τα δύο). Τα αποτελέσματα κάθε φορά είναι μεταξύ 3,60-3,61. Μόλις τελειώσαμε όλοι αυτήν την άσκηση θελήσαμε να προσθέσουνε στο πρόγραμμα 3 ακόμα εντολές. Αυτές οι εντολές που λέγονται file access write ,close και read είχαν ως σκοπό να δημιουργήσουν ένα αρχείο στον υπολογιστή που κάθε φορά που θα τρέχει το πρόγραμμα και θα κρατάει τον αριθμό και μόλις θα συνδέεται στον υπολογιστή θα σώζει σε αυτών τον φάκελο τον αριθμό που υπολόγισε.( είναι σε μορφή σημειωματάριου στον υπολογιστή και μέσα καταγραφεί αυτό που θέλουμε ) Η τελευταία μας δραστηριότητα ήταν να υπολογίσουμε το χρόνο που χρειάζεται το taskbot με ισχύ 10%,20%,30% κλπ μέχρι το 100% κάθε φορά για να κάνει την απόσταση των 100 εκ. Δηλαδή να φτιάξουμε ένα πρόγραμμα που το taskbot να ξεκινάει με 10% ισχύ , να κάνει 100 εκ, να υπολογίζει τον χρόνο και να τον κρατάει και μόλις κάνει αυτά τα 100 εκ να αυξάνει την ισχύ του κατά 10% και να ξανακάνει το ίδιο μέχρι το 100%. Το βασικό πρόγραμμα που είχαμε φτιάξει μέχρι τώρα είναι το ίδιο. Αυτό που προσθέτουμε είναι μια εντολή loop στην αρχή η οποία θα μετρά μέχρι το 10. Η πρώτη εντολή μέσα στο loop θα είναι μια εντολή πράξεων η οποία θα προσθέτει ένα( ξεκινάει από το 1 και όχι το 0 γτ αλλιώς δεν θα ξεκινήσει ποτέ) και αμέσως μετά άλλη μία εντολή η οποία θα πολλαπλασιάζει το προηγούμενο ( αυτό που έχουμε στην προηγούμενη εντολή) με το 10. Η εντολή μετά ξεκινάει κανονικά και το μόνο που προσθέτουμε ακόμα είναι μία εντολή πριν την κίνηση που θα μηδενίζονται οι μοίρες. Έτσι βρίσκουμε το χρόνο που χρειάζεται για να κάνει το διάστημα των 100 εκ με διαφορετική ισχύ. Αν και το πρόγραμμα απλώς βρίσκει τον χρόνο και δεν απαντάει στο πρόβλημα της ταχύτητας που είχαμε θέσει μπορεί πολύ εύκολα να μετατραπεί και να απαντήσει στο ερώτημα της ταχύτητας απλώς αντιστρέφοντας αυτό που έχουμε βρει ή αλλιώς θα μπορούσαμε να βάλουμε άλλη μια εντολή υπολογισμών που αυτό που βρίσκουμε με τον χρόνο να το διαιρούσε δια 1 δλδ την απόσταση και να μας έδειχνε αυτό. Στο τελευταίο πρόβλημα θα έδειχνε την στιγμιαία και ανά θέλαμε την μέση απλώς θα προσθέταμε αυτά που είχαμε ήδη και θα τα διαιρούσαμε κατά 10 με μία άλλη εντολή πράξεις.

Η ομάδα λειτούργησε τέλεια!