Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Dé à coudre - Contrôle de la souris avec vos doigts

Composants et fournitures

Arduino Micro
× 1
Accéléromètre à trois axes et gyroscope SparkFun - MPU-6050
× 1

Outils et machines nécessaires

Imprimante 3D (générique)
Facultatif

Applications et services en ligne

Arduino IDE

À propos de ce projet

Bonjour à tous, voici mon premier projet, ThimbleKrox qui est un dé à coudre qui permet de contrôler le pointeur de la souris grâce au mouvement de l'index (ou de n'importe quel doigt).

Étape 1 : Matériel et outils nécessaires

Matériel nécessaire :

  • Arduino Micro
  • MPU-6050
  • un câble pour connecter l'Arduino et le PC (micro USB vers USB)
  • Cavalier (pour connecter l'Arduino et le MPU-6050)
  • un élastique (si vous souhaitez attacher l'Arduino à votre main)

Outils nécessaires :

  • un ordinateur avec l'IDE Arduino installé (pour démarrer le code dans l'Arduino)
  • Fer à souder (uniquement si l'Arduino n'a pas les connecteurs à broches pré-assemblés)
  • Imprimante 3D (si vous voulez que votre dé à coudre soit cool)

Étape 2 :Connexion

Connectez les broches de l'arduino aux broches du MPU-6050 :

  • pin VCC d'arduino pour épingler VCC
  • épingler GND sur GND
  • broche 2 vers SDA
  • broche 3 à SCL.

Étape 3 :impression 3D (facultatif)

Si vous voulez que votre dé à coudre soit beau, et si vous avez une imprimante 3D, vous pouvez imprimer le dé à coudre physique.

Je l'ai fait en deux versions, une transparente qui ne nécessite donc pas de supports pour être imprimée et n'est pas trop encombrante, une seconde à la place que j'ai essayé de faire dans le style steampunk sans le rendre trop encombrant (il est quand même plus encombrant que le clair one ), mais celui-ci nécessite des supports pour être imprimés et ne revient mieux que s'il est coloré (pour le PLA je m'entendais bien avec la détrempe). Les deux nécessitent d'être imprimés avec la partie avec les deux saillies internes en bas

Étape 4 :Assemblage

Avec le dé à coudre imprimé en 3D

Pour tout monter avec la cosse imprimée, après avoir effectué les connexions, il est nécessaire d'insérer le MPU-6050 à l'intérieur de la cavité supérieure de la cosse logeant les câbles dans la cavité inférieure

Sans le dé à coudre imprimé en 3D

Dans ce cas, le montage se fait de manière plus amateur, c'est à dire en positionnant le MPU-6050 dans la dernière phalange du doigt intéressé et en le bloquant avec du ruban adhésif ou un élastique.

Étape 5 :Code et étalonnage

La première chose à faire pour exécuter le code est d'installer les bibliothèques requises qui sont Wire.h, I2Cdev.h, MPU6050.h et Mouse.h

Après cela, je vous conseille de charger le code d'étalonnage ThimbleKrox, de mettre le dé à coudre et d'ouvrir le moniteur série (Ctrl + Shift + M).

Vous devriez maintenant voir quelque chose comme ceci :

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

Où est indiqué la direction dans laquelle, s'il est correctement calibré, vous voulez faire aller le pointeur et ensuite quelques valeurs nécessaires pour le calibrage.

Maintenant, vous devez rouvrir le code et aller aux lignes marquées de "// ligne d'étalonnage" et modifier les valeurs numériques jusqu'à ce que vous obteniez la bonne direction. (Chaque fois que vous modifiez une valeur dans le code, vous devez le télécharger à nouveau dans l'Arduino)

Ex.

Moniteur série :

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

Code d'étalonnage :

if (ax> =15000) { // ligne d'étalonnage
right ();
}

Le moniteur série marque "gauche" mais nous voulons que cette ligne soit marquée "droite", nous devons donc changer la valeur "15000" en "5000". En effet, dans ce cas, il faut s'assurer que l'"axe" détecté est supérieur à la valeur du code. Nous comprenons qu'il doit être plus grand car dans le code il y a un signe majeur et qu'il faut regarder la « hache » du moniteur série car dans le code il y a « hache ». (seules les valeurs numériques du code doivent être modifiées)

Après avoir rechargé le code dans l'Arduino nous aurons :

Moniteur série :

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

Code d'étalonnage :

if (ax> =5000) { // ligne d'étalonnage
right ();
}

Lorsque toutes les lignes d'étalonnage du code d'étalonnage ont été ajustées et que le cosse de la version d'étalonnage est donc fonctionnel, les valeurs du code principal doivent être ajustées pour correspondre au code d'étalonnage.

Ex.

Code d'étalonnage :

if (ax> =5000) { // ligne d'étalonnage
right ();
}

Code principal :

if (ax> =15000) { // ligne d'étalonnage
right ();
}

Le code principal doit être changé en :

if (ax> =5000) { // ligne d'étalonnage
right ();
}

Il est maintenant temps de télécharger le code principal

Étape 6 :Terminez le projet

C'est le moment de porter votre dé à coudre et de jouer avec !

Code

  • Code ThimbleKrox
  • Code d'étalonnage ThimbleKrox
Code ThimbleKroxArduino
Code principal pour ThimbleKrok
//Code pour contrôler le pointeur de la souris par le mouvement d'un doigt//Pour calibrer l'appareil, exécutez "ThimbleKrox calibration code" et suivez le tutoriel trouvé sur https://www.hackster.io/projects /dd8881///Les lignes qui doivent être modifiées pour le calibrage ont "//calibration line" //code écrit par Magform#include #include #include #include MPU6050 mpu;int16_t ax, ay, az, gx, gy, gz;int vx, vy;int sensibilité=10; //Modifiez cette valeur pour modifier la sensibilité du périphérique void setup() { Serial.begin(9600); Fil.begin(); mpu.initialize(); if (!mpu.testConnection()) { //vérifier la connexion avec le MPU-6050, s'il n'y a pas de connexion, arrêter de fonctionner pendant (1) ; }}void up(){ Mouse.move(0, -sensibility); }void down(){ Mouse.move(0, sensibilité); }void left(){ Mouse.move(-sensibility, 0); }void right(){ Mouse.move(sensibilité, 0); }boucle vide() { mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); if(ax>=15000){ //ligne d'étalonnage à droite(); } if(ax<=-9000){ //ligne d'étalonnage à gauche(); } if(ay<=-8000){ //ligne d'étalonnage (); } if(ay>=10000){ //ligne d'étalonnage vers le bas(); }//décommentez les lignes suivantes pour définir le clic droit avec un sprint vers le haut et le clic gauche avec un sprint vers le bas (partie Work in progress)/* if(gy>=20000){ //ligne de calibration Mouse.click(MOUSE_RIGHT); retard (100); } if(gy<=-20000){ //ligne d'étalonnage Mouse.click(MOUSE_LEFT); retard (100); }*/delay(10);}
Code d'étalonnage ThimbleKroxArduino
Code pour calibrer le ThimbleKrox
//Code pour calibrer le ThimbleKrox//Pour calibrer l'appareil, exécutez ce code et suivez le tutoriel trouvé sur https://www.hackster.io/projects/dd8881///Les lignes qui ont besoin à changer (comme l'autre code) pour l'étalonnage a "//ligne d'étalonnage" //code écrit par 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); Fil.begin(); mpu.initialize(); while(Nwrong!=0){ if (!mpu.testConnection()) { Serial.print("Mauvais numéro de connexion :"); Serial.print(Nwrong); Mauvais++ ; retard(1000); }autre{ Nwrong=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 ");; } boucle vide() { mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); if(ax>=15000){ //ligne d'étalonnage à droite(); } if(ax<=-9000){ //ligne d'étalonnage à gauche(); } if(ay<=-8000){ //ligne d'étalonnage (); } if(ay>=10000){ //ligne d'étalonnage vers le bas(); }//décommentez les lignes suivantes pour définir le clic droit avec un sprint vers le haut et le clic gauche avec un sprint vers le bas (partie Work in progress)/* if(gy>=20000){ //ligne de calibration rightclick(); retard (100); } if(gy<=-20000){ //ligne d'étalonnage clic gauche(); retard (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"); retard (5000); }
Dé à coudre
https://github.com/Magform/ThimbleKrox

Pièces et boîtiers personnalisés

Modèle imprimable ThimbleKrox en 3D
Pour ceux qui préfèrent prendre les modèles du fichier ThingiverseCAD sur thingverse.com Assistance requiseAucune assistance requise

Schémas


Processus de fabrication

  1. Créez votre robot de streaming vidéo contrôlé par Internet avec Arduino et Raspberry Pi
  2. Activez le contrôle Alexa sur votre ventilateur de plafond
  3. Contrôler l'accepteur de pièces avec Arduino
  4. Centre de contrôle Arduino
  5. Arduino avec Bluetooth pour contrôler une LED !
  6. Contrôle de l'humidificateur Arduino
  7. Arduino Nano :contrôler 2 moteurs pas à pas avec joystick
  8. Contrôlez votre LED avec Cortana
  9. Contrôle de ventilateur PWM 4 broches 25 kHz avec Arduino Uno