- ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ:
- Απαιτούμενα στοιχεία:
- Επεξήγηση κυκλώματος:
- Εργασία του επιταχυνσιόμετρου:
- Προγραμματισμός Arduino:
- Επεξεργασία προγραμματισμού:
- Δοκιμές:
Το Augmented Reality και το Virtual Gaming έχει γίνει μια πρόσφατη τάση στη βιομηχανία τυχερών παιχνιδιών. Οι χρόνοι χρήσης ενός πληκτρολογίου / Joystick και ενός ποντικιού για να παίξετε ένα παιχνίδι στον υπολογιστή έχουν περάσει πίσω. Τώρα κάθε κονσόλα παιχνιδιών συνοδεύεται από έναν Εικονικό Ελεγκτή που μας βοηθά να παίξουμε το παιχνίδι χρησιμοποιώντας τις κινήσεις και τις κινήσεις του σώματός μας, με αυτόν τον τρόπο η εμπειρία παιχνιδιού έχει αυξηθεί πολύ και ο χρήστης αισθάνεται ότι συμμετέχει περισσότερο στο παιχνίδι.
Σε αυτό το έργο ας προσπαθήσουμε να διασκεδάσουμε καθώς μαθαίνουμε μέσω του έργου. Ας δημιουργήσουμε ένα παιχνίδι (Ναι, με ακούσατε σωστά, θέλουμε να δημιουργήσουμε ένα παιχνίδι) και να το παίξουμε χρησιμοποιώντας την κίνηση του χεριού σας. Δημιουργούμε το κλασικό παιχνίδι Ping Pong Ball χρησιμοποιώντας το Arduino και το Accelerometer.
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ:
Υπάρχουν τόνοι διαθέσιμου λογισμικού ανοιχτού κώδικα αυτές τις μέρες, οι οποίοι έχουν φέρει μεγάλη ευτυχία για χόμπιτς σαν εμάς και η Επεξεργασία είναι ένα από αυτά. Με αυτήν την εφαρμογή που βασίζεται σε JAVA μπορούμε να δημιουργήσουμε δικό μας λογισμικό (μορφή.exe) και επίσης μια εφαρμογή android (αρχείο.apk). Έτσι θα χρησιμοποιήσουμε αυτό το λογισμικό για να χτίσουμε το παιχνίδι μας, έχουμε προηγουμένως χρησιμοποιήσει την Επεξεργασία στη δημιουργία του Arduino Chat Room.
Το τμήμα υλικού θα αποτελείται από ένα Arduino το οποίο θα πάρει την είσοδο από ένα επιταχυνσιόμετρο για να το τροφοδοτήσει σειριακά στον υπολογιστή / φορητό υπολογιστή μας.
Ας πάμε για ψώνια !!!!
Απαιτούμενα στοιχεία:
- Arduino (οποιαδήποτε έκδοση ή μοντέλο)
- Επιταχυνσιόμετρο
- Σύνδεση καλωδίων
- Ενδιαφέρον (Lolz)
Επιταχυνσιόμετρο και Arduino Nano
Επεξήγηση κυκλώματος:
Το έργο Circuit of Arduino Ping Pong Ball Game δεν περιλαμβάνει πολύπλοκες συνδέσεις. Έχω χρησιμοποιήσει ένα Arduino Nano με Accelerometer. Αλλά υπάρχουν λίγα πράγματα που πρέπει να ληφθούν υπόψη όπως αναφέρεται παρακάτω:
1. Το επιταχυνσιόμετρο δεν μπορεί να χειριστεί 5V, επομένως συνδέστε πάντα το Vcc του επιταχυνσιόμετρου με τον πείρο Arduino 3.3V.
2. Κάθε επιταχυνσιόμετρο υποφέρει από την επίδραση της βαρύτητας που πρέπει να αντιμετωπιστεί κατά τον προγραμματισμό (απλά χρησιμοποιώντας ένα φίλτρο).
Έχοντας αυτό κατά νου, ας δούμε τη λειτουργία ενός επιταχυνσιόμετρου και πώς το χρησιμοποιούμε.
Εργασία του επιταχυνσιόμετρου:
Το Επιταχυνσιόμετρο είναι μια συσκευή που μπορεί να μετατρέψει την επιτάχυνση σε οποιαδήποτε κατεύθυνση στην αντίστοιχη μεταβλητή τάση. Αυτό επιτυγχάνεται με τη χρήση πυκνωτών (αναφορά εικόνας), καθώς το Accel κινείται, ο πυκνωτής που υπάρχει μέσα σε αυτό, θα υποστεί επίσης αλλαγές (αναφορά εικόνας) με βάση την κίνηση, καθώς η χωρητικότητα ποικίλλει, μπορεί επίσης να επιτευχθεί μεταβλητή τάση.
Έτσι, όπως αναφέρθηκε παραπάνω, κάθε επιταχυνσιόμετρο πάσχει από το πρόβλημα της βαρύτητας. Ανεξάρτητα από το πόσο ακριβής βαθμονομείται ο αισθητήρας σας (ακόμη και τα τηλέφωνα Apple Accel.), Θα επηρεαστεί από τη βαρύτητα. Μια πιο τεχνική εξήγηση για αυτό το πρόβλημα δίνεται παρακάτω.
Τώρα, στο Arduino μπορούμε να μειώσουμε την επίδραση της βαρύτητας χρησιμοποιώντας ένα απλό φίλτρο. Αυτό το φίλτρο θα αποτελείται από δύο πίνακες, η μία χρησιμοποιείται για την αποθήκευση των τιμών δείγματος από τον αισθητήρα και η άλλη χρησιμοποιείται για την ταξινόμηση των τιμών δείγματος και για την εύρεση της πιο επαναλαμβανόμενης τιμής. Ας εφαρμόσουμε αυτόν τον αλγόριθμο στο Arduino μας και προετοιμάσουμε το υλικό μας.
Προγραμματισμός Arduino:
Το πρόγραμμα Arduino δίνεται παρακάτω στην ενότητα Code. Δεν υπάρχουν κρίσιμα δεδομένα που πρέπει να τροποποιηθούν. Αλλά ίσως θελήσετε να λάβετε υπόψη τα εξής:
Αυξήστε το μέγεθος του δείγματος εάν το Accel εξακολουθεί να εμφανίζει τυχαίες τιμές.
#define Samplesize 13 // φίλτρο Αριθμός δείγματος
Παίξτε με το ρυθμό baud 9600 για να αυξήσετε την ταχύτητα επικοινωνίας μεταξύ Arduino και Processing. Αλλά βεβαιωθείτε ότι τα αλλάζετε και στα δύο λογισμικά (Προγράμματα).
άκυρη ρύθμιση () {Serial.begin (9600); }
Το επιταχυνσιόμετρο μου στον άξονα X δίνει 193 στο άκρο αριστερό και 280 στο άκρο δεξιά, μετρήστε τα για το Accel σας και ενημερώστε την τιμή.
toSend = map (smoothData1, 193, 280, 0, 255);
Οι τιμές χαρτογραφούνται σε ένα byte δεδομένων για σειριακή επικοινωνία.
Περαιτέρω ελέγξτε τα Σχόλια στον παρακάτω κώδικα για να το κατανοήσετε καθαρά.
Επεξεργασία προγραμματισμού:
Η επεξεργασία είναι λογισμικό ανοιχτού κώδικα που χρησιμοποιείται από καλλιτέχνες για το σχεδιασμό γραφικών. Αυτό το λογισμικό χρησιμοποιείται για την ανάπτυξη λογισμικού και εφαρμογών Android. Είναι αρκετά εύκολο να αναπτυχθεί και μοιάζει πολύ με το Android Development IDE. Ως εκ τούτου, συντόμευα την εξήγηση.
Ο κωδικός επεξεργασίας για το παιχνίδι πινγκ πονγκ δίνεται εδώ:
- Κωδικός επεξεργασίας για το παιχνίδι Arduino Ping Ball
Κάντε δεξί κλικ πάνω του και κάντε κλικ στο «Αποθήκευση συνδέσμου ως..» για να κατεβάσετε το αρχείο κώδικα. Στη συνέχεια, ανοίξτε το αρχείο στο λογισμικό "Επεξεργασία" και κάντε κλικ στο κουμπί "Εκτέλεση" για να παίξετε το παιχνίδι. Πρέπει να εγκαταστήσετε το λογισμικό «Επεξεργασία» για να ανοίξετε αρχεία *.pde. Η ενότητα σχολίων είναι ανοιχτή για ερωτήματα και ελέγξτε επίσης τα σχόλια στο Πρόγραμμα για να το κατανοήσετε καλύτερα.
Κάτω γραμμή, στην κενή ρύθμιση () η λειτουργία του κώδικα επεξεργασίας είναι σημαντική, καθώς αποφασίζει από ποια θύρα σε δεδομένα.
port = new Serial (αυτό, Serial.list (), 9600); // Διαβάζει το 4ο PORT στο 9600 baudrate
Εδώ έχω διαβάσει δεδομένα από την 4η θύρα από το Arduino μου.
Έτσι, για παράδειγμα, εάν έχετε COM COM COM COM
Στη συνέχεια, ο παραπάνω κώδικας θα διαβάσει δεδομένα από το COM.
Δοκιμές:
Τώρα, καθώς το σκίτσο Processing και Arduino είναι έτοιμο, απλώς ανεβάστε το παρακάτω πρόγραμμα στο Arduino και συνδέστε το καλώδιο προγραμματισμού Arduino σε υπολογιστή χρήστη και ξεκινήστε το παιχνίδι με το Run the Processing code file (.pde). Αυτό είναι! Μετακινήστε το Επιταχυνσιόμετρο και παίξτε το Παιχνίδι Πινγκ Πονγκ. Το βίντεο θα σας καθοδηγήσει σε ολόκληρο το έργο.
Μόλις καταλάβετε το πρόγραμμα, μπορείτε να δημιουργήσετε πολλά παρόμοια παιχνίδια και να τα παίξετε χρησιμοποιώντας το Arduino, Περαιτέρω, ο άξονας Υ και ο άξονας Ζ μπορεί επίσης να συμπεριληφθούν στο παιχνίδι.