ዝርዝር ሁኔታ:

ITTT ሮላንዶ ሪትዘን - የእንቅስቃሴ መቆጣጠሪያ የመጫወቻ ማዕከል ጓንት 5 ደረጃዎች
ITTT ሮላንዶ ሪትዘን - የእንቅስቃሴ መቆጣጠሪያ የመጫወቻ ማዕከል ጓንት 5 ደረጃዎች

ቪዲዮ: ITTT ሮላንዶ ሪትዘን - የእንቅስቃሴ መቆጣጠሪያ የመጫወቻ ማዕከል ጓንት 5 ደረጃዎች

ቪዲዮ: ITTT ሮላንዶ ሪትዘን - የእንቅስቃሴ መቆጣጠሪያ የመጫወቻ ማዕከል ጓንት 5 ደረጃዎች
ቪዲዮ: Zlatan Ibrahimovic will never forget this humiliating performance by Cristiano Ronaldo 2024, ሰኔ
Anonim
ITTT ሮላንዶ ሪትዘን - የእንቅስቃሴ መቆጣጠሪያ የመጫወቻ ማዕከል ጓንት
ITTT ሮላንዶ ሪትዘን - የእንቅስቃሴ መቆጣጠሪያ የመጫወቻ ማዕከል ጓንት

Een handschoen die je kan gebruiken als motion ተቆጣጣሪ ድምፅ በባቡር ላይ ተኳሾች። የጊምሚክ ቫን ዲት ፕሮጀክት የእንቅስቃሴ ቁጥጥር ነው ፣ ይህም የሂት ሺሂትን ጨምሮ። (የሹክሹክታ በር “ጣት ባንገን”)

ደረጃ 1: Het Materiaal

ነገር ግን ይህ ብቻ አይደለም nodig hebben vrij simpel ነው። የአርዱዲኖ ሊዮናርዶ 1x አርዱinoኖ ፕሮ ማይክሮ 1x MPU6050 ጋይሮስኮፕ

4x kabels

ደረጃ 2: ደ Bekabeling

ደ ቤካቤሊንግ
ደ ቤካቤሊንግ

ደባል በሚባል ዚት ውስጥ በዞት መርሃ -ግብር ውስጥ በጣም ተፈላጊ ነው። MPU VCC> Arduino VCCMPU መሬት> Arduino groundMPU SCL> ፒን 3MPU SDA> ፒን 2

ደረጃ 3: ቤተመፃህፍት 1

ቤተመጻሕፍት 1
ቤተመጻሕፍት 1

የፕሮጀክት ፕሮጄክት ሄብ ጀን ኢን ፓርጅ ብጁ ቤተመፃህፍት ኖዲግ ቫን ዴዜ አገናኝ

Een ዚፕ ፋይልን በ “Clone ወይም አውርድ” knop rechts bovenaan በኩል ያውርዱ።

ደረጃ 4: ቤተመፃህፍት 2

ቤተመጻሕፍት 2
ቤተመጻሕፍት 2

የዚፕ ፋይልን ክፈት "አርዱinoኖ" የሚለውን ጠቅ ያድርጉ። በአርዱዲኖ ካርታ ዊል ጀ ዴ ካርታ “I2Cdev” en”MPU6050” pakken en in je je Arduino libraries zetten (Program Files> Arduino> libraries)

ደረጃ 5: ደ ኮድ

#ያካትቱ

#አካት #አካትት #አካትት #አካት

MPU6050 mpu;

int16_t መጥረቢያ ፣ አይ ፣ አዝ ፣ gx ፣ gy ፣ gz;

int16_t accx ፣ accy ፣ accz; int vx ፣ vy; ተንሳፋፊ አንግል;

የግብዓት ማለስለሻ // ኮድ ኢንዴክስ = 0; const int numReadings = 20; int angleReadings [numReadings]; int ጠቅላላ = 0; ተንሳፋፊ አማካይ አንግል = 0.0;

int oldZ = 0;

int newZ = 0;

ባዶነት ማዋቀር () {Serial.begin (115200); Wire.begin (); Mouse.begin (); mpu.initialize (); ከሆነ (! mpu.testConnection ()) {ሳለ (1); }

ለ (int thisReading = 0; thisReading <numReadings; thisReading ++) {angleReadings [thisReading] = 0; }}

ባዶነት loop () {

ጠቅላላ = ጠቅላላ - አንግል አንባቢዎች [readIndex];

angleReadings [readIndex] = አንግል; ጠቅላላ = ጠቅላላ + አንግል አንባቢዎች [readIndex]; readIndex = readIndex + 1; ከሆነ (readIndex> = numReadings) {readIndex = 0; }

ከሆነ (gz> 30000) {Serial.println ("Bang"); መዳፊት.ክሊክ (); // ጠመንጃውን ወደ ኋላ በመገልበጥ (ጣት በመንካት)}

// accx ፣ accy ፣ accz;

mpu.getMotion6 (& መጥረቢያ ፣ እና አይ ፣ እና አዝ ፣ & gx ፣ & gy ፣ & gz); mpu.getAcceleration (& accx ፣ & accy ፣ & accz); //Serial.println(gy); // Serial.println (አንግል);

oldZ = newZ;

vx = (gx + 1000) / 150; vy = - (gz - 200) / 150; Mouse.move (vx, vy); መዘግየት (20);

Dit stukje code heeft een beetje uitleg nodig omdat je het waarschijnlijk een klein beetje moet aanpassen.

ዋት ኤር ዋርቺሺንሊጅክ ጋት ጌቤረን በጀርመናዊው ጠንቋይ ላይ (በቫን ሬችትስ ናር አገናኞች ፣ ቫን ቦቨን ናአር ዳጋኖናል) en dit stukje code zorgt er voor dat je curor stil blijft staan als je geen input geeft. በ "gx + 1000" en "gz ውስጥ" moet de values " - 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 van rechts naar links beweegd wil je "gx + x" aanpassen. Als het diagonaal beweegd, dan kies je een van de twee values om aan te passen totdat hij nog maar over een as beweegd en dan pas je de andere a.

Serial.print ("gx =");

Serial.print (gx); Serial.print ("| gz ="); Serial.print (gz); Serial.print ("| gy ="); Serial.println (gy); ከሆነ (gx> 32000) {Serial.println («ቀኝ ጠቅ ያድርጉ»); // ጠመንጃውን ወደ ቀኝ ቁልፍ ሲያንኳኩ እንደገና ይጫኑ። ጻፍ ('r'); መዘግየት (250); } Serial.print ("accx ="); Serial.print (አክሲዮን); Serial.print ("| accy ="); Serial.print (accy); Serial.print ("| accz ="); Serial.println (accz); // ሥራ // አንግል = atan2 ((ተንሳፋፊ) (አይ - 16384) ፣ (ተንሳፋፊ) (መጥረቢያ - 16384)) * (180.0 /PI) * -1; አንግል = atan2 ((ተንሳፋፊ) አይ ፣ (ተንሳፋፊ) ~ መጥረቢያ) * (180.0 / PI); // ተንሳፋፊ አንግል = atan2 ((ተንሳፋፊ) አይ ፣ (ተንሳፋፊ) -ax) * (180.0 /PI); //Serial.println (አማካኝ አንግል); }

የሚመከር: