那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分享一個(gè)通過(guò)食指的移動(dòng)來(lái)控制鼠標(biāo)指針的項(xiàng)目

科技觀察員 ? 來(lái)源:Magform ? 作者:Magform ? 2022-09-19 15:50 ? 次閱讀

這是我的第一個(gè)項(xiàng)目,ThimbleKrox,它是一個(gè)頂針,可以讓你通過(guò)食指(或任何手指)的移動(dòng)來(lái)控制鼠標(biāo)指針。

第 1 步:所需材料和工具

所需材料:

Arduino

MPU-6050

用于連接 Arduino 和 PC 的電纜(微型 USB 到 USB)

跳線(連接 Arduino 和 MPU-6050)

一個(gè)松緊帶(如果你想將 Arduino 連接到你的手上)

所需工具:

安裝了 Arduino IDE 的計(jì)算機(jī)(用于啟動(dòng) Arduino 中的代碼)

烙鐵(僅當(dāng) Arduino 未預(yù)先組裝引腳連接器時(shí))

3D 打印機(jī)(如果你想讓你的頂針看起來(lái)很酷)

第 2 步:連接

將 arduino 的引腳連接到 MPU-6050 的引腳:

Arduino的引腳VCC到引腳VCC

引腳 GND 到 GND

引腳 2 到 SDA

引腳 3 到 SCL。

pYYBAGMoHr2AfaMeAAKgYc2fItg182.png

第 3 步:3D 打印(可選)

如果您希望您的頂針看起來(lái)不錯(cuò),并且如果您有 3D 打印機(jī),您可以打印物理頂針。

我做了兩個(gè)版本,一個(gè)是透明的,因此不需要打印支撐并且不太笨重,第二個(gè)是我嘗試用蒸汽朋克風(fēng)格做的而不讓它太笨重(它仍然比透明的更笨重一個(gè)),但是這個(gè)需要打印支持,并且只有在彩色時(shí)才能返回最好的(對(duì)于 PLA,我與蛋彩相處得很好)。兩者都需要與底部有兩個(gè)內(nèi)部突起的部分一起打印

pYYBAGMoHsKALNpcAAHDkXkUTeI203.png

第 4 步:組裝

使用 3D 打印頂針

要使用印刷頂針安裝所有東西,連接后,必須將 MPU-6050 插入頂針的上腔內(nèi),將電纜容納在下腔中

沒(méi)有 3D 打印的頂針

在這種情況下,組裝以更業(yè)余的方式完成,即將 MPU-6050 放置在感興趣手指的最后一個(gè)方陣并用膠帶或松緊帶將其擋住。

第 5 步:編碼和校準(zhǔn)

運(yùn)行代碼的第一件事是安裝所需的庫(kù),即Wire.h 、I2Cdev.h 、MPU6050.h和Mouse.h

完成此操作后,我建議加載 ThimbleKrox 校準(zhǔn)代碼,戴上頂針并打開(kāi)串行監(jiān)視器(Ctrl + Shift + M)。

您現(xiàn)在應(yīng)該看到如下內(nèi)容:

right | gx = 3165 gy = 469 gz = -1055 | ax = 15232 ay = 2064 az = -4496

如果正確校準(zhǔn),您希望指針移動(dòng)的方向顯示在哪里,然后是校準(zhǔn)所需的一些值。

現(xiàn)在您必須重新打開(kāi)代碼并轉(zhuǎn)到標(biāo)有“//校準(zhǔn)線”的行并更改數(shù)值,直到獲得正確的方向。(每次更改代碼中的值時(shí),都需要在 Arduino 中重新上傳)

串行監(jiān)視器:

left | gx = 3165 gy = 469 gz = -1055 | ax = 5232 ay = 2064 az = -4496

校準(zhǔn)代碼:

if (ax> = 15000) { // calibration line
right ();
}

串行監(jiān)視器標(biāo)記為“左”,但我們希望將此行標(biāo)記為“右”,因此我們需要將“15000”值更改為“5000”。這是因?yàn)椋谶@種情況下,我們必須確保檢測(cè)到的“ax”大于代碼中的值。我們知道它必須更大,因?yàn)樵诖a中有一個(gè)主要標(biāo)志,我們必須查看串行監(jiān)視器的“ax”,因?yàn)樵诖a中有“ax”。(只需更改代碼的數(shù)值)

在 Arduino 中重新加載代碼后,我們將擁有:

串行監(jiān)視器:

right | gx = 3165 gy = 469 gz = -1055 | ax = 5232 ay = 2064 az = -4496

校準(zhǔn)代碼:

if (ax> = 5000) { // calibration line
right ();
}

當(dāng)校準(zhǔn)代碼中的所有校準(zhǔn)線都已調(diào)整,因此校準(zhǔn)版本頂針起作用時(shí),必須調(diào)整主代碼的值以匹配校準(zhǔn)代碼。

校準(zhǔn)代碼:

