Πίνακας περιεχομένων:

3D AIR Mouse - Επεξεργασία Arduino +: 5 βήματα
3D AIR Mouse - Επεξεργασία Arduino +: 5 βήματα

Βίντεο: 3D AIR Mouse - Επεξεργασία Arduino +: 5 βήματα

Βίντεο: 3D AIR Mouse - Επεξεργασία Arduino +: 5 βήματα
Βίντεο: AI Animation Generator : Create a Stunning 3D Movie with AI Easily 2024, Νοέμβριος
Anonim
3D AIR Mouse | Επεξεργασία Arduino +
3D AIR Mouse | Επεξεργασία Arduino +

3D ποντίκι AIR | Είμαι φοιτητής βιομηχανικού σχεδιασμού και πέρυσι στο πλαίσιο ενός μαθήματος που ονομάζεται "Technology as RAW materiel" έχτισα αυτό το έργο ως την τελική μου εργασία. Δουλεύω τις περισσότερες φορές με το SolidWorks, ένα λογισμικό CAD για σχεδιασμό και μηχανική Το Η περιστροφή ενός συμπαγούς σώματος στην οθόνη γίνεται χρησιμοποιώντας το μεσαίο κουμπί του ποντικιού. Έψαχνα για κάτι πιο διαισθητικό. Έτσι κατέληξα να κάνω το ποντίκι τρισδιάστατου αέρα, όπου η πραγματική περιστροφή ενός αντικειμένου γίνεται μετακινώντας το ποντίκι στον μεσαίο αέρα και στους 3 άξονες - με τον ίδιο τρόπο που θα περιστρέφατε το αντικείμενο αν το κρατούσατε στο χέρι σας. Χρησιμοποίησα το Arduino, δύο αισθητήρες και ένα σκίτσο επεξεργασίας. ΣΗΜΕΙΩΣΕΙΣ:- Προς το παρόν, αυτό είναι μόνο μια επίδειξη της ιδέας, καθώς δεν υπάρχει πραγματικό plug-in για εργασία με το SolidWork (αλλά φυσικά, μη διστάσετε Γράψτε ένα αν γνωρίζετε πώς:) κάποια ιδέα αν θέλετε να δοκιμάσετε και να φτιάξετε ένα μόνοι σας … Απολαύστε το … (Είναι το πρώτο μου με οδηγίες) Εδώ είναι το βίντεο επίδειξης του τελικού έργου

Βήμα 1: Υλικό και υλικό

Υλικό και υλικό
Υλικό και υλικό
Υλικό και υλικό
Υλικό και υλικό
Υλικό και υλικό
Υλικό και υλικό
Υλικό και υλικό
Υλικό και υλικό

