Εμφάνιση αναρτήσεων με ετικέτα Wiimote. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα Wiimote. Εμφάνιση όλων των αναρτήσεων

Τετάρτη 8 Ιουνίου 2016

Wiimote Physics - Εξελληνισμένο

Το Wiimote Physics είναι ελεύθερο λογισμικό που έγραψε ο Dr. Martyn Wheeler και επιτρέπει τη λήψη δεδομένων από το Wiimote και το Balance board και την απεικόνισή τους σε πραγματικό χρόνο στην οθόνη ηλεκτρονικού υπολογιστή. Το λογισμικό βασίζεται στη βιβλιοθήκη WiimoteLib του Brian Peek με την οποία υλοποιείται η επικοινωνία του Wiimote με τον υπολογιστή μέσω Bluetooth.
Το Wiimote Physics μπορείτε να το μεταφορτώσετε (χωρίς καμμία χρέωση) στον υπολογιστή σας από την ιστοσελίδα του έργου στο CodePlex, ενώ αναλυτικές οδηγίες χρήσης και παραγείγματα θα βρείτε στην προσωπική ιστοσελίδα του Martyn Wheeler. Επιπλέον ελεύθερα διαθέσιμος είναι και ο πηγαίος κώδικας της εφαρμογής.
Με την άδεια του Martyn Wheeler διανέμεται ελεύθερα από την ιστοσελίδα μου μια ανανεωμένη έκδοση του λογισμικού Wiimote Physics. Οι σημαντικότερες αλλαγές έχουν ως εξής:
  1. Τα δεδομένα από το Wiimote αποθηκεύονται πλέον σε αρχείο τύπου Tab Separated Values και όχι τύπου Comma Separated Values. Η αλλαγή κρίθηκε αναγκαία αφού το κόμμα στην Ελλάδα χρησιμοποιείται ως υποδιαστολή (decimal point), γεγονός που οδηγούσε σε λανθασμένη αναγνώριση των τιμών όταν το αρχείο ανοίγονταν στο Excel.
  2. Προστέθηκε μια επιπλέον επιλογή στο μενού File, μέσω της οποίας τα δεδομένα αποστέλλονται απευθείας στο Excel για περαιτέρω επεξεργασία. Αυτό οδήγησε σε αναδιοργάνωση του συγκεκριμένου μενού ως εξής: Δημιουργία νέας επιλογής μενού «Send To…» που οδηγεί σε δύο υπο-επιλογές «iLOG Studio» και «Excel».
  3. Μεταφέρθηκαν όλα τα αλφαριθμητικά (strings) σε ξεχωριστό αρχείο (resources file), ώστε να είναι εύκολη η εν συνεχεία μετάφραση σε οποιαδήποτε γλώσσα. Για την απρόσκοπτη λειτουργία του προγράμματος μετά την ολοκλήρωση της μετάφρασης έγιναν όλες οι απαραίτητες αλλαγές στον κώδικα. 
  4. Για την ολοκλήρωση της ελληνικής μετάφρασης, εξελληνίστηκε και η βιβλιοθήκη ZedGraph. Εφάρμοστηκε επίσης και το patch που υπάρχει στην ιστοσελίδα της βιβλιοθήκης και αντιμετωπίζει το πρόβλημα flickering όταν επιλέξουμε «Show Points Values».
  5. Στο μενού που αναδύεται (pops up) με δεξί κλικ στο παράθυρο DataWindow, αφαιρέθηκε η επιλογή «Set Scale to Default» και προστέθηκε μια ακόμη επιλογή «Curve Parameters» ώστε να δίνεται η δυνατότητα ρύθμισης ιδιοτήτων των γραφικών παραστάσεων (curves) όπως : το πάχος γραμμής, η εμφάνιση ή όχι καθώς και ο τύπος των σημείων .
  6. Εφαρμόστηκαν επίσης διάφορες αλλαγές που αφορούν την εμφάνιση του γραφήματος, όπως: αλλαγή χρώματος του γραφήματος, εμφάνιση υπομνήματος (legend), εμφάνιση διαφορετικού συμβόλου για τα σημεία σε κάθε καμπύλη.
Εξελληνισμένο Wiimote Physics

Μπορείτε να μεταφορτώσετε στον υπολογιστή σας:
(*) Αποσυμπιέστε τα εκτελέσιμα αρχεία της ανανεωμένης έκδοσης του Wiimote Physics σε φάκελλο της επιλογής σας και τρέξτε την εφαρμογή μέσω του αρχείου WiiPhysics.exe.



Παρασκευή 3 Ιουνίου 2016

Προσδιορισμός της επιτάχυνσης της βαρύτητας με χρήση του Wiimote (μέθοδος απλού εκκρεμούς)

