Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

ThimbleKrox: Kontrol Mouse Berbasis Jari dengan Arduino Micro & MPU-6050

Tentang Proyek

Halo semua, ini adalah proyek pertama saya, ThimbleKrox yang merupakan cap jari yang memungkinkan Anda mengontrol pointer mouse melalui gerakan telunjuk (atau jari mana pun).

Langkah 1: Bahan dan Alat yang Diperlukan

Bahan yang diperlukan:

Alat yang diperlukan:

Langkah 2: Koneksi

Hubungkan pin Arduino ke pin MPU-6050:

ThimbleKrox: Kontrol Mouse Berbasis Jari dengan Arduino Micro & MPU-6050

Langkah 3: Cetak 3D (Opsional)

Jika ingin cap jari Anda terlihat bagus, dan jika Anda memiliki printer 3D, Anda dapat mencetak cap jari fisik.

Saya melakukannya dalam dua versi, satu bening yang oleh karena itu tidak memerlukan struktur pendukung untuk dicetak dan tidak terlalu tebal, versi kedua yang saya coba buat dalam gaya steampunk tanpa membuatnya terlalu tebal (masih lebih tebal dari yang bening), tetapi yang ini memerlukan struktur pendukung untuk dicetak dan hanya menghasilkan hasil terbaik jika diwarnai (untuk PLA saya berhasil dengan cat tempera). Keduanya memerlukan untuk dicetak dengan bagian yang memiliki dua prong internal di bawah

ThimbleKrox: Kontrol Mouse Berbasis Jari dengan Arduino Micro & MPU-6050
ThimbleKrox: Kontrol Mouse Berbasis Jari dengan Arduino Micro & MPU-6050

Langkah 4: Rangkai

Dengan cap jari cetak 3D

Untuk memasang semuanya dengan cap jari yang dicetak, setelah membuat koneksi, perlu memasukkan MPU-6050 ke dalam ruang atas perumahan cap jari dengan menempatkan kabel di ruang bawah

Tanpa cap jari cetak 3D

Dalam hal ini, rangkaian dilakukan dengan cara amatur, yaitu dengan memosisikan MPU-6050 di falang terakhir jari yang bersangkutan dan memblokirnya dengan lem kertas atau saret karet.

Langkah 5: Kode dan Kalibrasi

Pertama yang harus dilakukan untuk menjalankan kode adalah menginstal perpustakaan yang diperlukan yaitu Wire.h, I2Cdev.h, MPU6050.h dan Mouse.h

Setelah melakukan ini, saya menyarankan untuk memuat kode kalibrasi ThimbleKrox, memakai cap jari dan membuka serial monitor (Ctrl + Shift + M).

Anda sekarang akan melihat sesuatu seperti ini:

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

Di mana ditunjukkan arah yang, jika dengan benter kalibrasi, Anda ingin pointer pergi dan kemudian beberapa nilai yang diperlukan untuk kalibrasi.

Sekarang Anda harus membuka kembali kode dan pergi ke baris yang ditandai dengan “// calibration line” dan mengubah nilai numerik sampai Anda mendapatkan arah yang benar. (Setiap kali Anda mengubah nilai dalam kode Anda perlu memuat ulang ke Arduino)

Contoh:

Serial monitor:

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

Kode kalibrasi:

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

Serial monitor menandai “left” tetapi kita ingin baris ini ditandai “right” jadi kita perlu mengubah nilai “15000” menjadi “5000”. Ini karena, dalam hal ini, kita harus memastikan bahwa “ax” yang terdeteksi lebih besar dari nilai dalam kode. Kami memahami bahwa itu harus lebih besar karena dalam kode ada tanda lebih besar dan kita harus melihat “ax” dari serial monitor karena dalam kode ada “ax”. (hanya nilai numerik dalam kode yang perlu diubah)

Setelah memuat ulang kode ke Arduino kita akan memiliki:

Serial monitor:

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

Kode kalibrasi:

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

Ketika semua baris kalibrasi dalam kode kalibrasi telah disesuaikan dan versi kalibrasi cap jari berfungsi, nilai kode utama harus disesuaikan untuk cocok dengan kode kalibrasi.

Contoh:

Kode Kalibrasi:

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

Kode utama:

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

Kode utama harus diubah menjadi:

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

Sekarang saatnya untuk memuat kode utama

Langkah 6: Selesaikan Proyek

Sekarang saatnya untuk memakai cap jari Anda dan bermain dengannya!

Kode

Kode ThimbleKroxArduino
Kode utama untuk ThimbleKrok
//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 "//calibration line" //code write by Magform #include <Wire.h> #include <I2Cdev.h> #include <MPU6050.h> #include <Mouse.h> 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); } 
Kode kalibrasi ThimbleKroxArduino
Kode untuk kalibrasi ThimbleKrox
//Code to calibrate the ThimbleKrox //To calibrate the device run this code and follow the tutorial found at https://www.hackster.io/projects/dd8881/ //The lines that need to be changed (as the other code) for calibration have "//calibration line" //code write by Magform #include <Wire.h> #include <I2Cdev.h> #include <MPU6050.h> #include <Mouse.h> 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("Wrong connection number: "); Serial.print(Nwrong); Nwrong++; delay(1000); }else{ 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 ");; } 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 rightclick(); delay(100); } if(gy<=-20000){ //calibration line leftclick(); delay(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"); delay(5000); } 
ThimbleKrox
https://github.com/Magform/ThimbleKrox

Bagian dan Enclosure Kustom

Model cetak 3D ThimbleKrox

Bagi yang suka mengambil model dari ThingiverseFile CAD di thingiverse.com Struktur pendukung diperlukanTidak perlu struktur pendukung

Skematik

ThimbleKrox: Kontrol Mouse Berbasis Jari dengan Arduino Micro & MPU-6050

Proses manufaktur

  1. Membuat Robot Streaming Video yang Dikontrol Internet dengan Arduino & Raspberry Pi
  2. Kontrol Kipas Angin Langit-langit Anda dengan Alexa: Panduan Langkah demi Langkah
  3. Bangun Tabung Pintar: Kendalikan Penerima Koin dengan Arduino Nano
  4. Pusat Kontrol Daya Arduino: Kit N-FET, P-FET, Relay & RTC
  5. Kontrol LED melalui Bluetooth dengan Arduino – Panduan DIY Sederhana
  6. Pengontrol Kelembapan Arduino DIY dengan Relay – Pengaturan Tegangan Tinggi yang Aman
  7. Kendalikan Dua Motor Stepper dengan Arduino Nano dan Joystick – Tutorial Sederhana
  8. Mengontrol LED Arduino dengan Cortana Melalui Bluetooth di Windows 10
  9. Kendalikan TV Anda dengan Alexa melalui Arduino IoT Cloud – Panduan Langkah demi Langkah
  10. Kontrol Kipas PWM 4 Pin 25 kHz dengan Arduino Uno – Bangun, Kode & Uji