ዝርዝር ሁኔታ:

Cyborg Computer Mouse: 4 ደረጃዎች (ከስዕሎች ጋር)
Cyborg Computer Mouse: 4 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Cyborg Computer Mouse: 4 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Cyborg Computer Mouse: 4 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: ETHIOPIA: How to fix any Wi-Fi connection problem of computers? 2024, ሀምሌ
Anonim
ሳይቦርግ ኮምፒውተር መዳፊት
ሳይቦርግ ኮምፒውተር መዳፊት

ብዙ ጥናቶች እንደሚጠቁሙት የተለመደው የኮምፒተር መዳፊት የመጠቀም አኳኋን አደገኛ ሊሆን ይችላል። አይጥ መደበኛ የኮምፒተር መሣሪያዎች ነው። የኮምፒተር ተጠቃሚዎች ከቁልፍ ሰሌዳው ሦስት እጥፍ ያህል አይጡን ይጠቀማሉ። የተጋላጭነት መጠኖች ከፍተኛ ስለሆኑ የኮምፒተር መዳፊት በሚጠቀሙበት ጊዜ የላይኛውን ጫፍ አቀማመጥ ማሻሻል በጣም አስፈላጊ ነው።

ለዚህ ረቂቅ ፕሮጀክት ሰዎች የውጭ ቴክኖሎጂ ሳያስፈልጋቸው በኮምፒተር ማያ ገጽ በኩል እንዲንቀሳቀሱ የሚያስችል የሚለብስ እንሠራለን። በዚያ መንገድ መሣሪያን በአግድመት ወለል ላይ ከመጫን ይልቅ ተፈጥሯዊ እንቅስቃሴዎችን ልንጠቀም እንችላለን። ይህ እንዲሁ ቆሞ እያለ ማያ ገጾችን ለመጠቀም ያስችላል ፣ የቃል አቀራረቦችን የበለጠ አስደሳች ያደርገዋል።

እንደ ምሳሌው መረጃ ጠቋሚውን እንደ ጆይስቲክ ፣ መካከለኛው ጣት ለግራ ጠቅታ ፣ የቀኝ ጣት የቀኝ ጠቅታ እና መሣሪያውን ለማብራት እና ለማጥፋት ሮዝኒን ይጠቀማል። አውራ ጣት አዝራሮቹ የሚጫኑበት እንደ ወለል ሆኖ ይሠራል። ይህ ሁሉ ወደ ጓንት ይታከላል።

አቅርቦቶች

  • (x1) አርዱዲኖ ሊዮናርዶ
  • (x1) ፕሮቶቦርድ
  • (x1) ጆይስቲክ ሞዱል
  • (x3) ushሽቡተን
  • (x20 ±) ሽቦ መዝለያዎች
  • (x3) የ 1 ኪ
  • (x1) ጓንት ስፌት ኪት
  • ቬልክሮ ሙቅ ሲሊኮን
  • የሽቦ ማጠፊያ ኪት
  • 3 ዲ የታተመ ክፍል

ደረጃ 1 ሃርድዌርን ያዋቅሩ

ሃርድዌር ያዘጋጁ
ሃርድዌር ያዘጋጁ

ስለ ዲዛይኑ የበለጠ ለመረዳት የ Fritzing ንድፍ አካትተናል። በመጀመሪያ በፕሮቶቦርዱ ላይ ያሉትን ክፍሎች እንዲጭኑ እንመክራለን። በዚህ መንገድ ከመሸጡ በፊት ሁሉም ነገር እየሰራ መሆኑን ማረጋገጥ ይችላሉ።

ደረጃ 2 ኮዱን እና ሙከራውን ይስቀሉ

ግንኙነቶቹ ከተሠሩ በኋላ ዩኤስቢ ኤ (ኤም) ን ወደ ማይክሮ ዩኤስቢ ቢ (ኤም) ከኮምፒውተሩ ወደ አርዱዲኖ ሊዮናርዶ ያገናኙ እና ንድፉን ይስቀሉ። በስዕሉ ላይ ለመቅዳት ፣ ለማሻሻል እና ለማሻሻል ነፃነት ይሰማዎ።

ማስጠንቀቂያ: የ Mouse.move () ትዕዛዙን ሲጠቀሙ ፣ አርዱinoኖ መዳፊትዎን ይወስዳል! ትዕዛዙን ከመጠቀምዎ በፊት ቁጥጥር እንዳለዎት ያረጋግጡ። እሱ የሚሠራው ለአርዱዲኖ ሊዮናርዶ ፣ ማይክሮ ወይም ዳውድ ብቻ ነው

