亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

ThimbleKrox - 用手指控制鼠标

组件和用品

Arduino Micro
× 1
SparkFun 三轴加速度计和陀螺仪突破 - MPU-6050
× 1

必要的工具和机器

3D 打印机(通用)
可选

应用和在线服务

Arduino IDE

关于这个项目

大家好,这里是我的第一个项目,ThimbleKrox,这是一个可以通过食指(或任何手指)的移动来控制鼠标指针的顶针。

第 1 步:所需材料和工具

所需材料:

  • Arduino Micro
  • MPU-6050
  • 用于连接 Arduino 和 PC(微型 USB 转 USB)的电缆
  • 跳线(连接 Arduino 和 MPU-6050)
  • 一个松紧带(如果您想将 Arduino 固定在您的手上)

所需工具:

  • 安装了 Arduino IDE 的计算机(用于启动 Arduino 中的代码)
  • 烙铁(仅当 Arduino 没有预组装引脚连接器时)
  • 3D 打印机(如果您想让顶针看起来很酷)

第二步:连接

将 arduino 的引脚连接到 MPU-6050 的引脚:

  • 将 arduino 的 VCC 引脚连接到 VCC 引脚
  • 将 GND 引脚连接到 GND
  • 引脚 2 到 SDA
  • 将 3 引脚连接到 SCL。

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

如果你想让你的顶针好看,如果你有3D打印机,你可以打印实体顶针。

我做了两个版本,一个是透明的,因此不需要印刷支撑,也不会太笨重,第二个是我尝试用蒸汽朋克风格做的,但不会让它太笨重(它仍然比透明的更笨重一个),但是这个需要打印支撑,并且只有在着色时才能返回最佳状态(对于 PLA,我与蛋彩画相处得很好)。两者都需要打印底部有两个内部突起的部分

第 4 步:组装

使用 3D 打印顶针

要使用印刷的顶针安装所有东西,在进行连接后,需要将 MPU-6050 插入顶针的上腔内,将电缆放置在下腔中

没有 3D 打印顶针

在这种情况下,组装以更业余的方式完成,即将 MPU-6050 定位在感兴趣的手指的最后一个指骨中,并用胶带或橡皮筋将其挡住。

第 5 步:编码和校准

运行代码的第一件事是安装所需的库,即 Wire.h、I2Cdev.h、MPU6050.h 和 Mouse.h

这样做之后,我的建议是加载 ThimbleKrox 校准代码,戴上顶针并打开串行监视器(Ctrl + Shift + M)。

您现在应该会看到如下内容:

对 | gx =3165 gy =469 gz =-1055 | ax =15232 ay =2064 z =-4496 

哪里显示了如果校准正确,你想让指针移动的方向,然后是校准所需的一些值。

现在您必须重新打开代码并转到标有“//校准线”的行并更改数值,直到获得正确的方向。 (每次更改代码中的值时都需要在Arduino中重新上传)

例如

串行监视器:

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

校准代码:

if (ax> =15000) { // 校准线
right();
}

串行监视器标记为“左”,但我们希望将此行标记为“右”,因此我们需要将“15000”值更改为“5000”。这是因为,在这种情况下,我们必须确保检测到的“ax”大于代码中的值。我们知道它必须更大,因为在代码中有一个主要标志,我们必须查看串行监视器的“ax”,因为在代码中有“ax”。 (只需要更改代码的数值)

在 Arduino 中重新加载代码后,我们将拥有:

串行监视器:

对 | gx =3165 gy =469 gz =-1055 | ax =5232 ay =2064 z =-4496 

校准代码:

if (ax> =5000) { // 校准线
right();
}

当校准代码中的所有校准行都已调整好,因此校准版本顶针起作用时,必须调整主代码的值以匹配校准代码。

例如

校准代码:

if (ax> =5000) { // 校准线
right();
}

主要代码:

if (ax> =15000) { // 校准线
right();
}

主要代码必须改为:

if (ax> =5000) { // 校准线
right();
}

现在是时候上传主要代码了

