Μετά από μερικούς μήνες χρήσης, δοκιμής στην τάξη αλλά και επικοινωνίας με συναδέλφους που το χρησιμοποιούν, ήρθε η ώρα για μια ενημέρωση στο πρόσθετο mind+ για το όχημα R2. Πιο συγκεκριμένα:
(0) Αφαίρεσα το block “Ενεργοποίηση κινητήρων“. Το block αυτό μπέρδευε πολύ τα παιδιά αλλά και τους συναδέλφους. Τη λειτουργικότητα του, την ενσωμάτωσα μέσα στα block κίνησης, εκεί δηλαδή που θα έπρεπε να βρισκόταν εξαρχής.
(1) Πρόσθεσα τα παρακάτω απλά blocks για την κίνηση του ρομπότ.
Καλός ο έλεγχος των επιμέρους κινητήρων που πρόσφεραν τα ήδη υπάρχοντα blocks, αλλά τελικά στο Δημοτικό χρειαζόμαστε και κάτι πολύ ευκολότερο. Έτσι λοιπόν για να ξεκινήσει πλέον το όχημα, χρειάζεται απλά να ενσωματωθεί στο σενάριο το πρώτο block της παραπάνω εικόνας. Απλοποίησα ακόμη και τις επιλογές ταχύτητας σε 3: μικρή, μεσαία, μεγάλη.
(2) Οι στροφές στο R2 είναι το μεγαλύτερο στοίχημα. Όπως έχω γράψει και παλιότερα, επειδή οι κινητήρες του δεν είναι ακριβείας, είναι πρακτικά αδύνατον να στρίψει ακριβώς 90 μοίρες ή σε οποιαδήποτε άλλη γωνία. Επιπλέον η απόδοση των κινητήρων εξαρτάται και από την τροφοδοσία του. Είναι τελείως διαφορετική η απόδοση των κινητήρων όταν το R2 παίρνει ρεύμα από το καλώδιο USB που το συνδέει με τον Υπολογιστή και τελείως διαφορετική όταν τροφοδοτείται από μπαταριόκουτο. Οπότε το μοναδικό που θα μπορούσα να σκεφτώ είναι να μετρήσω τη στροφή σε δευτερόλεπτα. Αν κάποιος θέλει στροφή που να πλησιάζει τις 90 μοίρες για παράδειγμα, θα πρέπει να επιλέξει την τροφοδοσία που θα έχει το ρομπότ του (USB ή μπαταρίες) και να μετρήσει τον χρόνο που χρειάζεται το ρομπότ για να στρίψει σε μια γωνία κοντά στις 90 μοίρες.
(3) Η στροφή γίνεται επιτόπου. Δηλαδή και οι δύο κινητήρες κινούνται με την ίδια ακριβώς ταχύτητα (75) αλλά με διαφορετικές φορές. Για παράδειγμα το block “Στρίψε δεξιά για 2 δευτερόλεπτα“, ενσωματώνει τον παρακάτω Arduino κώδικα στο σενάριο:
tb_alx.setSpeed(M1, CW, 75);
tb_alx.setSpeed(M2, CW, 75);
delay(1000*2);
tb_alx.setSpeed(M1, CW, 0);
tb_alx.setSpeed(M2, CW, 0);
(4) Επίσης πολύ σημαντικό για τα κομμάτια Στρίψε είναι το ότι μετά το πέρας της χρονικής διάρκειας στροφής (πχ 2 -3 δευτερόλεπτα) οι κινητήρες σταματάνε (δες το κώδικα της παραπάνω παραγράφου), οπότε η χρήση του block “Σταμάτησε” είναι πλεονασμός (σε κάθε περίπτωση η χρήση του δεν είναι λάθος).
(5) Ενημέρωσα και τη σελίδα με τα ενδεικτικά σενάρια με τη χρήση των νέων blocks.