Cov txheej txheem:
- Khoom siv
- Kauj ruam 1: Teeb Kho Vajtse
- Kauj Ruam 2: Tshaj Tawm Txoj Cai thiab Xeem
- Kauj Ruam 3: Mounting Prototype
- Kauj Ruam 4: Pib Siv Koj Tes Ua Tus nas
Video: Cyborg Computer Mouse: 4 Kauj Ruam (nrog Duab)
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:26
Ntau txoj kev tshawb fawb qhia tias kev siv lub computer nas ib txwm muaj peev xwm ua rau phom sij. Qhov nas yog cov khoom siv hauv computer. Cov neeg siv khoos phis tawj siv nas yuav luag peb zaug ntau dua li cov keyboard. Raws li kev nthuav tawm tus nqi siab, kev txhim kho lub siab tshaj plaws ntawm lub cev thaum siv lub computer nas yog qhov tseem ceeb heev.
Txog qhov phiaj xwm tsis paub daws teeb no peb yuav ua rau hnav tau uas tso cai rau tib neeg txav mus los ntawm lub khoos phis tawj computer yam tsis tas yuav siv thev naus laus zis sab nraud. Txoj kev ntawd peb tuaj yeem siv txhais tes txav mus los yam tsis tau nyem lub cuab yeej ntawm kab rov tav. Qhov no tseem tso cai siv cov ntxaij vab tshaus thaum sawv ntsug, ua rau kev hais lus hauv qhov ncauj zoo dua.
Raws li tus qauv yuav siv qhov ntsuas ua tus joystick, tus ntiv tes nruab nrab rau kev nyem sab laug, ntiv tes ntiv tes rau sab xis thiab lub pinky rau tig thiab tua lub cuab yeej. Tus ntiv tes xoo yuav ua raws li qhov chaw uas cov nyees khawm tau nias ntawm. Txhua yam uas yuav muab ntxiv rau hauv hnab looj tes.
Khoom siv
- (x1) Arduino Leonardo
- (x1) Protoboard
- (x1) Joystick module
- (x3) Pushbutton
- (x20 ±) Cov hlua hlau
- (x3) Resistors ntawm 1KΩ
- (x1) Cov hnab looj tes xaws
- Velcro Kub silicone
- Cov Khoom Siv Hluav Taws Xob
- 3D luam tawm ib feem
Kauj ruam 1: Teeb Kho Vajtse
Peb tau suav nrog Fritzing kos duab kom nkag siab zoo ntawm kev tsim qauv. Peb pom zoo kom teeb tsa cov khoom sib txuas ntawm tus protoboard ua ntej. Txoj hauv kev ntawd koj tuaj yeem tshawb xyuas tias txhua yam ua haujlwm ua ntej siv cov laug.
Kauj Ruam 2: Tshaj Tawm Txoj Cai thiab Xeem
Thaum cov kev sib txuas ua tiav txuas USB A (M) rau micro USB B (M) los ntawm lub khoos phis tawj mus rau Arduino Leonardo thiab xa cov duab kos. Xav tias dawb los theej, hloov kho thiab txhim kho ntawm daim duab.
CEEB TOOM: Thaum koj siv Mouse.move () hais kom ua, Arduino tuav koj tus nas! Xyuas kom koj muaj kev tswj ua ntej koj siv cov lus txib. Nws tsuas yog ua haujlwm rau Arduino Leonardo, Micro lossis Due
Nov yog peb cov cai rau txoj haujlwm no:
// Txhais Pins#suav nrog; const koj mouseMiddleButton = 2; // input tus pin rau nas nruab nrab Khawm const int startEmulation = 3; // hloov mus qhib thiab tua nas emulation const int mouseLeftButton = 4; // input pin rau nas sab laug khawm const int mouseRightButton = 5; // nkag tus pin rau nas txoj cai khawm const int joystickX = A1; // joystick X axis const int joystickY = A0; // joystick Y axis
// tsis rau nyeem joystick:
tus cursorSpeed = 10; // tso zis nrawm ntawm X lossis Y txav mus rau qhov tebDelay = 5; // teb qeeb ntawm nas, hauv ms int threshold = cursorSpeed / 4; // so pib pib int center = cursorSpeed / 2; // so txoj haujlwm tus nqi int mouseMiddleState = 0;
boolean mouseIsActive = cuav; // seb puas los yog tsis tswj tus nas
int lastSwitchState = LOW; // yav dhau los hloov lub xeev
void teeb tsa () {
pinMode (pibEmulation, INPUT); // tus pin hloov pinMode (mouseMiddleButton, INPUT); // nruab nrab nas khawm tus pin pinMode (mouseLeftButton, INPUT); // sab laug nas khawm khawm pinMode (mouseRightButton, INPUT); // txoj cai nas khawm tus pin
Nas.begin (); // tswj tus nas
}
void voj () {
// nyeem qhov hloov pauv: int switchState = digitalRead (startEmulation);
// yog tias nws tau hloov pauv thiab nws siab, toggle nas lub xeev:
yog (switchState! = lastSwitchState) {yog (switchState == LOW) {mouseIsActive =! mouseIsActive; }}
// txuag lub xeev hloov rau lub voj tom ntej:
lastSwitchState = switchState;
// nyeem thiab ntsuas ob kab:
int xReading = readAxis (A1); int yReading = readAxis (A0);
// yog tias lub xeev tswj nas tau ua haujlwm, txav tus nas:
yog (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, scroll nas log)}
// LOJ
// nyeem lub pob nyem thiab nyem lossis tsis nyem: // yog tias lub pob nyem tau nyem: yog (digitalRead (mouseLeftButton) == HIGH) {// yog tias tus nas tsis nias, nias nws: yog (! nas.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); ncua (100); // ncua kom qhib ib zaug thiab ob zaug nyem Mouse.release (MOUSE_LEFT); }}
// lwm tus nas khawm tsis raug nias:
lwm tus {// yog tias tus nas nias, tso nws: yog (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}
// YOG
// nyeem lub pob nyem thiab nyem lossis tsis nyem: // yog tias lub pob nyem tau nyem: yog (digitalRead (mouseRightButton) == HIGH) {// yog tias tus nas tsis nias, nias nws: yog (! nas.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); ncua (100); // ncua kom qhib ib zaug thiab ob zaug nyem Mouse.release (MOUSE_RIGHT); }}
// lwm tus nas khawm tsis raug nias:
lwm tus {// yog tias tus nas nias, tso nws: yog (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}
// MIDDLE
// nyeem lub pob nyem thiab nyem lossis tsis nyem: // yog tias lub pob nyem tau nyem: yog (digitalRead (mouseMiddleButton) == HIGH) {// yog tias tus nas tsis nias, nyem nws: yog (! nas.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // actualiza el estado del botón}}
// lwm tus nas khawm tsis raug nias:
lwm tus {// yog tias tus nas nias, tso nws: yog (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}
ncua (responseDelay);
}
/*
nyeem ib lub axis (0 lossis 1 rau x lossis y) thiab ntsuas qhov sib piv ntawm cov khoom siv sib xws rau thaj tsam ntawm 0 txog */
int readAxis (int thisAxis) {
// nyeem cov lus sib piv: int nyeem = analogRead (thisAxis);
// daim ntawv qhia kev nyeem los ntawm cov khoom sib piv sib piv rau ntau yam tso tawm:
nyeem = daim ntawv qhia (nyeem, 0, 1023, 0, cursorSpeed);
// yog tias cov ntawv nyeem tawm sab nraud los ntawm
// so txoj haujlwm pib, siv nws: int nrug = nyeem ntawv - nruab nrab;
yog (abs (nrug) <threshold) {nrug = 0; }
// xa qhov nrug rau qhov axis no:
rov nrug deb; }
Kauj Ruam 3: Mounting Prototype
Thawj kauj ruam yog xaws lub velcro rau lub hnab looj tes, koj yuav tsum xaws plaub kab ntawm velcro ib qho rau txhua tus ntiv tes. Peb xaws qhov muag muag ntawm velcro.
Txhua lub laub khawm muaj ob lub xov hlau, ib qho uas pib ntawm tus lej sib xws thiab txuas mus rau qhov zoo ntawm lub pob thiab lwm qhov ntawm cov ceg tsis zoo. Nyob rau lwm qhov kawg ntawm cov xov tooj tsis zoo peb siv cov tshuaj tiv thaiv ntawm txhua lub khawm ntxiv rau cov xov tooj tsis zoo ntawm tus joystick mus rau ib lub xov hlau kawg, uas txuas rau GND ntawm Arduino board. Tib qho kev sib txuas sib txuas ua haujlwm rau sab zoo. (3 nyees khawm thiab joystick zoo ceg)
Tom qab soldering cov dhia peb yuav muab tso rau ntawm cov tawv velcro-ib daim hlab, kom cov xov hlau yuav tau daig nyob nruab nrab. Thaum kawg peb thermo-glued tus joystick module rau 3D luam tawm daim. Hauv qab no koj tuaj yeem pom cov ntaub ntawv. STL.
Kauj Ruam 4: Pib Siv Koj Tes Ua Tus nas
Pov npav rau peb hauv Kev Pabcuam Kev Sib Tw yog tias koj txaus siab rau txoj haujlwm.
Pom zoo:
ParaMouse Lub Computer Mouse rau Cov Neeg Tsis Tuag: 5 Kauj Ruam (nrog Duab)
ParaMouse Lub Computer Mouse rau Cov Neeg Tsis Tuag: Nyob zoo, hauv qhov kev qhia no kuv yuav piav qhia yuav tsim lub computer nas li cas rau cov neeg xiam oob khab, tuag tes tuag taw lossis quadriplegic cov neeg.Qhov cuab yeej tshwj xeeb no yooj yim tsim thiab raug nqi tsawg, tsuas yog ntswj me me thiab txiav riam yuav yuav ntau tshaj li txaus rau t
Cov Duab Duab Duab thiab Cov Duab 1: 4 Cov Kauj Ruam (nrog Duab)
Cov Duab Duab Cubes thiab Cov Duab 1: Thaum sim nrog qee cov ntoo ntoo thiab cov duab los qhia, kuv pom ob peb txoj hauv kev los ua cov voos thiab lwm yam duab los ntawm cov khoom siv yooj yim. Los ntawm kev muab cov no los ua Cov Ntawv Qhia, Kuv vam tias yuav txhawb nqa kev ua si thiab kev kawm. Kev hloov pauv ntawm qhov kev qhia no
Yuav Ua Li Cas Thiaj Li Tshem Tawm Lub Computer Nrog Cov Kauj Ruam Yooj Yim thiab Duab: 13 Kauj Ruam (nrog Duab)
Yuav Tsum Tshem Tawm Lub Khoos Phis Tawj Li Cas Nrog Cov Kauj Ruam Yooj Yim thiab Duab: Nov yog cov lus qhia txog yuav ua li cas tshem lub PC. Feem ntau ntawm cov khoom siv yooj yim yog hloov pauv thiab tshem tawm tau yooj yim. Txawm li cas los xij nws yog ib qho tseem ceeb uas koj tau koom nrog nws. Qhov no yuav pab tiv thaiv koj kom tsis txhob poob ib feem, thiab tseem ua rau kev rov ua dua tshiab
Cov Duab Duab Duab Duab, WiFi Txuas - Raspberry Pi: 4 Cov Kauj Ruam (nrog Duab)
Cov Duab Duab Duab Duab, WiFi Txuas - Raspberry Pi: Nov yog txoj hauv kev yooj yim heev thiab tus nqi qis mus rau cov duab thav duab digital - nrog qhov zoo ntawm kev ntxiv /tshem cov duab hla WiFi ntawm 'nyem thiab luag' siv (pub dawb) xa cov ntaub ntawv . Nws tuaj yeem siv tau los ntawm qhov me me £ 4.50 Pi Zero. Koj tseem tuaj yeem hloov pauv
Siv PSP Raws Li Lub Computer Joystick thiab Tom Qab Tswj Koj Lub Computer Nrog PSP: 5 Cov Kauj Ruam (nrog Duab)
Siv PSP Raws Li Lub Computer Joystick thiab Tom Qab Tswj Koj Lub Computer Nrog PSP: Koj tuaj yeem ua ntau yam txias nrog PSP homebrew, thiab hauv qhov kev qhia no kuv cam yuav qhia koj yuav siv koj li PSP li joystick rau kev ua si li cas, tab sis kuj tseem muaj ib txoj haujlwm uas tso cai rau koj siv koj lub joystick ua koj tus nas. Ntawm no yog cov mater