ThimbleKrox - Control del mouse con los dedos
Componentes y suministros
| × | 1 | ||||
| × | 1 |
Herramientas y máquinas necesarias
|
Aplicaciones y servicios en línea
|
Acerca de este proyecto
Hola a todos, aquí está mi primer proyecto, ThimbleKrox que es un dedal que les permite controlar el puntero del mouse a través del movimiento del índice (o cualquier dedo).
Paso 1:materiales y herramientas necesarios
Materiales necesarios:
- Arduino Micro
- MPU-6050
- un cable para conectar el Arduino y la PC (micro USB a USB)
- Puente (para conectar el Arduino y el MPU-6050)
- un elástico (si desea sujetar el Arduino a su mano)
Herramientas necesarias:
- una computadora con el IDE de Arduino instalado (para iniciar el código en Arduino)
- Soldador (solo si el Arduino no tiene los conectores de pines preensamblados)
- Impresora 3D (si desea que su dedal se vea bien)
Paso 2:Conexión
Conecte los pines del arduino a los pines del MPU-6050:
- pin VCC de arduino para pin VCC
- pin GND a GND
- pin 2 a SDA
- pin 3 a SCL.
Paso 3:impresión 3D (opcional)
Si quieres que tu dedal se vea bien y tienes una impresora 3D, puedes imprimir el dedal físico.
Lo hice en dos versiones, una transparente que por lo tanto no requiere que se impriman soportes y no es demasiado voluminosa, una segunda en cambio que intenté hacer en estilo steampunk sin hacerlo demasiado voluminoso (sigue siendo más voluminosa que la clara uno), pero este requiere que se impriman los soportes y solo se devuelve mejor si está coloreado (para PLA me llevé bien con el témpera). Ambos requieren ser impresos con la parte con las dos protuberancias internas en la parte inferior
Paso 4:Montaje
Con el dedal impreso en 3D
Para montar todo con el dedal impreso, luego de realizar las conexiones es necesario insertar el MPU-6050 dentro de la cavidad superior del dedal que aloja los cables en la cavidad inferior
Sin el dedal impreso en 3D
En este caso, el montaje se realiza de forma más amateur, es decir, colocando el MPU-6050 en la última falange del dedo interesado y bloqueándolo con cinta adhesiva o un elástico.
Paso 5:código y calibración
Lo primero que debe hacer para ejecutar el código es instalar las bibliotecas requeridas que son Wire.h, I2Cdev.h, MPU6050.hy Mouse.h
Después de hacer esto, le aconsejo que cargue el código de calibración de ThimbleKrox, coloque el dedal y abra el monitor en serie (Ctrl + Shift + M).
Ahora debería ver algo como esto:
derecha | gx =3165 gy =469 gz =-1055 | ax =15232 ay =2064 az =-4496
Donde se muestra la dirección en la que, si está correctamente calibrado, desea que vaya el puntero y luego algunos valores necesarios para la calibración.
Ahora tienes que volver a abrir el código e ir a las líneas marcadas con "// línea de calibración" y cambiar los valores numéricos hasta obtener la dirección correcta. (Cada vez que cambia un valor en el código, debe volver a cargarlo en Arduino)
Ej.
Monitor en serie:
izquierda | gx =3165 gy =469 gz =-1055 | ax =5232 ay =2064 az =-4496
Código de calibración:
if (ax> =15000) {// línea de calibración
right ();
}
El monitor de serie marca "izquierda" pero queremos que esta línea esté marcada como "derecha", por lo que debemos cambiar el valor de "15000" a "5000". Esto se debe a que, en este caso, debemos asegurarnos de que el "hacha" detectado sea mayor que el valor en el código. Entendemos que debe ser mayor porque en el código hay un signo mayor y que tenemos que mirar el "hacha" del monitor serial porque en el código hay "hacha". (solo es necesario cambiar los valores numéricos del código)
Luego de recargar el código en el Arduino tendremos:
Monitor en serie:
derecha | gx =3165 gy =469 gz =-1055 | ax =5232 ay =2064 az =-4496
Código de calibración:
if (ax> =5000) {// línea de calibración
right ();
}
Cuando todas las líneas de calibración en el código de calibración se han ajustado y, por lo tanto, el dedal de la versión de calibración es funcional, los valores del código principal deben ajustarse para que coincidan con el código de calibración.
Ej.
Código de calibración:
if (ax> =5000) {// línea de calibración
right ();
}
Código principal:
if (ax> =15000) {// línea de calibración
right ();
}
El código principal debe cambiarse a:
if (ax> =5000) {// línea de calibración
right ();
}
Ahora es el momento de cargar el código principal
Paso 6:Termina el proyecto
¡Ahora es el momento de usar el dedal y jugar con él!
Código
- Código de ThimbleKrox
- Código de calibración de ThimbleKrox
Código de ThimbleKrox Arduino
Código principal para ThimbleKrok// Código para controlar el puntero del mouse mediante el movimiento de un dedo // Para calibrar el dispositivo, ejecute el "código de calibración ThimbleKrox" y siga el tutorial que se encuentra en https://www.hackster.io/projects / dd8881 /// Las líneas que deben cambiarse para la calibración tienen "// línea de calibración" // código escrito por Magform # incluye#include #include #include MPU6050 mpu; int16_t ax, ay, az, gx, gy, gz; int vx, vy; int sensibility =10; // Cambie este valor para cambiar la sensibilidad del dispositivo void setup () {Serial.begin (9600); Wire.begin (); mpu.initialize (); if (! mpu.testConnection ()) {// verifique la conexión con el MPU-6050, si no hay conexión, deje de funcionar while (1); }} void up () {Mouse.move (0, -sensibilidad); } void down () {Mouse.move (0, sensibilidad); } void left () {Mouse.move (-sensibility, 0); } void right () {Mouse.move (sensibilidad, 0); } bucle vacío () {mpu.getMotion6 (&ax, &ay, &az, &gx, &gy, &gz); if (ax> =15000) {// línea de calibración right (); } if (ax <=- 9000) {// línea de calibración left (); } if (ay <=- 8000) {// alineación de calibración (); } if (ay> =10000) {// línea de calibración hacia abajo (); } // descomenta las siguientes líneas para configurar el clic derecho con un sprint hacia arriba y el clic izquierdo con un sprint hacia abajo (parte del trabajo en progreso) / * if (gy> =20000) {// línea de calibración Mouse.click (MOUSE_RIGHT); retraso (100); } if (gy <=- 20000) {// línea de calibración Mouse.click (MOUSE_LEFT); retraso (100); } * / delay (10);}
Código de calibración de ThimbleKrox Arduino
Código para la calibración de ThimbleKrox// Código para calibrar el ThimbleKrox // Para calibrar el dispositivo, ejecute este código y siga el tutorial que se encuentra en https://www.hackster.io/projects/dd8881///Las líneas que necesitan a cambiar (como el otro código) para la calibración tiene "// línea de calibración" // código escrito por Magform # incluye#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 ("Número de conexión incorrecto:"); Serial.print (incorrecto); Nwrong ++; retraso (1000); } más {Nwrong =0; }}} void up () {Serial.print ("arriba"); } void down () {Serial.print ("abajo"); } void left () {Serial.print ("izquierda"); } void right () {Serial.print ("derecho"); } void rightclick () {Serial.print ("RightClick");; } void leftclick () {Serial.print ("LeftClick");; } bucle vacío () {mpu.getMotion6 (&ax, &ay, &az, &gx, &gy, &gz); if (ax> =15000) {// línea de calibración right (); } if (ax <=- 9000) {// línea de calibración left (); } if (ay <=- 8000) {// alineación de calibración (); } if (ay> =10000) {// línea de calibración hacia abajo (); } // descomenta las siguientes líneas para configurar el clic derecho con un sprint hacia arriba y el clic izquierdo con un sprint hacia abajo (parte del trabajo en progreso) / * if (gy> =20000) {// línea de calibración rightclick (); retraso (100); } if (gy <=- 20000) {// línea de calibración leftclick (); retraso (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"); retraso (5000); }
ThimbleKrox
https://github.com/Magform/ThimbleKroxPiezas y carcasas personalizadas
Modelo imprimible en 3D de ThimbleKrox
Para aquellos que prefieren tomar los modelos del archivo ThingiverseCAD en thingiverse.com Se requiere soporte No se requiere soporteEsquemas
Proceso de manufactura
- Cree su robot de transmisión de video controlado por Internet con Arduino y Raspberry Pi
- Habilita el control de Alexa en tu ventilador de techo
- Controlar el aceptador de monedas con Arduino
- Centro de control de Arduino
- ¡Arduino con Bluetooth para controlar un LED!
- Control del humidificador Arduino
- Arduino Nano:Controla 2 motores paso a paso con joystick
- Controla tu LED con Cortana
- Control total de su televisor con Alexa y Arduino IoT Cloud
- Controla tu sistema de iluminación mediante un teléfono inteligente
- Control de ventilador PWM de 4 pines y 25 kHz con Arduino Uno