Πίνακας περιεχομένων:
Βίντεο: Διαγωνισμός DIY VR Treadmill- Basys3 FPGA-Digilent: 3 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Θέλετε να δημιουργήσετε έναν διάδρομο εικονικής πραγματικότητας στον οποίο μπορείτε να εκτελέσετε εφαρμογές και παιχνίδια στην επιφάνεια εργασίας σας; Τότε ήρθατε στο σωστό μέρος!
Στα συμβατικά παιχνίδια χρησιμοποιείτε το ποντίκι και το πληκτρολόγιο για να αλληλεπιδράσετε με το περιβάλλον. Επομένως, πρέπει να στείλουμε το ίδιο είδος σημάτων με το ποντίκι και το πληκτρολόγιο, έτσι ώστε να μην υπάρχουν προβλήματα συμβατότητας μεταξύ του Διαδρόμου μας και του παιχνιδιού. Αντί να διαχωρίσουμε αυτές τις συσκευές, θα δημιουργήσουμε τη δική μας συσκευή που θα μπορεί να τις προσομοιώσει όσο το δυνατόν πιο κοντά.
Για τις εισόδους του ποντικιού θα χρησιμοποιήσουμε ένα δίσκο με εναλλασσόμενες αγώγιμες και μη αγώγιμες φέτες, στον οποίο θα γλιστρήσουν δύο σύρματα, με μια μικρή μετατόπιση. Ο πίνακας θα διαβάσει τα σήματα που προέρχονται από τα καλώδια, δίνοντάς μας έναν από τους τέσσερις συνδυασμούς: 00, 11, 10, 01, τους οποίους μπορούμε να μεταφράσουμε απευθείας σε κίνηση αριστερά-δεξιά.
Για την κίνηση προς τα πάνω, αντί για δίσκο, θα χρησιμοποιήσουμε μια πλάκα με το ίδιο μοτίβο 0 και 1.
Ως είσοδοι για τη μονάδα που προσομοιώνει το πληκτρολόγιο, θα έχουμε διακόπτες τοποθετημένους στην άρθρωση μιας ράβδου που θα συγκρατεί την πλεξούδα. Όταν πατάτε προς οποιαδήποτε κατεύθυνση, η ράβδος θα λυγίσει ελαφρώς, ανοίγοντας έτσι το διακόπτη.
(Λάβετε υπόψη ότι το έργο είναι ακόμα σε εξέλιξη και μπορεί να βελτιωθεί, οπότε περιμένω οποιαδήποτε συμβουλή μπορεί να το κάνει καλύτερο)
Βήμα 1: Βάση
Η βάση πρέπει να έχει χαμηλό κέντρο βάρους, επομένως χρειάζεται να χρησιμοποιηθεί βαρύ υλικό. Στην περίπτωσή μου, χρησιμοποίησα γύψο και δίσκο κεραίας για να φτιάξω ένα κοίλο καλούπι, αλλά μπορούν να χρησιμοποιηθούν άλλα μέσα (π.χ. μπάλα γιόγκα). Αφού στεγνώσει το καλούπι, θα τοποθετηθεί σε δύο δίσκους της ίδιας διαμέτρου από MDF ή παρόμοιο υλικό. Ένας διαχωριστής θα εισαχθεί μεταξύ των δύο δίσκων MDF. Μεταξύ αυτών των δίσκων, θα τοποθετηθεί ένα προφίλ τριγώνου, το οποίο έχει ρουλεμάν στις άκρες. Ένα άλλο σύνολο ρουλεμάν θα τοποθετηθεί κάθετα στις κορυφές του τριγώνου και εφαπτόμενο στο δίσκο, στην κορυφή. Για καλύτερη ακρίβεια, μπορούν να χρησιμοποιηθούν περισσότερα ρουλεμάν. Μια ράβδος θα τοποθετηθεί σε μία από τις κορυφές, όπως φαίνεται στην τρίτη εικόνα. Αυτή η ράβδος συγκρατεί την πλεξούδα στην οποία θα τοποθετηθεί η συσκευή αναπαραγωγής.
Μια άλλη σταθερή εξωτερική ράβδος χρησιμοποιείται για τη στήριξη των καλωδίων και επίσης ως σημείο αναφοράς για την περιστροφική κίνηση.
Βήμα 2: 2 Διαχείριση εισόδου
Από την άποψη του μαύρου κουτιού, η συσκευή θα έχει τις ακόλουθες εισόδους: 4 συνδέσεις για τους μετρητές x, y του ποντικιού, 2 συνδέσεις για τα κουμπιά του ποντικιού και 4 συνδέσεις για τα βέλη. Η έξοδος αντιπροσωπεύεται από 4 ακίδες: 2 για σύνδεση ποντικιού PS2 και άλλες 2 για σύνδεση πληκτρολογίου PS2. Για μια πιο λεπτομερή περιγραφή του πρωτοκόλλου PS2, μπορείτε να ελέγξετε τον ακόλουθο ιστότοπο:
Ως είσοδοι για τον πίνακα, επέλεξα ψηφιακούς πείρους JB (1 προς 0). Λαμβάνοντας υπόψη την ακολουθία… 11001100…, που διαβάζεται στις δύο εισόδους, μπορούμε να διακρίνουμε μεταξύ τριών καταστάσεων των μετρητών:
1. Μετρήστε
2. Καταμετρήστε
3. Αποθηκεύστε την τρέχουσα τιμή.
Η ενότητα Count_Type κάνει ακριβώς αυτό. Εάν υπάρχει αλλαγή στην είσοδο, τότε η μονάδα στέλνει ένα κατάλληλο μήνυμα στον μετρητή 8 bit (υλοποιείται στο αρχείο 8_bit_count.vhd), το οποίο προσθέτει ή αφαιρεί από την τρέχουσα τιμή, εκτός εάν ληφθεί σήμα επαναφοράς.
Η ίδια ιδέα χρησιμοποιείται για την κίνηση προς τα κάτω της κεφαλής, αλλά αντί για δίσκο, πρέπει να χρησιμοποιείται συρόμενο γραμμικό προφίλ με το ίδιο εναλλασσόμενο μοτίβο 0 & 1.
Βήμα 3: Εφαρμογή VHDL
Επισυνάπτονται στην παρουσίαση οι ακόλουθες ενότητες:
1. Count_Type: αυτή η ενότητα χειρίζεται την αποκωδικοποίηση των δύο καλωδίων εισόδου από το δίσκο ή το προφίλ, που περιγράφεται στο δεύτερο βήμα.
2. 8bit_count: αυτή η ενότητα ερμηνεύει το αποκωδικοποιημένο μήνυμα από το Count_Type και αυξάνει ή μειώνει τους μετρητές.
3. 3bytepacket: αυτή η ενότητα διαχειρίζεται την κατάσταση του αριστερού και του δεξιού κουμπιού και μορφοποιεί τα δεδομένα έτσι ώστε να μπορούν να εισαχθούν στο πακέτο δεδομένων 3 byte που χρησιμοποιείται στο πρωτόκολλο PS2.
4.clk12khz: αυτή η ενότητα δίνει ένα ρολόι 12khz ειδικά για το πρωτόκολλο PS2 στο οποίο λειτουργούν ορισμένα εξαρτήματα και διαδικασίες.
5. MessageManager: αυτή η ενότητα στέλνει το πακέτο δεδομένων 3 byte, το ερμηνεύει και δίνει την κατάλληλη απάντηση, ως απάντηση σε ένα μήνυμα από τον υπολογιστή.
6. PS2Interface: αυτή η ενότητα διασυνδέει το πρωτόκολλο επικοινωνίας μεταξύ της συσκευής και του κεντρικού υπολογιστή (Η / Υ) (αυτή η ενότητα χρειάζεται ορισμένα σφάλματα και ενδελεχή επανεκτίμηση για να λειτουργήσει σωστά).
Συνιστάται:
Τρισδιάστατη εκτυπωμένη κάμερα Gimbal (Διαγωνισμός Tinkercad): 6 βήματα
3D Printed Camera Gimbal (Διαγωνισμός Tinkercad): Γεια σας, αυτό είναι ένα gimbal κάμερας που σχεδίασα στο Tinkercad. Το κύριο gimbal φτιάχτηκε από This Jar Handle και ένα gimbal / γυροσκόπιο πέντε δαχτυλιδιών το οποίο δεν φαίνεται να βρίσκω πια. Το σχέδιο Tinkercad μπορείτε να το βρείτε εδώ. Αυτό σχεδιάστηκε για να λειτουργήσει σε μια εξουσία
Ρομπότ σχεδίασης με ασπίδα Adafruit (Διαγωνισμός Make It Move): 10 βήματα (με εικόνες)
Ρομπότ σχεδίασης με ασπίδα Adafruit (Διαγωνισμός Make It Move): Γεια σας, τα ονόματά μου ο Jacob και μένουμε στο Ηνωμένο Βασίλειο. Σε αυτό το έργο θα φτιάξω ένα ρομπότ που σχεδιάζει για εσάς. *Είμαι σίγουρος ότι πολλοί από εσάς θέλετε να το δείτε, οπότε αν θέλετε να το μάθετε παρακαλούμε να μεταβείτε στο δεύτερο έως το τελευταίο βήμα, αλλά φροντίστε να επιστρέψετε εδώ για να δείτε
Υπολογιστής Διαγωνισμός TinkerCad: 8 Βήματα
Υπολογιστής Διαγωνισμός TinkerCad: Γεια, τόσο πρόσφατα εξερευνούσα πώς να εφαρμόσω διαφορετικούς τύπους κώδικα σε ένα κύκλωμα. Διαπίστωσα ότι η κατασκευή μιας αριθμομηχανής θα ήταν ένας πολύ καλός τρόπος για την εφαρμογή " case " και άλλες μορφές κώδικα που είχα βρει ενδιαφέρον. Έχω στο παρελθόν μ
WALTER (Διαγωνισμός Arduino): 5 βήματα (με εικόνες)
WALTER (Διαγωνισμός Arduino): Pls Vote me for Arduino Contest 2017 [Παρακαλώ να συγχωρήσετε τα αγγλικά μου] Μου αρέσει πολύ η δημοφιλής διάταξη 2 σερβών έντομων arduino στο youtube. Όταν το κοίταξα, θυμάμαι πάντα τι έκαναν τα ρομποτικά παιδιά BEAM πολύ πριν αυτό το στήσιμο γίνει αγαπημένο. Αυτά τα π
Διαγωνισμός Mash Up και LED: Φακός διανομής Pez: 5 βήματα
Διαγωνισμός Mash Up και LED: Ένας φακός διανομής Pez: Αυτός είναι ένας φακός διανομής pez. Δεν είναι πολύ φωτεινό, αλλά είναι αρκετά φωτεινό για να βρείτε κλειδιά, κουμπιά πόρτας κλπ