第六步:完成项目

现在是戴上你的顶针玩它的时候了!

代码

  • TimbleKrox 代码
  • TimbleKrox 校准代码
TimbleKrox 代码Arduino
ThimbleKrok
的主要代码//通过手指移动控制鼠标指针的代码//要校准设备,请运行“ThimbleKrox校准代码”并按照https://www.hackster.io/projects上的教程进行操作/dd8881//校准需要改的行有"//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; //改变这个值来改变设备的灵敏度 void setup() { Serial.begin(9600); Wire.begin(); mpu.initialize(); if (!mpu.testConnection()) { //检查与MPU-6050的连接,如果没有连接停止工作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){ //校准线 right(); } if(ax<=-9000){ //校准线left(); } if(ay<=-8000){ //校准线向上(); } if(ay>=10000){ //校准线向下(); }//取消注释以下几行以设置右击向上冲刺和左击向下冲刺(工作进行中部分)/* if(gy>=20000){ //校准线Mouse.click(MOUSE_RIGHT);延迟(100); } if(gy<=-20000){ //校准线 Mouse.click(MOUSE_LEFT);延迟(100); }*/延迟(10);}
TimbleKrox 校准代码Arduino
校准 ThimbleKrox
的代码//校准 ThimbleKrox 的代码//要校准设备运行此代码并按照 https://www.hackster.io/projects/dd8881///需要的行找到的教程要更改(作为其他代码)校准有“//calibration line” //code write by Magform#include #include #include #include MPU6050 mpu;int16_t ax, ay, az, gx, gy, gz;int vx, vy;int Nwrong=1;void setup() { Nwrong=1; Serial.begin(9600); Wire.begin(); mpu.initialize(); while(Nwrong!=0){ if (!mpu.testConnection()) { Serial.print("错误的连接号:"); Serial.print(错误);错++;延迟(1000); }else{ 错误=0; } }}void up(){ Serial.print(" up "); }void down(){ Serial.print(" down "); }void left(){ Serial.print(" left "); }void right(){ Serial.print(" right "); }void rightclick(){ Serial.print(" RightClick ");; }void leftclick(){ Serial.print(" LeftClick ");; } void loop() { mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); if(ax>=15000){ //校准线 right(); } if(ax<=-9000){ //校准线left(); } if(ay<=-8000){ //校准线向上(); } if(ay>=10000){ //校准线向下(); }//取消注释以下几行以设置右击向上冲刺,左击向下冲刺(工作进行中部分)/* if(gy>=20000){ //校准线 rightclick();延迟(100); } if(gy<=-20000){ //校准线leftclick();延迟(100); }*/ Serial.print(" | gx="); Serial.print(gx); Serial.print(" gy="); Serial.print(gy); Serial.print(" gz="); Serial.print(gz); Serial.print(" | ax="); Serial.print(ax); Serial.print(" ay="); Serial.print(ay); Serial.print(" az="); Serial.print(az); Serial.print("\n");延迟(5000); }
TimbleKrox
https://github.com/Magform/ThimbleKrox

定制零件和外壳

ThimbleKrox 3D 打印模型
对于那些喜欢从 thingiverse.com 上的 ThingiverseCAD 文件中获取模型的人 需要支持不需要支持

示意图


制造工艺

  1. 使用 Arduino 和 Raspberry Pi 构建您的 Internet 控制的视频流机器人
  2. 对吊扇启用 Alexa Control
  3. 使用 Arduino 控制硬币接收器
  4. Arduino 控制中心
  5. Arduino 带蓝牙控制 LED!
  6. Arduino 加湿器控制
  7. Arduino Nano:使用操纵杆控制 2 个步进电机
  8. 使用 Cortana 控制 LED
  9. 使用 Alexa 和 Arduino IoT Cloud 完全控制您的电视
  10. 使用智能手机控制您的灯光系统
  11. 用 30 美元以下的 Arduino 控制蟑螂
  12. 25 kHz 4 Pin PWM 风扇控制与 Arduino Uno