Στο ελεύθερο άκρο νήματος στερεώνουμε με κατάλληλη τρόπο το Wiimote. Χρησιμοποιήθηκε μικρό πλαστικό κυλινδρικό δοχείο μέσα στο οποίο τοποθετήθηκε το Wiimote τυλιγμένο με αφρώδες υλικό ώστε να "σφηνώσει" στο δοχείο, και το νήμα προσδέθηκε στο πλαστικό δοχείο.Το άλλο άκρο του νήματος στερεώνεται σε ακλόνητο σημείο. Με τον τρόπο αυτό κατασκευάστηκε ένα εκκρεμές του οποίου το μήκος (δηλ. η απόσταση από το σημείο ανάρτησης του νήματος μέχρι το κέντρο μάζας του Wiimote) μετρήθηκε και βρέθηκε ίσο με L = 135,5 cm = 0,1355 m.

To Wiimote ως εκκρεμές

Ο άξονας y του επιταχυνσιομέτρου του Wiimote ταυτίζεται με τη διεύθυνση της ακτίνας της κυκλικής κίνησης που διαγράφει το κέντρο μάζας του, και συνεπώς μπορεί να καταγραφεί η επιτάχυνση στην ακτινική κατεύθυνση. Αυτή η επιτάχυνση ισούται με την κεντρομόλο επιτάχυνση και την αντίστοιχη συνιστώσα της επιτάχυνσης της βαρύτητας, αφού όπως έχει ήδη αναφερθεί το επιταχυνσιόμετρο δε μπορεί να διακρίνει την επιτάχυνση λόγω κίνησης από την επιτάχυνση λόγω βαρύτητας. Είναι δηλαδή: αμ = ακ + gσυνφ, όπου φ η γωνία που σχηματίζει το νήμα του εκκρεμούς με την κατακόρυφη. Στην κατακόρυφη θέση ισορροπίας του εκκρεμούς ( όπου φ = 0 ) η καταγραφόμενη (μετρούμενη) επιτάχυνση ισούται με την κεντρομόλο επιτάχυνση και την επιτάχυνση λόγω βαρύτητας, δηλ. αμ = ακ + g. Καθώς όμως για την κεντρομόλο επιτάχυνση ισχύει:


γίνεται φανερό πως η κεντρομόλος επιτάχυνση (και συνεπώς και η καταγραφόμενη από το Wiimote επιτάχυνση) μεγιστοποιείται κάθε φορά που μεγιστοιποιείται η ταχύτητα του εκκρεμούς, δηλ. όταν το Wiimote διέρχεται από την κατακόρυφη θέση ισορροπίας του.
Το χρονικό διάστημα μεταξύ δυο τέτοιων διαδοχικών μεγιστοποιήσεων της καταγραφόμενης επιτάχυνσης ισούται με το μισό της περιόδου κίνησης του εκκρεμούς, ή γενικότερα το χρονικό διάστημα Δt μεταξύ Ν διαδοχικών μεγιστοποιήσεων της επιτάχυνσης και η περίοδος Τ του εκκρεμούς συνδέονται με τη σχέση:


όπου η περίοδος των μικρού πλάτους ταλαντώσεων του εκκρεμούς υπολογίζεται από τη σχέση:


Από τη σχέση της περιόδου του απλού εκκρεμούς μπορεί να προσδιοριστεί η επιτάχυνση της βαρύτητας ως:


Θέτουμε το Wiimote σε ταλάντωση και με τη βοήθεια του λογισμικού Wiimote Physics καταγράφουμε την επιτάχυνση στον y άξονα.

Καταγραφή της κεντρομόλου επιτάχυνσης με το Wiimote Physics

Ενεργοποιώντας την επιλογή "Εμφάνιση συντεταγμένων" τοποθετούμε τον δρομέα σε ένα μέγιστο της καμπύλης ακ = f(t) που το Wiimote Physics έχει σχεδιάσει στην οθόνη του υπολογιστή. Το λογισμικό ανταποκρίνεται εμφανίζοντας τις συντεταγμένες του εν λόγω σημείου. Καταγράφεται η συντεταγμένη x που αντιστοιχεί στη χρονική στιγμή t1 της αυθαίρετα θεωρούμενης πρώτης μεγιστοποίησης της κεντρομόλου επιτάχυνσης. Με τον ίδιο τρόπο καταγράφεται και η χρονική στιγμή tτης δέκατης μεγιστοποίησης (μετά την "πρώτη") της επιτάχυνσης.
Είναι: Ν = 10, t1= 34,279 s και t2 = 45,994 s, και συνεπώς προκύπτει:




Δευτέρα 9 Μαΐου 2016

Wiimote - Βασικά χαρακτηριστικά