if (ax> = 5000) { // calibration line
right ();
}

主要代碼:

if (ax> = 15000) { // calibration line
right ();
}

主代碼必須更改為:

if (ax> = 5000) { // calibration line
right ();
}

現(xiàn)在是時(shí)候上傳主代碼了

第 6 步:完成項(xiàng)目
現(xiàn)在是時(shí)候戴上你的手指控制鼠標(biāo)用它玩 PC 游戲了!

ThimbleKrox code:

//Code to control the mouse pointer through the movement of a finger
//To calibrate the device run "ThimbleKrox calibration code" and follow the tutorial found at https://www.hackster.io/projects/dd8881/
//The lines that need to be changed for calibration have "http://calibration line"
//code write by Magform

#include
#include
#include
#include

MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
int sensibility=10; //Change this value to change the sensitivity of the device

void setup() {
Serial.begin(9600);
Wire.begin();
mpu.initialize();
if (!mpu.testConnection()) { //check connection with the MPU-6050, if there is no connection stop to work
while (1);
}
}

void up(){
Mouse.move(0, -sensibility);
}
void down(){
Mouse.move(0, sensibility);
}
void left(){
Mouse.move(-sensibility, 0);
}
void right(){
Mouse.move(sensibility, 0);
}


void loop() {
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

if(ax>=15000){ //calibration line
right();
}
if(ax<=-9000){ ? ? ? ? ? ? ? ? ? ? ? ? //calibration line
left();
}

if(ay<=-8000){ ? ? ? ? ? ? ? ? ? ? ? ? ?//calibration line
up();
}
if(ay>=10000){ //calibration line
down();
}

//uncomment the following lines to set the right click with a sprint up and the left click with a sprint down (Work in progress part)
/*
if(gy>=20000){ //calibration line
Mouse.click(MOUSE_RIGHT);
delay(100);
}
if(gy<=-20000){ ? ? ? ? ? ? ? ? ? ? ? ?//calibration line
Mouse.click(MOUSE_LEFT);
delay(100);
}
*/

delay(10);
}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鼠標(biāo)
    +關(guān)注

    關(guān)注

    6

    文章

    591

    瀏覽量

    39914
  • 控制
    +關(guān)注

    關(guān)注

    4

    文章

    1014

    瀏覽量

    122774
  • MPU6050
    +關(guān)注

    關(guān)注

    39

    文章

    307

    瀏覽量

    71665
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    創(chuàng)意手指鼠標(biāo),專給懶人設(shè)計(jì)的鼠標(biāo)創(chuàng)意

    ,小編給大家找到了這款創(chuàng)意手指鼠標(biāo),它突破了傳統(tǒng)的設(shè)計(jì)方式,讓你輕松的只使用兩根手指就能快捷操作。乍看起來(lái)這款手機(jī)鼠標(biāo)更像個(gè)攝像頭,它可以被綁在
    發(fā)表于 10-22 14:21

    為什么鼠標(biāo)移動(dòng)速度不樣,鼠標(biāo)移動(dòng)同樣的距離,光標(biāo)移動(dòng)距離不同?

    就是說(shuō)光標(biāo)從屏幕左面滑到右面,鼠標(biāo)移動(dòng)速度較慢的時(shí)候鼠標(biāo)移動(dòng)距離比鼠標(biāo)移動(dòng)速度較快的時(shí)候
    發(fā)表于 03-23 10:58

    移動(dòng)鼠標(biāo)

    需要個(gè)Labview程序,運(yùn)行后鼠標(biāo)會(huì)不停的移動(dòng),自己試了試只能移動(dòng)
    發(fā)表于 04-22 10:56

    請(qǐng)問(wèn)匯編語(yǔ)言中指針如何移動(dòng)

    = N*4),再通過(guò) ADD A8,A4,A8這種方法來(lái)移動(dòng),請(qǐng)問(wèn)通常指針移動(dòng)都需要這樣嗎,有沒(méi)有簡(jiǎn)單
    發(fā)表于 06-20 04:01

    【求助】【LabVIEW】請(qǐng)問(wèn)如何通過(guò)鼠標(biāo)拖曳移動(dòng)不帶標(biāo)題欄的窗口?

    大家好,最近用LabVIEW做上位機(jī),想做一個(gè)不帶標(biāo)題欄的登錄界面,界面的移動(dòng)通過(guò)個(gè)透明Button的
    發(fā)表于 12-27 17:12

    請(qǐng)問(wèn)如何讓鼠標(biāo)指針隨著觸摸點(diǎn)移動(dòng)

    現(xiàn)在鼠標(biāo)和觸摸屏都能正常工作,觸摸的時(shí)候鼠標(biāo)指針不動(dòng)。怎么才能讓指針隨著觸摸點(diǎn)移動(dòng)是否有相應(yīng)的環(huán)境變量配置?還是需要在Qt程序中進(jìn)行特別的處
    發(fā)表于 01-11 06:55

    CH573模擬USB鼠標(biāo)如何控制屏幕指針的絕對(duì)坐標(biāo)?

    請(qǐng)問(wèn)CH573模擬usb鼠標(biāo),如何控制屏幕指針的絕對(duì)坐標(biāo)?就是想讓屏幕指針移動(dòng)
    發(fā)表于 08-25 06:16

    通過(guò)鼠標(biāo)動(dòng)作來(lái)發(fā)出命令的程序

      在些比較不錯(cuò)的瀏覽器中,出現(xiàn)了些新的功能,通過(guò)鼠標(biāo)動(dòng)作(也稱鼠標(biāo)手勢(shì)Mouse Gestures)
    發(fā)表于 08-30 11:30 ?873次閱讀

    兩軸模擬陀螺儀的空中鼠標(biāo)指針控制方法研究

    兩軸模擬陀螺儀的空中鼠標(biāo)指針控制方法研究
    發(fā)表于 11-02 17:08 ?10次下載

    鼠標(biāo)加速度有什么用

    的位移越大。在Windows控制面板-鼠標(biāo)-指針選項(xiàng)-移動(dòng)欄中有
    的頭像 發(fā)表于 05-18 09:38 ?8939次閱讀

    光電鼠標(biāo)的結(jié)構(gòu)組成及故障維修方法

    光電鼠標(biāo)(亦稱“光學(xué)鼠標(biāo)”)通過(guò)發(fā)光二極管和光電二極管來(lái)檢測(cè)鼠標(biāo)對(duì)于
    的頭像 發(fā)表于 07-17 15:16 ?2.3w次閱讀

    Win10將效法蘋果的macOS提供“查找鼠標(biāo)指針”功能

    在macOS中,你可以將鼠標(biāo)指針放大,搖動(dòng)鼠標(biāo)時(shí)可以輕松找到它。Windows 10中提供了種快速查找鼠標(biāo)
    的頭像 發(fā)表于 11-01 10:19 ?2316次閱讀

    C語(yǔ)言中的野指針是怎么來(lái)的?

    )、malloc函數(shù)申請(qǐng)堆內(nèi)存返回的地址(但未使用free釋放,是在堆空間動(dòng)態(tài)申請(qǐng)) 需要注意的是,野指針不是NULL指針,通常NULL指針可以使用if語(yǔ)句來(lái)判斷,但是C語(yǔ)言中沒(méi)有任何
    的頭像 發(fā)表于 06-01 16:43 ?2598次閱讀

    調(diào)用安卓的方法獲取鼠標(biāo)指針坐標(biāo)

    利用view的OnGenericMotionListener方法給view設(shè)置個(gè)監(jiān)聽(tīng),當(dāng)鼠標(biāo)在這個(gè)view上移動(dòng)的時(shí)候. view就能獲取到鼠標(biāo)
    的頭像 發(fā)表于 03-03 13:43 ?3178次閱讀
    調(diào)用安卓的方法獲取<b class='flag-5'>鼠標(biāo)</b><b class='flag-5'>指針</b>坐標(biāo)

    函數(shù)指針指針函數(shù)是不是個(gè)東西?

    函數(shù)指針的本質(zhì)是指針,就跟整型指針、字符指針樣,函數(shù)指針指向的是
    的頭像 發(fā)表于 01-03 16:35 ?561次閱讀
    函數(shù)<b class='flag-5'>指針</b>和<b class='flag-5'>指針</b>函數(shù)是不是<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>東西?
    大发888娱乐城 博狗| 金沙百家乐的玩法技巧和规则| 豪华百家乐官网人桌| 澳门葡京| 百家乐大西洋城v| 博之道百家乐官网的玩法技巧和规则| 桂林市| 百家乐皇室百家乐的玩法技巧和规则 | 二八杠语音报牌器| 网上百家乐如何打水| 百家乐官网必知技巧| 象棋赌博网| 大发888娱乐城哪个好| 百家乐真人娱乐城陈小春| 明陞百家乐官网娱乐城| 百家乐官网长龙太阳城| 太阳城网站| 水果机遥控器价格| 澳门百家乐要注意啥| 包赢百家乐官网的玩法技巧和规则| 皇冠现金投注网| 百家乐出千桌| 财神百家乐官网的玩法技巧和规则 | 百家乐套路| 百家乐的代理办法| 百家乐官网娱乐网77scs| 百家乐官网群东方鸿运| 竞彩足球推荐| 大发888官方下载 银行| 天博百家乐的玩法技巧和规则| 百家乐下对子的概率| 中骏百家乐官网的玩法技巧和规则| 百家乐官网优博娱乐城| 天镇县| 澳门赌盘| 澳门顶级赌场百家乐| 威尼斯人娱乐网站| 百家乐看| 百家乐棋牌游戏源码| 百家乐预测神法| 网上百家乐官网真坑人|