ለዚህ ፕሮጀክት የእኛ ኮድ እዚህ አለ

// ፒኖችን#ይግለጹ; const int mouseMiddleButton = 2; // የግብዓት ፒን ለአይጤው መካከለኛ አዝራር const int startEmulation = 3; // የመዳፊት ማስመሰል const int mouseLeftButton = 4 ን ለማብራት እና ለማጥፋት ይቀይሩ። ለመዳፊት ግራ የግቤት ፒን አዝራር const int mouseRightButton = 5; // የግብዓት ፒን ለመዳፊት ቀኝ አዝራር const int joystickX = A1; // ጆይስቲክ ኤክስ ዘንግ const int joystickY = A0; // ጆይስቲክ Y ዘንግ

ጆይስቲክን ለማንበብ // መለኪያዎች

int cursorSpeed = 10; // የ X ወይም Y እንቅስቃሴ የውጤት ፍጥነት የውጤት ፍጥነት መዘግየት = 5; የመዳፊት ምላሽ መዘግየት ፣ በ ms int threhold = cursorSpeed / 4; // የማረፊያ ደፍ int center = cursorSpeed / 2; // የማረፊያ ቦታ እሴት int mouseMiddleState = 0;

ቡሊያን አይስIsActive = ሐሰት; // አይጤን መቆጣጠር ወይም አለመቆጣጠር

int lastSwitchState = LOW; // የቀድሞው የመቀየሪያ ሁኔታ

ባዶነት ማዋቀር () {

pinMode (ጅምር ማስመሰል ፣ ግቤት); // የመቀየሪያ ፒን ፒን ሞዶ (mouseMiddleButton ፣ INPUT); // የመካከለኛው የመዳፊት ቁልፍ ፒን ፒን ሞዶ (mouseLeftButton ፣ ማስገቢያ); // የግራ መዳፊት ቁልፍ ፒን ፒን ሞዶ (mouseRightButton ፣ ማስገቢያ); // የቀኝ መዳፊት አዝራር ፒን

Mouse.begin (); // አይጤን ይቆጣጠሩ

}

ባዶነት loop () {

// ማብሪያ/ ማጥፊያውን ያንብቡ - int switchState = digitalRead (startEmulation);

// ከተለወጠ እና ከፍ ካለ ፣ የመዳፊት ሁኔታን ይቀይሩ -

ከሆነ (switchState! = lastSwitchState) {ከሆነ (switchState == LOW) {mouseIsActive =! mouseIsActive; }}

// ለቀጣይ ዑደት የመቀየሪያ ሁኔታን ያስቀምጡ

lastSwitchState = switchState;

// ሁለቱን መጥረቢያዎች ያንብቡ እና ይለኩ

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

// የመዳፊት መቆጣጠሪያ ሁኔታ ገባሪ ከሆነ አይጤውን ያንቀሳቅሱ

ከሆነ (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x ፣ y ፣ ጥቅልል የመዳፊት ጎማ)}

//ግራ

// የመዳፊት አዝራሩን ያንብቡ እና ጠቅ ያድርጉ ወይም አይጫኑት: // የመዳፊት አዝራሩ ከተጫነ - (digitalRead (mouseLeftButton) == HIGH) {// መዳፊት ካልተጫነ ይጫኑት: ከሆነ (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); መዘግየት (100); // ለማዘግየት ነጠላ እና ሁለቴ ጠቅ ያድርጉ Mouse.release (MOUSE_LEFT); }}

// አለበለዚያ የመዳፊት አዝራሩ አልተጫነም-

