Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
Een handschoen die je kan gebruiken als motion controller voor on-rail shooters. De gimmick van dit project is dat alles motion control is, inclusief het schieten. (Je schiet door te "finger bangen")
Stap 1: Het Materiaal
Het materiaal dat je gaat nodig hebben is vrij simpel. 1x Arduino pro micro of Arduino Leonardo1x MPU6050 gyroscoop
4x kabel
Stap 2: De Bekabeling
Zoals je in het schema in de afbeelding ziet is de bekabeling super simpel. MPU VCC > Arduino VCCMPU aarde > Arduino aarde MPU SCL > Pin 3MPU SDA > Pin 2
Stap 3: Bibliotheken 1
Voor dit project heb je een paar aangepaste bibliotheken nodig van deze link:
Download een ZIP-bestand via de "Clone or download" knop rechts bovenaan.
Stap 4: Bibliotheken 2
Open de Zip file en klik op het mapje "Arduino". En uit deze Arduino kaart wil je de mapjes "I2Cdev" en "MPU6050" pakken en in je Arduino bibliotheken zetten (Program Files > Arduino > libraries)
Stap 5: De code
#erbij betrekken
#include #include #include #include
MPU6050mpu;
int16_t ax, ay, az, gx, gy, gz;
int16_t accx, accy, accz; int vx, vy; zweefhoek;
// code voor het afvlakken van inputint readIndex = 0; const int numReadings = 20; int angleReadings[numReadings]; int totaal = 0; float gemiddeldeAngle = 0.0;
int oudZ = 0;
int nieuwZ = 0;
void setup() { Serial.begin(115200); Draad.begin(); Muis.begin(); mpu.initialiseren(); if (!mpu.testConnection()) { while (1); }
for (int thisReading = 0; thisReading < numReadings; thisReading++) { angleReadings[thisReading] = 0; } }
lege lus() {
totaal = totaal - hoekaflezingen [readIndex];
angleReadings[readIndex] = hoek; totaal = totaal + hoekaflezingen [readIndex]; readIndex = readIndex + 1; if (readIndex >= numReadings) { readIndex = 0; }
if (gz > 30000) { Serial.println ("Bang"); Muis klik(); // Schiet door het pistool naar achteren te vegen (vingerbonzen)}
// accx, accy, accz;
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); mpu.getAcceleration(&accx, &accy, &accz); //Serial.println(gy); // Serial.println (hoek);
oudeZ = nieuweZ;
vx = (gx + 1000) / 150; vy = -(gz - 200) / 150; Mouse.move(vx, vy); vertraging(20);
Dit stukje code heeft een beetje uitleg nodig omdat je waarschijnlijk een klein beetje moet aanpassen.
Wat er gaat gebeuren is dat je cursor uit zichzelf over je scherm gaat bewegen (van rechts naar links, van boven naar onder van diagonaal) en dit stukje code zorgt ervoor dat je curor stil blijft staan als je geen input geeft. Je moet de waarden in "gx + 1000" en "gz - 200" aanpassen om tot het resultaat te komen dat je nodig hebt dat de waarden afhankelijk zijn van je scherm resolutie. Als de cursor uit zichzelf van rechts naar links bewegend wil je "gx + x" aanpassen. Als de cursor uit zichzelf van boven naar onder bewegend wil je de "gz - x" aan passagiers. Als het diagonaal beweegd, dan kies je een van de twee waarden om aan te passen totdat hij nog maar over een as beweegd en dan pas je de andere aan.
Serial.print("gx = ");
Seriële.print(gx); Serial.print(" | gz = "); Seriële.print(gz); Serial.print(" | gy = "); Serieel.println(gy); if (gx > 32000) { Serial.println ("Flick Right"); //Herladen wanneer het pistool naar rechts wordt geduwd Keyboard.write('r'); vertraging (250); } Serial.print("accx = "); Seriële.print(accx); Serial.print(" | accy = "); Serial.print(accy); Serial.print(" | accz = "); Serial.println(accz); //working //angle = atan2((float) (ay - 16384), (float) (ax - 16384)) * (180,0 / PI) * -1; hoek = atan2((float) ay, (float) ~ax) * (180,0 / PI); // zweefhoek = atan2 ((float) ay, (float) -ax) * (180,0 / PI); //Serial.println (gemiddelde hoek); }
Aanbevolen:
ITTT: 'Zingend Meisje': 5 stappen
ITTT: 'Zingend Meisje': Project 'zingend meisje' instructies: Hier ga ik vertellen hoe jij zelf een zingen meisje kan maken met arduino. Wat houd het in?: Je gaat een meisje van hout maken die beide haar armen uitsteekt. Aan de ene arm zit een lichtsensor en aan de andere
ITTT L.E.D.: 3 stappen
ITTT L.E.D.: Dit is een schoolproject voor een cursus genaamd If This Then That. Het uitgangspunt van de schoolopdracht is om een interactief object te maken met behulp van elektronica, voornamelijk de Arduino Uno. Na een lange periode van nadenken besloot ik iets te maken
ITTT-project 2018 - Aarde: 5 stappen
ITTT-project 2018 | Earth: Hallo! Mijn school gaf me een project waarbij ik een interactief systeem moest maken met Arduino en dat in het echte leven moest bouwen. Ik besloot een wereldbol te maken waar je interactie met sensoren en knoppen landen zou verlichten en de wereld zou laten draaien
Arduino ITTT: 10 stappen
Arduino ITTT: Dit is mijn arduino project:Het autotje wat van je wegrijdt als je ermee wil spelen, heerlijk om kinderen mee te plagen.in de volgende slides laat ik zien hoe ik te werk ben gegaan
ITTT interactief productontwerp: 10 stappen
ITTT Interactief productontwerp: Hallo! Ik ben Wouter Kamies In dit project ben ik een interactief product gaan maken met behulp van Arduino.In dit instructable ga ik de stappen die ik heb gedaan om dit product te maken. Ik heb een.zip file met alle bouwtekeningen voor