Η Nintendo λάνσαρε το Νοέμβριο του 2006 την παιχνιδομηχανή (κονσόλα) Wii και εισήγαγε το Wii Remote controller (Wiimote) ως το βασικό χειριστήριό της.
Το Wiimote χρησιμοποιεί ένα ενσωματωμένο επιταχυνσιόμετρο, που έχει τη δυνατότητα να μετράει τις επιταχύνσεις και στους τρεις άξονες x,y,z. Με τις τρεις αυτές τιμές της επιτάχυνσης μπορούν να υπολογιστούν οι γωνίες που σχηματίζει το Wiimote με τους άξονες, δηλαδή να προσδιοριστεί ο προσανατολισμός του στο χώρο. Επίσης, στην κορυφή του, περιέχει κάμερα υπερύθρων που δίνει τη δυνατότητα στην κονσόλα να καταγράφει τη θέση του Wiimote μέχρι και 5 m μακριά απ’ αυτήν. Τα δύο αυτά όργανα δίνουν στο Wiimote τη δυνατότητα ανίχνευσης των κινήσεων του χρήστη σε πραγματικό χρόνο.

Οι άξονες του επιταχυνσιομέτρου του Wiimote
Όσον αφορά τη λειτουργία το επιταχυνσιόμετρο δε μπορεί να διακρίνει την επιτάχυνση λόγω της βαρύτητας και την επιτάχυνση λόγω της κίνησης. Μετράει την επιτάχυνση σε μονάδες g, έχει κλίμακα από -5g ως +5g, δηλαδή εύρος 10g (αν και έχει ικανοποιητική ακρίβεια μόνο στην περιοχή από -3g μέχρι +3g). Το αναλογικό σήμα από το επιταχυνσιόμετρο οδηγείται στις 8 bit εισόδους του αναλογικού-ψηφιακού μετατροπέα που υπάρχει στον μικροελεγκτή ελέγχου του Wiimote. Συνεπώς, αντιστοιχούν 28 = 256 διαφορετικές ψηφιακές τιμές στο πλήρες εύρος (10g) της κλίμακας. Οπότε, η διακριτική ικανότητα του επιταχυνσιομέτρου είναι (10g/256) ή περίπου 0,04g.
Η κάμερα υπερύθρων που περιλαμβάνεται στον εξοπλισμό του χειριστηρίου Wiimote έχει τη μέγιστη ευαισθησία στα 940 nm περίπου, χάρη στο φίλτρο διέλευσης υπερύθρων (IR-pass) που περιέχει, και μπορεί να λαμβάνει 100 καρέ κάθε δευτερόλεπτο. Σε συνδυασμό με το Sensor Bar της κονσόλας, που περιέχει 10 LED υπέρυθρου φωτός, 5 σε κάθε άκρη του, και συνήθως τοποθετείται μπροστά ή πάνω από την τηλεόραση, μας επιτρέπει μέσω της διαδικασίας του τριγωνισμού τη μέτρηση της απόστασης μεταξύ του Wiimote και του Sensor Bar.
Το Wiimote επικοινωνεί με την κονσόλα μέσω Bluetooth, αποστέλλοντας δεδομένα από το επιταχυνσιόμετρο και την κάμερα υπερύθρων. Το ίδιο πρωτόκολλο επικοινωνίας μπορεί να χρησιμοποιηθεί για τη σύνδεσή του με ηλεκτρονικό υπολογιστή και καθιστά έτσι δυνατή, μέσω του λογισμικού Wiimote Physics, την καταγραφή και επεξεργασία δεδομένων απόστασης, επιτάχυνσης και χρόνου.
Το Wiimote Physics είναι μια εφαρμογή για Windows, ανεπτυγμένη σε γλώσσα C# από τον Martyn Wheeler, που επιτρέπει τη συλλογή και απεικόνιση δεδομένων από το Wiimote σε πραγματικό χρόνο. Το πρόγραμμα δηλαδή, μας δίνει τη δυνατότητα να παρακολουθούμε τη χρονική εξέλιξη του φαινομένου σχεδιάζοντας τη γραφική παράσταση των μετρήσεων παράλληλα με την καταγραφή τους.
Έχει μια σειρά από προκαθορισμένους τρόπους λειτουργίας και έτσι μας δίνει τη δυνατότητα να καταγράφουμε σε γραφικές παραστάσεις και να προσδιορίζουμε από αυτές την απόσταση του Wiimote από το Sensor Bar και την επιτάχυνσή του. Η εφαρμογή ανήκει στο ελεύθερο λογισμικό, δηλαδή δεν απαιτείται κανενός είδους πληρωμή για τη χρήση της. Ακόμα ο προγραμματιστής παρέχει ελεύθερα και τον πηγαία κώδικα της εφαρμογής.