Turinys:
- 1 žingsnis: „Het Materiaal“
- 2 žingsnis: De Bekabeling
- 3 žingsnis: bibliotekos 1
- 4 žingsnis: bibliotekos 2
- 5 žingsnis: kodo panaikinimas
Video: ITTT Rolando Ritzen - judesio valdymo arkadinė pirštinė: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Een handschoen die je kan gebruiken als motion control voor on-rail shooters. De gimmick van dit project is dat alles motion control is, inclusief het schieten. (Tai yra durų pirštas)
1 žingsnis: „Het Materiaal“
Het material dat je gaat nodig hebben is vrij simpel. 1x „Arduino pro micro“iš „Arduino Leonardo“1x MPU6050 giroskopas
4x kabeliai
2 žingsnis: De Bekabeling
Zoals je in het schema in de afbeelding ziet is de bekabeling super simpel. MPU VCC> „Arduino“VCCMPU įžeminimas> „Arduino groundMPU SCL“> 3 kaištis MPU SDA> 2 kaištis
3 žingsnis: bibliotekos 1
Paskelbkite projektą heb je een paar custom libraries nodig van deze link:
Atsisiųskite een ZIP failą per „Klonuoti arba atsisiųsti“knop rechts bovenaan.
4 žingsnis: bibliotekos 2
Atidarykite „Zip“failą ir spustelėkite „Arduino“žemėlapį. Įveskite „Arduino“žemėlapį su žemėlapiu „I2Cdev“ir „MPU6050“pasiūlymas ir „Arduino“bibliotekų sąrašas (Programos failai> Arduino> bibliotekos)
5 žingsnis: kodo panaikinimas
#įtraukti
#įtraukimas #įtraukimas #įtraukimas #įtraukimas
MPU6050 mpu;
int16_t kirvis, ay, az, gx, gy, gz;
int16_t accx, accy, accz; int vx, vy; plūdės kampas;
// įvesties išlyginimo kodas readIndex = 0; const int numReadings = 20; int angleReadings [numReadings]; int viso = 0; plūdės vidurkisAngle = 0.0;
int senasZ = 0;
int newZ = 0;
void setup () {Serial.begin (115200); Wire.begin (); Pelė.pradėti (); mpu.initialize (); if (! mpu.testConnection ()) {while (1); }
for (int thisReading = 0; thisReading <numReadings; thisReading ++) {angleReadings [thisReading] = 0; }}
void loop () {
total = total - kampasReadings [readIndex];
kampasReadings [readIndex] = kampas; iš viso = bendras + kampasReadings [readIndex]; readIndex = readIndex + 1; if (readIndex> = numReadings) {readIndex = 0; }
if (gz> 30000) {Serial.println ("Bang"); Pelė. Spustelėkite (); // Fotografuokite spustelėdami ginklą atgal (trenkdami pirštu)}
// accx, accy, accz;
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz); mpu.getAcceleration (& accx, & accy, & accz); //Serial.println(gy); // Serial.println (kampas);
oldZ = newZ;
vx = (gx + 1000) / 150; vy = - (gz - 200) / 150; Pelė.perkelti (vx, vy); vėlavimas (20);
Įveskite kodą, kuris suteiks jums galimybę įeiti į kitą vietą.
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 diagonaal) en dit stukje code zorgt er voor dat je curor stil blijft staan als je geen input geeft. Je moet de values in 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. Žymeklis taip pat gali būti nukreiptas į nuorodas beweegd wil je "gx + x" aanpassen. Als de cursor uit zichzelf van boven naar onder beweegd wil je de "gz - x" aan keleiv. Als het diagonaal beweegd, dan kies je een van de twee values om aan te utas totdat hij nog maar over een as beweegd en dan pas je de andere aan.
Serijinis atspaudas ("gx =");
Serijinis atspaudas (gx); Serijinis atspaudas ("| gz ="); Serijinis atspaudas (gz); Serijinis atspaudas ("| gy ="); Serijinis.println (gy); if (gx> 32000) {Serial.println („Brūkštelėjimas dešinėn“); // Perkrauti, kai paspaudžiamas ginklas į dešinę Klaviatūra.write ('r'); vėlavimas (250); } Serial.print ("accx ="); Serial.print (accx); Serial.print ("| accy ="); Serial.print (accy); Serijinis atspaudas ("| accz ="); Serial.println (accz); // darbinis // kampas = atan2 ((plūdė) (ay - 16384), (plūdė) (kirvis - 16384)) * (180.0 /PI) * -1; kampas = atan2 ((plūdė) ay, (plūdė) ~ kirvis) * (180.0 / PI); // plūdės kampas = atan2 ((plūdė) ay, (plūdė) -ax) * (180.0 /PI); //Serial.println(averageAngle); }
Rekomenduojamas:
Televizoriaus nuotolinio valdymo pultas tampa RF nuotolinio valdymo pultu -- NRF24L01+ pamoka: 5 žingsniai (su paveikslėliais)
Televizoriaus nuotolinio valdymo pultas tampa RF nuotolinio valdymo pultu || NRF24L01+ Pamoka: Šiame projekte parodysiu, kaip aš naudoju populiarųjį nRF24L01+ RF IC, norėdamas belaidžiu būdu sureguliuoti LED juostos ryškumą per tris nenaudingus televizoriaus nuotolinio valdymo pulto mygtukus. Pradėkime
„IRduino“: „Arduino“nuotolinio valdymo pultas - imituokite pamestą nuotolinio valdymo pultą: 6 žingsniai
„IRduino“: „Arduino“nuotolinio valdymo pultas - imituokite pamestą nuotolinio valdymo pultą: jei kada nors pametėte televizoriaus ar DVD grotuvo nuotolinio valdymo pultą, žinote, kaip apmaudu, kai tenka vaikščioti, ieškoti ir naudoti paties įrenginio mygtukus. Kartais šie mygtukai net nesuteikia tokių funkcijų kaip nuotolinio valdymo pultas. Gauti
ELEKTRONINIO GREITIO VALDYMO (ESC) VALDYMO SIGNALO GENERATORIO ALTERNATYVA: 7 žingsniai
ELEKTRONINIO GREITIO VALDYMO (ESC) VALDYMO SIGNALŲ GENERATORIO ALTERNATYVA: Prieš kurį laiką savo „YouTube“kanale paskelbiau vaizdo įrašą (https://www.youtube.com/watch?v=-4sblF1GY1E), kuriame parodžiau, kaip pasidaryti vėjo turbiną. iš bešepetėlio nuolatinės srovės variklio. Aš padariau vaizdo įrašą ispanų kalba ir paaiškino, kad šis variklis buvo atiduotas
Vedlio pirštinė: „Arduino“valdoma valdiklio pirštinė: 4 žingsniai (su nuotraukomis)
„Wizard Glove“: „Arduino“valdomos valdiklio pirštinės: „Wizard Glove“. Savo projekte aš sukūriau pirštinę, kurią galite naudoti norėdami žaisti savo mėgstamus su magija susijusius žaidimus šauniai ir įtraukiančiai, naudodami tik keletą pagrindinių arduino ir arduino išteklių. galite žaisti tokius žaidimus kaip vyresnio amžiaus slinktys arba
„Arduino“pelės valdymo pirštinė: 6 žingsniai (su nuotraukomis)
„Arduino“pelės valdymo pirštinės: Taigi savo mokyklos projektui aš padariau „Arduino“pirštines, kurios gali valdyti žymeklį akselerometru. Per kelis paprastus veiksmus parodysiu, kaip pakartoti šį procesą