ሌላ {// አይጤው ከተጫነ ይልቀቁት - ከሆነ (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT) ፤ }}

//ቀኝ

// የመዳፊት አዝራሩን ያንብቡ እና ጠቅ ያድርጉ ወይም አይጫኑት: // የመዳፊት አዝራሩ ከተጫነ - (digitalRead (mouseRightButton) == HIGH) {// መዳፊት ካልተጫነ ይጫኑት: ከሆነ (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); መዘግየት (100); // ለማዘግየት ነጠላ እና ሁለቴ ጠቅ ያድርጉ Mouse.release (MOUSE_RIGHT); }}

// አለበለዚያ የመዳፊት አዝራሩ አልተጫነም-

ሌላ {// አይጤው ከተጫነ ይልቀቁት - ከሆነ (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT) ፤ }}

// መካከለኛ

// የመዳፊት አዝራሩን ያንብቡ እና ጠቅ ያድርጉ ወይም አይጫኑት: // የመዳፊት አዝራሩ ከተጫነ - (digitalRead (mouseMiddleButton) == HIGH) {// መዳፊት ካልተጫነ ይጫኑት: ከሆነ (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // actualiza el estado del botón}}

// አለበለዚያ የመዳፊት አዝራሩ አልተጫነም-

ሌላ {// አይጤው ከተጫነ ይልቀቁት - ከሆነ (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE) ፤ mouseMiddleState = 0; }}

መዘግየት (ምላሽ መዘግየት);

}

/*

ዘንግ (0 ወይም 1 ለ x ወይም y) ያነባል እና የአናሎግ ግቤት ክልልን ከ 0 እስከ */ ባለው ክልል ይመዝናል

int readAxis (int thisAxis) {

// የአናሎግ ግቤትን ያንብቡ - int reading = analogRead (thisAxis);

// ንባቡን ከአናሎግ የግብዓት ክልል ወደ ውፅዓት ክልል ካርታ ያድርጉ-

ንባብ = ካርታ (ንባብ ፣ 0 ፣ 1023 ፣ 0 ፣ cursorSpeed);

// የውጤት ንባቡ ከውጭ ከሆነ

// የእረፍት ቦታ ደፍ ፣ ይጠቀሙበት - int ርቀት = ንባብ - ማዕከል;

ከሆነ (abs (ርቀት) <ደፍ) {ርቀት = 0; }

// ለዚህ ዘንግ ርቀቱን ይመልሱ

የመመለሻ ርቀት; }

ደረጃ 3: ፕሮቶታይፕን መትከል

ፕሮቶታይፕን መትከል
ፕሮቶታይፕን መትከል
ፕሮቶታይፕን መትከል
ፕሮቶታይፕን መትከል
ፕሮቶታይፕን መትከል
ፕሮቶታይፕን መትከል

የመጀመሪያው እርምጃ ቬልክሮውን ወደ ጓንት መስፋት ነው ፣ ለእያንዳንዱ ጣት አራት የ velcro አንድ ቁራጭ መስፋት አለብዎት። የቬልክሮውን ለስላሳ ክፍል ሰፍተናል።

እያንዳንዱ የግፊት ቁልፍ ሁለት ገመዶች አሉት ፣ አንደኛው በየራሳቸው ካስማዎች የሚጀምር እና ከአዝራሩ አወንታዊ እግር እና ሌላው በአሉታዊው እግር ላይ የሚገናኝ። በሌላኛው የአሉታዊ ሽቦ ጫፍ የእያንዳንዱን አዝራሮች ተቃውሞዎች እና የጆይስቲክን አሉታዊ ሽቦ ከአርዲኖ ቦርድ GND ጋር የሚያገናኘውን ወደ አንድ የመጨረሻ ሽቦ እንሸጣለን። ተመሳሳይ ትይዩ ግንኙነት ለአዎንታዊ ጎኑ ይሠራል። (3 አዝራሮች እና ጆይስቲክ አዎንታዊ እግር)

መዝለያዎቹን ከሸጡ በኋላ ሽቦዎቹ በመካከላቸው እንዲጣበቁ ጠንካራውን ቬልክሮ-ጭረቶች እንለብሳለን። በመጨረሻ የጆይስቲክ ሞጁሉን በ 3 ዲ የታተመ ቁራጭ ላይ በሙቀት ተጣብቀናል። ከዚህ በታች. STL ፋይልን ማግኘት ይችላሉ።

ደረጃ 4 እጅዎን እንደ መዳፊት መጠቀም ይጀምሩ

Image
Image
እጅዎን እንደ መዳፊት መጠቀም ይጀምሩ!
እጅዎን እንደ መዳፊት መጠቀም ይጀምሩ!
እጅዎን እንደ መዳፊት መጠቀም ይጀምሩ!
እጅዎን እንደ መዳፊት መጠቀም ይጀምሩ!

በፕሮጀክቱ የሚደሰቱ ከሆነ በአጋዥ የቴክኒክ ውድድር ውስጥ ለእኛ ድምጽ ይስጡ።

የሚመከር: