Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
Een handschoen die je kan gebruiken als motion controller voor on-rail shooters. De gimmick van dit project adalah semua kontrol gerak, termasuk het schieten. (Je schiet door te "finger bangen")
Langkah 1: Bahan Het
Het material dat je gaat nodig hebben is vrij simpel. 1x Arduino pro mikro Arduino Leonardo1x MPU6050 giroskop
4x kabel
Langkah 2: De Bekabeling
Zoals je dalam skema het di de afbeelding ziet adalah de bekabeling super simpel. MPU VCC > Arduino VCCMPU ground > Arduino groundMPU SCL > Pin 3MPU SDA > Pin 2
Langkah 3: Perpustakaan 1
Voor dit project heb je een paar perpustakaan khusus tautan nodig van deze:
Unduh file ZIP een melalui de "Klon atau unduh" knop rechts bovenaan.
Langkah 4: Perpustakaan 2
Buka file de Zip dan klik op het mapje "Arduino". En uit deze Arduino map wil je de mapjes "I2Cdev" en "MPU6050" pakken en in je Arduino library zetten (Program Files > Arduino > libraries)
Langkah 5: De Kode
#termasuk
#sertakan #sertakan #sertakan #sertakan
MPU6050 mpu;
int16_t kapak, ay, az, gx, gy, gz;
int16_t accx, accy, accz; int vx, vy; sudut mengambang;
//kode untuk menghaluskan inputint readIndex = 0; const int numBacaan = 20; int angleReadings[numReadings]; int jumlah = 0; float rata-rataAngle = 0,0;
int lamaZ = 0;
int baruZ = 0;
void setup() { Serial.begin(115200); Kawat.mulai(); Mouse.mulai(); mpu.initialize(); if (!mpu.testConnection()) { while (1); }
for (int thisReading = 0; thisReading < numReadings; thisReading++) { angleReadings[thisReading] = 0; } }
lingkaran kosong() {
total = total - angleReadings[readIndex];
angleReadings[readIndex] = sudut; total = total + angleReadings[readIndex]; readIndex = readIndex + 1; if (readIndex >= numReadings) { readIndex = 0; }
if (gz > 30000) { Serial.println("Bang"); Klik mouse(); //Menembak dengan menjentikkan pistol ke belakang (finger banging) }
//acx, accy, accz;
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); mpu.getAcceleration(&accx, &accy, &accz); //Serial.println(gy); // Serial.println(sudut);
lamaZ = baruZ;
vx = (gx + 1000) / 150; vy = -(gz - 200) / 150; Mouse.move(vx, vy); penundaan (20);
Dit stukje code heeft een beetje uitleg nodig omdat je het waarschijnlijk een klein beetje moet aanpassen.
Wat er waarschijnlijk gaat gebeuren is dat je cursor uit zichzelf over je scherm gaat bewegen (van rechts naar links, van boven naar onder of diagonal) en dit stukje code zorgt er voor dat je curor stil geblijft statif. Nilai dalam "gx + 1000" en "gz - 200" aanpassen totdat je het resultaat krijgt dat je wil en ik denk dat de values die wil nodig hebt afhankelijk zijn van je scherm resolutie. Als de cursor uit zichzelf van rechts naar links beweegd wil je "gx + x" aanpassen. Als de cursor uit zichzelf van boven naar onder beweegd wil je de "gz - x" aan passen. Als het diagonaal beweegd, dan kies je een van de twee nilai om aan te passen totdat hij nog maar over een as beweegd en dan pas je de andere aan.
Serial.print("gx = ");
Serial.print(gx); Serial.print(" | gz = "); Serial.print(gz); Serial.print(" | gy = "); Serial.println(gy); if (gx > 32000) { Serial.println("Flick Right"); //Muat ulang saat menjentikkan pistol ke kanan Keyboard.write('r'); penundaan (250); } Serial.print("accx = "); Serial.print(acx); Serial.print(" | accy = "); Serial.print(accy); Serial.print(" | accz = "); Serial.println(acz); //kerja //angle = atan2((float) (ay - 16384), (float) (ax - 16384)) * (180.0 / PI) * -1; sudut = atan2((mengambang) ay, (mengambang) ~kapak) * (180.0 / PI); //sudut mengambang = atan2((mengambang) ay, (mengambang) -ax) * (180.0 / PI); //Serial.println(AverageAngle); }
Direkomendasikan:
Kontrol Gerak Gimbal: 12 Langkah
Motion Control Gimbal: Halo Semuanya, Nama saya Harji Nagi. Saya saat ini adalah mahasiswa tahun kedua yang belajar teknik elektronik dan komunikasi dari Pranveer Singh Institute Of Technology, Kanpur (UP). Saya memiliki minat yang besar dalam robotika, arduino, Kecerdasan Buatan dan
Tensegrity atau Robot Paralel 5R Ganda, 5 Sumbu (DOF) Murah, Tangguh, Kontrol Gerak: 3 Langkah (dengan Gambar)
Tensegrity atau Double 5R Parallel Robot, 5 Axis (DOF) Murah, Tangguh, Kontrol Gerakan: Saya harap Anda akan berpikir ini adalah ide BESAR untuk hari Anda! Ini adalah entri dalam kompetisi Instructables Robotics yang ditutup pada 2 Des 2019. Proyek ini telah mencapai babak final penjurian, dan saya belum punya waktu untuk melakukan pembaruan yang saya inginkan! saya sudah
Slider Kontrol Gerak untuk Rel Selang Waktu: 10 Langkah (dengan Gambar)
Penggeser Kontrol Gerak untuk Rel Selang Waktu: Instruksi ini menjelaskan cara menggerakkan rel selang waktu menggunakan motor langkah yang digerakkan oleh Arduino. Kami terutama akan fokus pada Pengontrol Gerak yang menggerakkan motor langkah dengan asumsi Anda sudah memiliki rel yang ingin Anda kendarai. Misalnya saat
Kontrol Exhaust Fan DC Berbasis Sensor Gerak Tanpa Arduino: 4 Langkah
Kontrol Exhaust Fan DC Berbasis Sensor Gerak Tanpa Arduino: Halo saudara-saudara di dunia, saya telah membuat proyek kecil untuk mengendalikan kipas angin DC Anda (Jika Anda menambahkan satu relai ini, Anda juga dapat mengontrol Kipas buang AC). Ini dapat digunakan saat istirahat ruang untuk mengeringkan tangan yang basah.dan juga menggunakan aplikasi lain
Stopkontak Terkendali Gerak - Dari Lampu Penginderaan Gerak: 6 Langkah
Stopkontak Terkendali Gerakan - Dari Lampu Penginderaan Gerakan: Bayangkan Anda adalah seorang penipu yang pergi ke rumah paling menakutkan di blok itu. Setelah melewati semua hantu, hantu dan kuburan Anda akhirnya sampai ke jalan terakhir. Anda dapat melihat permen dalam mangkuk di depan Anda! Tapi kemudian tiba-tiba ada gho