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

Ποντίκι υπολογιστών Cyborg: 4 βήματα (με εικόνες)
Ποντίκι υπολογιστών Cyborg: 4 βήματα (με εικόνες)

Βίντεο: Ποντίκι υπολογιστών Cyborg: 4 βήματα (με εικόνες)

Βίντεο: Ποντίκι υπολογιστών Cyborg: 4 βήματα (με εικόνες)
Βίντεο: Η γκουγκου δεν σεβεται τον πατερα της 2024, Νοέμβριος
Anonim
Ποντίκι υπολογιστών Cyborg
Ποντίκι υπολογιστών Cyborg

Πολλές μελέτες υποδεικνύουν ότι η στάση της χρήσης ενός συμβατικού ποντικιού υπολογιστή μπορεί να είναι επικίνδυνη. Το ποντίκι είναι ένα τυπικό κομμάτι εξοπλισμού υπολογιστή. Οι χρήστες υπολογιστών χρησιμοποιούν το ποντίκι σχεδόν τρεις φορές περισσότερο από το πληκτρολόγιο. Καθώς τα ποσοστά έκθεσης είναι υψηλά, η βελτίωση της στάσης του άνω άκρου κατά τη χρήση ποντικιού υπολογιστή είναι πολύ σημαντική.

Για αυτό το αφηρημένο έργο θα κάνουμε ένα φορετό που θα επιτρέπει στους ανθρώπους να μετακινούνται μέσω της οθόνης του υπολογιστή χωρίς την ανάγκη εξωτερικής τεχνολογίας. Με αυτόν τον τρόπο θα μπορούσαμε να χρησιμοποιήσουμε τις φυσικές κινήσεις των χεριών αντί να κάνουμε κλικ σε μια συσκευή σε οριζόντια επιφάνεια. Αυτό επιτρέπει επίσης τη χρήση οθονών ενώ στέκεστε, κάνοντας τις προφορικές παρουσιάσεις πιο ευχάριστες.

Όσο για το πρωτότυπο, θα χρησιμοποιηθεί ο δείκτης ως χειριστήριο, το μεσαίο δάχτυλο για αριστερό κλικ, το δαχτυλίδι για το δεξί κλικ και το ροζ για την ενεργοποίηση και απενεργοποίηση της συσκευής. Ο αντίχειρας θα λειτουργεί ως η επιφάνεια όπου πιέζονται τα κουμπιά. Όλα αυτά θα προστεθούν σε ένα γάντι.

Προμήθειες

  • (x1) Arduino Leonardo
  • (x1) Πρωτόπλακα
  • (x1) Ενότητα Joystick
  • (x3) Πλήκτρο
  • (x20 ±) Μπότες καλωδίων
  • (x3) Αντιστάσεις 1KΩ
  • (x1) Σετ ραπτικής γαντιών
  • Velcro Hot σιλικόνη
  • Σετ συγκόλλησης καλωδίων
  • Τρισδιάστατο κομμάτι

Βήμα 1: Ρύθμιση του υλικού

Ρύθμιση του υλικού
Ρύθμιση του υλικού

Έχουμε συμπεριλάβει ένα σκίτσο Fritzing για καλύτερη κατανόηση του σχεδιασμού. Σας συνιστούμε να τοποθετήσετε πρώτα τα εξαρτήματα σε ένα πρωτοπόρο. Με αυτόν τον τρόπο μπορείτε να ελέγξετε ότι όλα λειτουργούν πριν από τη συγκόλληση.

Βήμα 2: Ανεβάστε τον κώδικα και δοκιμάστε

Μόλις γίνουν οι συνδέσεις, συνδέστε το USB A (M) στο micro USB B (M) από τον υπολογιστή στο Arduino Leonardo και ανεβάστε το σκίτσο. Μη διστάσετε να αντιγράψετε, να τροποποιήσετε και να βελτιώσετε το σκίτσο.

ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Όταν χρησιμοποιείτε την εντολή Mouse.move (), το Arduino αναλαμβάνει το ποντίκι σας! Βεβαιωθείτε ότι έχετε τον έλεγχο πριν χρησιμοποιήσετε την εντολή. Λειτουργεί μόνο για Arduino Leonardo, Micro ή Due