Δεν είναι το φθηνότερο Instructable καθώς βασίζεται σε επιταχυνσιόμετρο 3 αξόνων + αισθητήρα πυξίδας. Πράγματα που θα χρειαστείτε:* Ένα ποντίκι - ένα μεταχειρισμένο είναι καλύτερο (μόνο επειδή είναι μεταχειρισμένο και φθηνότερο), πρέπει να κάνει οποιοδήποτε ποντίκι. Πρέπει να έχετε λίγο χώρο για να στεγάσετε τους αισθητήρες και μερικά επιπλέον καλώδια, οπότε μην προτιμάτε επιπλέον λεπτά / επιπλέον μικροσκοπικά ποντίκια.* Μονάδα πυξίδας με αντιστάθμιση κλίσης - HMC634 - Αυτός είναι ο αισθητήρας 3 αξόνων, που αγοράστηκε στο SpurkFun για $ 149* Logic Level Converter - ΠΡΕΠΕΙ! Δεδομένου ότι το Arduino είναι 5V και ο αισθητήρας 3 αξόνων είναι 3.3V, χρειάζεστε έναν από αυτούς για να μετατρέψετε το 5V σε 3.3V. Έχει μεγάλο όνομα, αλλά κοστίζει μόνο 1,95 $ στο SpurkFun.* Large Optical Detector / Phototransistor - Αυτός είναι ένας απλός οπτικός αισθητήρας, που χρησιμοποιείται σε αυτό το έργο για να εντοπίσει πότε το ποντίκι σηκώνεται από την επιφάνεια εργασίας. Αγοράστηκε στο SpurkFun για 2,25 $ Εάν δεν έχετε αρκετό χώρο για να το τοποθετήσετε μέσα στο επιλεγμένο ποντίκι σας, μπορείτε να το χρησιμοποιήσετε, μικρότερο και φθηνότερο. * Ένα (1) LED - δεν πειράζει το χρώμα, το εξαιρετικά φωτεινό θα λειτουργήσει καλύτερα.* 2 αντιστάσεις - Μία (1) x 100Ω και μία (1) x 100KΩ (Για τον οπτικό αισθητήρα)* Πλακέτα Arduino - DA! Χρησιμοποίησα το μοντέλο Diecimila. Ένα νεότερο Duemilanove διατίθεται στο SpurkFun για περίπου 29,95 $ (Πρέπει να λειτουργήσει επίσης) + εγκατεστημένο λογισμικό Arduino.* Εγκατεστημένο λογισμικό επεξεργασίας.* Ο πηγαίος κώδικας του έργου (Μην ανησυχείτε, θα το κατεβάσετε σε ένα δευτερόλεπτο.) Plus: Μερικά ζεστή κόλλα (για να στερεώσουν τα πράγματα στη θέση τους) Μερικές μικροσκοπικές βίδες. Περίπου 10 εκατοστά από ξύλινη άγκυρα 6 χιλιοστών (Δια.). Μερικά επιπλέον καλώδια. Συγκολλητικό σίδερο. Κάτι για να κόψω το πλαστικό, χρησιμοποίησα ένα μαχαίρι κοπής και ένα αρχείο (ΓΙΑ τη διαμόρφωση). ("Εντάξει, μη με μισείς για αυτό το βήμα, τα Αγγλικά είναι η 2η γλώσσα μου, αν το έκανα λάθος, συγγνώμη, είμαι σίγουρος ότι θα καταλάβεις τι κάνω σε ένα δευτερόλεπτο όταν θα το δεις στις φωτογραφίες ")

Βήμα 2: Ηλεκτρονικά

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ

Όλα πρέπει να κολληθούν μαζί … Κατά κάποιο τρόπο … ΣΗΜΕΙΩΣΗ: Ο αισθητήρας 3 αξόνων είναι ένα ακριβό μικρό πράγμα, ελέγξτε ξανά την καλωδίωση πριν τροφοδοτήσετε τα πάντα … Δείτε τα συνημμένα σχήματα για όλες τις καλωδιώσεις που χρησιμοποιούνται σε αυτό το έργο. Ο συνημμένος πηγαίος κώδικας μπορεί να λειτουργήσει μόνο εάν χρησιμοποιείτε τους ίδιους αριθμούς pin που έκανα, αλλά μη διστάσετε να τους αλλάξετε κατά τη σύνδεση αρκεί να αλλάξετε τους κατάλληλους αριθμούς στον κώδικα. Σύνδεση του αισθητήρα 3 αξόνων στον μετατροπέα λογικού επιπέδου: Sensor VCC -> Arduino 3V3Sensor GND -> Arduino GndSensor SDA -> Converter TXI (Chan1) Converter TXO (Chan1) -> Arduino ANALOG IN 4Sensor SCL -> Converter TXI (Chan2) Converter TXO (Chan2) -> Arduino ANALOG IN 5Converter GND (τουλάχιστον ένα από αυτά) -> Arduino GndConverter HV -> Arduino 5VConverter LV -> Arduino 3V3Απτικός αισθητήρας στο Arduino: Δείτε συνημμένη εικόνα igηφιακή σε = Pin 11 στο ArduinoLED: GND σε ορισμένα GND (χρησιμοποίησα έναν από τους οπτικούς αισθητήρες)+ στο Arduino PIN 13 (Αυτό έγινε αφού αυτός ο πείρος έχει ήδη ενσωματωμένη αντίσταση, αν χρησιμοποιείτε διαφορετική, βεβαιωθείτε ότι χρησιμοποιείτε αντίσταση για να μην κάψετε το LED)

Βήμα 3: Προετοιμασία του ποντικιού

Προετοιμασία του ποντικιού
Προετοιμασία του ποντικιού
Προετοιμασία του ποντικιού
Προετοιμασία του ποντικιού
Προετοιμασία του ποντικιού
Προετοιμασία του ποντικιού

Εδώ οι αισθητήρες βρίσκουν τη θέση τους μέσα στο περίβλημα του ποντικιού. Βρείτε το καλύτερο μέρος για να διορθώσετε τον αισθητήρα 3 αξόνων. Βεβαιωθείτε ότι είναι ισοπεδωμένο και προσέξτε τον προσανατολισμό (Θα ξέρετε πότε θα έχετε τον αισθητήρα στο χέρι) Μπορείτε να το διορθώσετε με όποιον τρόπο θέλετε, χρησιμοποίησα 2 μικρά κομμάτια από την ξύλινη άγκυρα, τρυπημένα για να δεχτούν τις 2 μικροσκοπικές βίδες, και ζεστό κολλημένο στην κύρια πλακέτα του ποντικιού. Για τον οπτικό αισθητήρα, διαμορφώστε μια ορθογώνια τρύπα στο κάτω μέρος του ποντικιού, η ιδέα είναι ο αισθητήρας να "βλέπει" τον πίνακα όλη την ώρα. Όταν το ποντίκι σηκωθεί και η κατάσταση του αισθητήρα είναι "ανοιχτή" (δεν υπάρχει πίνακας για να δείτε) το ποντίκι μεταβαίνει σε τρισδιάστατη λειτουργία (εκτελεί το σκίτσο επεξεργασίας) Διαμορφώστε μια άλλη τρύπα για τη δρομολόγηση των επιπλέον καλωδίων (από τους αισθητήρες στο Arduino) έξω από το πλαστικό περίβλημα. Το δικό μου βρισκόταν στη δεξιά πλευρά του ποντικιού. Διορθώστε το LED όπου είναι θα εμφανιστεί. Σε αυτό το έργο το LED είναι η ένδειξη τρισδιάστατης λειτουργίας. Τοποθετώ το δικό μου δίπλα στον τροχό σιλικόνης του ποντικιού. Όταν σηκώνεται το ποντίκι, ο τροχός είχε μια ωραία μπλε λάμψη.

Βήμα 4: Ο πηγαίος κώδικας

Ο κωδικός για το Arduino γράφτηκε από τον Shachar Geiger, τον δάσκαλό μου, και τροποποιήθηκε από εμένα για αυτό το έργο. Ο κωδικός 3D κύβου είναι ο βασικός κώδικας που βρίσκεται στον ιστότοπο επεξεργασίας. Το τροποποίησα λίγο. Στον κώδικα, αυτό το κομμάτι μετατρέπει τις ακατέργαστες πληροφορίες που προέρχονται από τον αισθητήρα (συνήθως -180 σε 180 x 10) σε 0-255 getHeading (); Serial.write ('x'); x = (x +1800) / 14; Serial.write (x); Serial.write ('y'); y = (y+1800) / 14; Serial.write (y); Serial.write ('z'); z = (z+1800) / 14; Serial.write (z); Οι πληροφορίες από τον αισθητήρα και το Arduino πηγαίνουν στο σκίτσο επεξεργασίας για κάθε ξεχωριστό άξονα, αλλά με ένα γράμμα του προηγούμενου άξονα (για έκφρ. X12 Y200 Z130), ο ακόλουθος κώδικας ρίχνει το γράμμα και αφήνει μόνο τις τιμές που πρέπει να αποσταλούν στο COM θύρα while (port.available () == 0) {} char read = 0; while (reading! = 'x') {while (port.available () == 0) {} reading = (char) port.read ();} X = port.read (); while (read! = 'Y') {while (port.available () == 0) {} reading = (char) port.read ();} Y = port.read (); while (read! = 'z') {while (port.available () == 0) {} reading = (char) port.read ();} Z = port.read (); Αυτό το κομμάτι κώδικα ρίχνει όλες τις αρνητικές τιμές … αν ((X! = -1) && (Y! = -1) && (Z! = -1)) {rotateZ (-(float) Y/25.0); rotateX ((float) X/25.0); rotateY ((float) Z/25.0); pX = X; pY = Y; pZ = Z;} else {rotateZ (-(float) pY/25.0); rotateX ((float) pX /25.0);rotateY((float)pZ/25.0);} Το συνημμένο αρχείο ZIP περιείχε κώδικα Arduino και επεξεργασίας

Βήμα 5: Βίντεο

Αυτό είναι … Αυτό είναι το τελειωμένο έργο σε ένα βίντεο. Υπάρχει μια μικρή δυσλειτουργία (Μπορείτε να δείτε ότι ο κύβος μερικές φορές "πηδάει" στο βίντεο), αυτό οφείλεται στον άξονα Ζ, μπορεί να μην σας συμβεί…

Συνιστάται: