Talaan ng mga Nilalaman:
- Hakbang 1: Het Materiaal
- Hakbang 2: De Bekabeling
- Hakbang 3: Mga Aklatan 1
- Hakbang 4: Mga Aklatan 2
- Hakbang 5: De Code
Video: ITTT Rolando Ritzen - Motion Control Arcade Glove: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Een handschoen die je kan gebruiken als motion controller voor on-rail shooters. Ang proyekto ng gimik na van ay lahat ng paggalaw ng paggalaw ay, inclusief het schieten. (Je schiet door te "daliri bangen")
Hakbang 1: Het Materiaal
Het materiaal dat je gaat nodig hebben is vrij simpel. 1x Arduino pro micro ng Arduino Leonardo1x MPU6050 gyroscope
4x kabels
Hakbang 2: De Bekabeling
Ang mga pag-zoom sa iskema sa pag-uusap sa ziet ay de bekabeling sobrang simpel. MPU VCC> Arduino VCCMPU ground> Arduino groundMPU SCL> Pin 3MPU SDA> Pin 2
Hakbang 3: Mga Aklatan 1
Wala itong proyekto kung saan naka-link ang mga pasadyang silid aklatan na walang link sa link:
Mag-download ng een ZIP file sa pamamagitan ng "Clone or download" knop rechts bovenaan.
Hakbang 4: Mga Aklatan 2
Buksan ang de Zip file at i-click ang het mapje "Arduino". Sa iyo ang mapa ng Arduino upang mailagay ang "I2Cdev" at "MPU6050" na aken sa mga aklatan ng Arduino (Program Files> Arduino> mga aklatan)
Hakbang 5: De Code
# isama
# isama # isama # isama # isama
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int16_t accx, accy, accz; int vx, vy; anggulo ng float;
// code for smoothing inputint readIndex = 0; const int numReadings = 20; int angguloReadings [numReadings]; int kabuuang = 0; float averageAngle = 0.0;
int oldZ = 0;
int bagongZ = 0;
void setup () {Serial.begin (115200); Wire.begin (); Mouse.begin (); mpu.initialize (); kung (! mpu.testConnection ()) {habang (1); }
para sa (int thisReading = 0; thisReading <numReadings; thisReading ++) {angleReadings [thisReading] = 0; }}
void loop () {
kabuuan = kabuuan - angguloReadings [readIndex];
angguloReadings [readIndex] = anggulo; kabuuan = kabuuang + angguloReadings [readIndex]; readIndex = readIndex + 1; kung (readIndex> = numReadings) {readIndex = 0; }
kung (gz> 30000) {Serial.println ("Bang"); Mouse.click (); // Shoot by flicking the gun backward (finger banging)}
// accx, accy, accz;
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz); mpu.getAcceleration (& accx, & accy, & accz); //Serial.println(gy); // Serial.println (anggulo);
oldZ = newZ;
vx = (gx + 1000) / 150; vy = - (gz - 200) / 150; Mouse.move (vx, vy); pagkaantala (20);
Dit stukje code heeft een beetje uitleg nodig omdat je het waarschijnlijk een klein beetje moet aanpassen.
Ang iyong mga serbisyo ay nai-click upang makita ang higit sa lahat na mga link (van rechts naar link, van boven naar onder of diagonaal) en dit stukje code zorgt er voor dat je curor stil blijft staan als je geen input geeft. Maari mong pahalagahan ang in "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 link 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 values 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); kung (gx> 32000) {Serial.println ("Flick Right"); // Reload kapag pumitik ang baril sa kanang Keyboard.write ('r'); pagkaantala (250); } Serial.print ("accx ="); Serial.print (accx); Serial.print ("| accy ="); Serial.print (accy); Serial.print ("| accz ="); Serial.println (accz); // working // anggulo = atan2 ((float) (ay - 16384), (float) (ax - 16384)) * (180.0 / PI) * -1; anggulo = atan2 ((float) ay, (float) ~ ax) * (180.0 / PI); // float anggulo = atan2 ((float) ay, (float) -ax) * (180.0 / PI); //Serial.println(averageAngle); }
Inirerekumendang:
Art Glove: 10 Hakbang (na may Mga Larawan)
Art Glove: Ang Art Glove ay isang naisusuot na guwantes na naglalaman ng iba't ibang mga uri ng sensor upang makontrol ang mga graphic ng sining sa pamamagitan ng isang Micro: bit at p5.js Gumagamit ang mga daliri ng mga sensor ng liko na kumokontrol sa r, g, b na halaga, at ang accelerometer sa Micro: kontrol ng bit x, y coordina
Taser Glove: 7 Hakbang
Taser Glove: Pagod na sa bobo na naghahanap ng mga guwantes na de kuryente na may mahinang boltahe ng camera na hindi kinakailangan? Mapoot ang mga tao sa youtube na ipinapakita lamang sa iyo ang labas ng kanilang taser na gwantes at hindi man sabihin kung paano nila ito nagawa? Pino ang iyong lasa at nais ang iyong guwantes na maging parehong powe
Soft Robotics Glove: 8 Hakbang (na may Mga Larawan)
Soft Robotics Glove: Ang aking proyekto ay isang softrobotic glove. Mayroon itong isang actuator na nakaposisyon sa bawat daliri; ang ilalim na bahagi ng guwantes ay tinanggal upang mapadali ang gumagamit na isuot ito. Ang mga actuator ay naaktibo ng isang aparato na nakaposisyon sa pulso na medyo mas malaki kaysa sa isang relo.
Wizard Glove: isang Arduino Controlled Controller Glove: 4 na Hakbang (na may Mga Larawan)
Wizard Glove: isang Arduino Controlled Controller Glove: The Wizard Glove. Sa aking proyekto gumawa ako ng isang gwantes na maaari mong gamitin upang i-play ang iyong mga paboritong laro na nauugnay sa mahika sa isang cool at nakaka-engganyong paraan gamit lamang ang ilang pangunahing mga assets ng arduino at arduino. maaari kang maglaro ng mga larong bagay tulad ng mga scroll ng matatanda, o ikaw
Arduino Mouse Control Glove: 6 Mga Hakbang (na may Mga Larawan)
Arduino Mouse Control Glove: Kaya para sa aking proyekto sa paaralan gumawa ako ng guwantes na Arduino na maaaring makontrol ang iyong cursor gamit ang isang accelerometer. Sa ilang simpleng mga hakbang ay ipapakita ko sa iyo kung paano gagaya ang prosesong ito