Εδώ είναι ο κωδικός μας για αυτό το έργο:

// Ορισμός Pins#include; const int mouseMiddleButton = 2; // καρφίτσα εισαγωγής για το μεσαίο κουμπί του ποντικιού const int startEmulation = 3; // εναλλαγή για ενεργοποίηση και απενεργοποίηση της προσομοίωσης ποντικιού const int mouseLeftButton = 4; // καρφίτσα εισαγωγής για το αριστερό ποντίκι Κουμπί const int mouseRightButton = 5; // καρφίτσα εισαγωγής για το ποντίκι δεξιά Κουμπί const int joystickX = A1; // joystick X άξονας const int joystickY = A0; // άξονας joystick Y

// παράμετροι για την ανάγνωση του joystick:

int cursorSpeed = 10; // ταχύτητα εξόδου κίνησης Χ ή Υ int responseDelay = 5; // καθυστέρηση απόκρισης του ποντικιού, σε ms int threshold = cursorSpeed / 4; // κατώφλι ανάπαυσης int center = cursorSpeed / 2; // τιμή θέσης ανάπαυσης int mouseMiddleState = 0;

boolean mouseIsActive = false; // για τον έλεγχο ή όχι του ποντικιού

int lastSwitchState = LOW; // προηγούμενη κατάσταση μεταγωγής

void setup () {

pinMode (startEmulation, INPUT); // το pin pin του διακόπτη (mouseMiddleButton, INPUT); // το pinMode του μεσαίου κουμπιού του ποντικιού (mouseLeftButton, INPUT); // το pinMode του αριστερού κουμπιού του ποντικιού (mouseRightButton, INPUT); // το pin του δεξιού κουμπιού του ποντικιού

Mouse.begin (); // αναλάβετε τον έλεγχο του ποντικιού

}

void loop () {

// διαβάστε το διακόπτη: int switchState = digitalRead (startEmulation);

// εάν έχει αλλάξει και είναι υψηλό, αλλάξτε την κατάσταση του ποντικιού:

if (switchState! = lastSwitchState) {if (switchState == LOW) {mouseIsActive =! mouseIsActive; }}

// αποθήκευση κατάστασης διακόπτη για τον επόμενο βρόχο:

lastSwitchState = switchState;

// διαβάστε και κλιμακώστε τους δύο άξονες:

int xReading = readAxis (A1); int yReading = readAxis (A0);

// εάν η κατάσταση ελέγχου ποντικιού είναι ενεργή, μετακινήστε το ποντίκι:

if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, κύλιση τροχού ποντικιού)}

//ΑΡΙΣΤΕΡΑ

// διαβάστε το κουμπί του ποντικιού και κάντε κλικ ή όχι: // εάν πατήσετε το κουμπί του ποντικιού: if (digitalRead (mouseLeftButton) == HIGH) {// εάν δεν πατηθεί το ποντίκι, πατήστε το: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); καθυστέρηση (100)? // καθυστέρηση για ενεργοποίηση ενός και διπλού κλικ Mouse.release (MOUSE_LEFT); }}

// αλλιώς το κουμπί του ποντικιού δεν πιέζεται:

else {// εάν πατήσετε το ποντίκι, αφήστε το: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}

//ΣΩΣΤΑ

// διαβάστε το κουμπί του ποντικιού και κάντε κλικ ή όχι: // εάν πατήσετε το κουμπί του ποντικιού: if (digitalRead (mouseRightButton) == HIGH) {// εάν δεν πατηθεί το ποντίκι, πατήστε το: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); καθυστέρηση (100)? // καθυστέρηση για ενεργοποίηση ενός και διπλού κλικ Mouse.release (MOUSE_RIGHT); }}

// αλλιώς δεν πατάτε το κουμπί του ποντικιού:

else {// εάν πατήσετε το ποντίκι, αφήστε το: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}

//ΜΕΣΑΙΟ

// διαβάστε το κουμπί του ποντικιού και κάντε κλικ ή όχι: // εάν πατήσετε το κουμπί του ποντικιού: if (digitalRead (mouseMiddleButton) == HIGH) {// εάν δεν πατηθεί το ποντίκι, πατήστε το: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // actualiza el estado del botón}}

// αλλιώς δεν πατάτε το κουμπί του ποντικιού:

else {// εάν πατήσετε το ποντίκι, αφήστε το: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}

καθυστέρηση (replyDelay)?

}

/*

διαβάζει έναν άξονα (0 ή 1 για x ή y) και κλιμακώνει το εύρος της αναλογικής εισόδου σε μια περιοχή από 0 έως */

int readAxis (int thisAxis) {

// διαβάστε την αναλογική είσοδο: int reading = analogRead (thisAxis);

// χαρτογραφήστε την ένδειξη από το εύρος αναλογικής εισόδου στο εύρος εξόδου:

ανάγνωση = χάρτης (ανάγνωση, 0, 1023, 0, cursorSpeed);

// εάν η ένδειξη εξόδου είναι έξω από το

// κατώφλι θέσης ανάπαυσης, χρησιμοποιήστε το: int απόσταση = ανάγνωση - κέντρο.

εάν (abs (απόσταση) <κατώφλι) {απόσταση = 0; }

// επιστρέψτε την απόσταση για αυτόν τον άξονα:

απόσταση επιστροφής? }

Βήμα 3: Τοποθέτηση του Πρωτότυπου

Τοποθέτηση του Πρωτότυπου
Τοποθέτηση του Πρωτότυπου
Τοποθέτηση του Πρωτότυπου
Τοποθέτηση του Πρωτότυπου
Τοποθέτηση του Πρωτότυπου
Τοποθέτηση του Πρωτότυπου

Το πρώτο βήμα είναι το ράψιμο του velcro στο γάντι, πρέπει να ράψετε τέσσερις λωρίδες velcro μία σε κάθε δάχτυλο. Ράψαμε το μαλακό μέρος του velcro.

Κάθε κουμπί έχει δύο καλώδια, ένα που ξεκινά από τις αντίστοιχες ακίδες και συνδέεται με το θετικό σκέλος του κουμπιού και ένα άλλο στο αρνητικό πόδι. Στο άλλο άκρο του αρνητικού σύρματος κολλάμε τις αντιστάσεις κάθε κουμπιού συν το αρνητικό σύρμα του χειριστηρίου σε ένα τελευταίο σύρμα, το οποίο συνδέεται με το GND της πλακέτας Arduino. Η ίδια παράλληλη σύνδεση λειτουργεί για τη θετική πλευρά. (3 κουμπιά και θετικό πόδι χειριστηρίου)

Αφού κολλήσουμε τους βραχυκυκλωτήρες θα βάλουμε τις σκληρές λωρίδες velcro, έτσι ώστε τα σύρματα να κολλήσουν στο μεταξύ. Τέλος, θερμοκολλήσαμε τη μονάδα χειριστηρίου σε ένα τρισδιάστατο κομμάτι. Παρακάτω μπορείτε να βρείτε το αρχείο. STL.

Βήμα 4: Ξεκινήστε να χρησιμοποιείτε το χέρι σας ως ποντίκι

Image
Image
Ξεκινήστε να χρησιμοποιείτε το χέρι σας ως ποντίκι!
Ξεκινήστε να χρησιμοποιείτε το χέρι σας ως ποντίκι!
Ξεκινήστε να χρησιμοποιείτε το χέρι σας ως ποντίκι!
Ξεκινήστε να χρησιμοποιείτε το χέρι σας ως ποντίκι!

Youηφίστε μας στον Διαγωνισμό Υποβοηθητικής Τεχνικής αν σας άρεσε το έργο.

Συνιστάται: