
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:57

Een handschoen die je kan gebruiken als motion controller for on-rail shooters. Проектът "Gimmick van dit" е дат alles контрол на движението, включително и het schieten. (Je schiet door te "finger bangen")
Стъпка 1: Het Materiaal
Het materiaal dat je gaat nodig hebben е vrij simpel. 1x Arduino pro micro на жироскоп Arduino Leonardo1x MPU6050
4x кабели
Стъпка 2: De Bekabeling

Zoals е в het схема в de afbeelding ziet е de bekabeling супер прост. MPU VCC> Arduino VCCMPU заземяване> Arduino маса MPU SCL> ПИН 3MPU SDA> Пин 2
Стъпка 3: Библиотеки 1

За проект db heb je een paar персонализирани библиотеки nodig van deze връзка:
Изтеглете ZIP файл чрез "Clone or download" knop rechts bovenaan.
Стъпка 4: Библиотеки 2

Отворете Zip файла и кликнете върху картата "Arduino". En uit deze Arduino map will be de mapjes "I2Cdev" and "MPU6050" paken en in is Arduino libraries zetten (Program Files> Arduino> libraries)
Стъпка 5: De Code
#включва
#включи #включи #включи #включи
MPU6050 mpu;
int16_t брадва, ay, az, gx, gy, gz;
int16_t accx, accy, accz; int vx, vy; поплавъчен ъгъл;
// код за изглаждане на inputint readIndex = 0; const int numReadings = 20; int angleReadings [numReadings]; int общо = 0; float averageAngle = 0.0;
int oldZ = 0;
int newZ = 0;
void setup () {Serial.begin (115200); Wire.begin (); Mouse.begin (); mpu.initialize (); if (! mpu.testConnection ()) {while (1); }
for (int thisReading = 0; thisReading <numReadings; thisReading ++) {angleReadings [thisReading] = 0; }}
void loop () {
total = total - angleReadings [readIndex];
angleReadings [readIndex] = ъгъл; total = total + angleReadings [readIndex]; readIndex = readIndex + 1; if (readIndex> = numReadings) {readIndex = 0; }
if (gz> 30000) {Serial.println ("Bang"); Mouse.click (); // Стреляйте, като хвърлите пистолета назад (удари с пръст)}
// accx, accy, accz;
mpu.getMotion6 (& ax, & ay, & az, & 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.
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 is het resultaat krijgt dat je wil en ik denk dat de values die wil nodig hebt afhankelijk zijn van is 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 ценности 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 ("Прелистване надясно"); // Презареждане при натискане на пистолета надясно Keyboard.write ('r'); забавяне (250); } Serial.print ("accx ="); Serial.print (accx); Serial.print ("| accy ="); Serial.print (accy); Serial.print ("| accz ="); Serial.println (accz); // работещ // ъгъл = atan2 ((поплавък) (ay - 16384), (поплавък) (брадва - 16384)) * (180.0 /PI) * -1; ъгъл = atan2 ((поплавък) ay, (поплавък) ~ брадва) * (180.0 / PI); // поплавъчен ъгъл = atan2 ((float) ay, (float) -ax) * (180.0 /PI); //Serial.println(averageAngle); }
Препоръчано:
Проследяване на движението на човешкото око: 6 стъпки

Проследяване на движението на човешкото око: Този проект има за цел да улови движението на човешкото око и показва неговото движение върху набор от LED светлини, които са поставени във формата на око. Този тип проекти потенциално биха могли да имат много приложения в областта на роботиката и по -специално хума
Прост контрол с жестове - Контролирайте вашите RC играчки с движението на ръката си: 4 стъпки (със снимки)

Прост контрол с жестове - Контролирайте вашите RC играчки с движението на ръката си: Добре дошли в моя „ible“#45. Преди малко направих напълно работеща RC версия на BB8, използвайки части от Lego Star Wars … https://www.instructables.com/id/Whats-Inside-My-R … Когато видях колко е готино Force Band, направен от Sphero, си помислих: „Добре, аз
Управление на движението с Raspberry Pi и LIS3DHTR, 3-осен акселерометър, използване на Python: 6 стъпки

Управление на движението с Raspberry Pi и LIS3DHTR, 3-осен акселерометър, използване на Python: Красотата ни заобикаля, но обикновено трябва да се разхождаме в градина, за да я познаем. - Руми Като образована група, каквато изглеждаме, ние инвестираме по -голямата част от енергията си, работеща преди компютрите и мобилните си телефони. Затова често оставяме нашето благосъстояние
Ръкавица за управление на мишка Arduino: 6 стъпки (със снимки)

Ръкавица за управление на мишка Arduino: Така че за моя училищен проект направих ръкавица Arduino, която може да контролира курсора ви с акселерометър. В няколко прости стъпки ще ви покажа как да повторите този процес
Добавяне на управление на движението към часовник за прожектиране: 7 стъпки

Добавяне на управление на движението към часовник за прожектиране: Цел: Добавяне на сензор за движение, който осветява часовника през нощта, когато открие движение, и направете ръчно регулиране на яркостта на подсветката. Защо: Имам само няколко изисквания за добър часовник на леглото. Тя трябва да бъде лесно видима, но не и светла