Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

ThimbleKrox - Control del mouse con los dedos

Componentes y suministros

Arduino Micro
× 1
Acelerómetro SparkFun Triple Axis y Gyro Breakout - MPU-6050
× 1

Herramientas y máquinas necesarias

Impresora 3D (genérica)
Opcional

Aplicaciones y servicios en línea

Arduino IDE

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/ThimbleKrox

Piezas 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 soporte

Esquemas


Proceso de manufactura

  1. Cree su robot de transmisión de video controlado por Internet con Arduino y Raspberry Pi
  2. Habilita el control de Alexa en tu ventilador de techo
  3. Controlar el aceptador de monedas con Arduino
  4. Centro de control de Arduino
  5. ¡Arduino con Bluetooth para controlar un LED!
  6. Control del humidificador Arduino
  7. Arduino Nano:Controla 2 motores paso a paso con joystick
  8. Controla tu LED con Cortana
  9. Control total de su televisor con Alexa y Arduino IoT Cloud
  10. Controla tu sistema de iluminación mediante un teléfono inteligente
  11. Control de ventilador PWM de 4 pines y 25 kHz con Arduino Uno