Съдържание:
- Стъпка 1: Изисква се хардуер:
- Стъпка 2: Свързване на хардуера:
- Стъпка 3: Код за проследяване на движение:
- Стъпка 4: Приложения:
Видео: Проследяване на движение с помощта на MPU-6000 и Arduino Nano: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
MPU-6000 е 6-осен сензор за проследяване на движение, който има 3-осен акселерометър и 3-осен жироскоп, вграден в него. Този сензор е в състояние ефективно да проследява точното положение и местоположението на обект в триизмерната равнина. Може да се използва в системи, които изискват анализ на позицията с най -висока точност.
В този урок е илюстрирано взаимодействието на сензорния модул MPU-6000 с arduino nano. За да прочетете стойностите на ускорението и ъгъла на въртене, използвахме arduino nano с I2c адаптер, който прави връзката към сензорния модул лесна и по -надеждна.
Стъпка 1: Изисква се хардуер:
Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:
1. MPU-6000
2. Arduino Nano
3. I2C кабел
4. I2C щит за arduino nano
Стъпка 2: Свързване на хардуера:
Разделът за свързване на хардуера основно обяснява необходимите кабелни връзки между сензора и arduino nano. Осигуряването на правилни връзки е основната необходимост, докато работите върху всяка система за желания изход. И така, необходимите връзки са както следва:
MPU-6000 ще работи през I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.
Извън кутията, дъската е конфигурирана за I2C интерфейс, като такава препоръчваме да използвате тази връзка, ако иначе не сте агностици.
Всичко, от което се нуждаете, са четири проводника! Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.
Тези връзки са показани на снимките по -горе.
Стъпка 3: Код за проследяване на движение:
Нека започнем с кода arduino сега.
Докато използваме сензорния модул с arduino, ние включваме библиотеката Wire.h. Библиотеката "Wire" съдържа функциите, които улесняват i2c комуникацията между сензора и платката arduino.
Целият код на arduino е даден по -долу за удобство на потребителя:
#включва
// MPU-6000 I2C адрес е 0x68 (104)
#define Addr 0x68
void setup ()
{
// Инициализира I2C комуникацията като Master
Wire.begin ();
// Инициализира серийна комуникация, зададена скорост на предаване = 9600
Serial.begin (9600);
// Стартиране на I2C предаване
Wire.beginTransmission (Addr);
// Изберете регистър за конфигурация на жироскоп
Wire.write (0x1B);
// Пълен мащаб = 2000 dps
Wire.write (0x18);
// Спиране на I2C предаването
Wire.endTransmission ();
// Стартиране на I2C предаване
Wire.beginTransmission (Addr);
// Изберете регистър за конфигурация на акселерометъра
Wire.write (0x1C);
// Пълен мащаб = +/- 16g
Wire.write (0x18);
// Спиране на I2C предаването
Wire.endTransmission ();
// Стартиране на I2C предаване
Wire.beginTransmission (Addr);
// Изберете регистър за управление на захранването
Wire.write (0x6B);
// PLL с xGyro справка
Wire.write (0x01);
// Спиране на I2C предаването
Wire.endTransmission ();
забавяне (300);
}
void loop ()
{
беззнакови int данни [6];
// Стартиране на I2C предаване
Wire.beginTransmission (Addr);
// Изберете регистър на данни
Wire.write (0x3B);
// Спиране на I2C предаването
Wire.endTransmission ();
// Изискване на 6 байта данни
Wire.requestFrom (Addr, 6);
// Прочетете 6 байта данни
ако (Wire.available () == 6)
{
данни [0] = Wire.read ();
данни [1] = Wire.read ();
данни [2] = Wire.read ();
данни [3] = Wire.read ();
данни [4] = Wire.read ();
данни [5] = Wire.read ();
}
// Конвертиране на данните
int xAccl = данни [0] * 256 + данни [1];
int yAccl = данни [2] * 256 + данни [3];
int zAccl = данни [4] * 256 + данни [5];
// Стартиране на I2C предаване
Wire.beginTransmission (Addr);
// Изберете регистър на данни
Wire.write (0x43);
// Спиране на I2C предаването
Wire.endTransmission ();
// Изискване на 6 байта данни
Wire.requestFrom (Addr, 6);
// Прочетете 6 байта данни
ако (Wire.available () == 6)
{
данни [0] = Wire.read ();
данни [1] = Wire.read ();
данни [2] = Wire.read ();
данни [3] = Wire.read ();
данни [4] = Wire.read ();
данни [5] = Wire.read ();
}
// Конвертиране на данните
int xGyro = данни [0] * 256 + данни [1];
int yGyro = данни [2] * 256 + данни [3];
int zGyro = данни [4] * 256 + данни [5];
// Извеждане на данни към сериен монитор
Serial.print ("Ускорение по ос X:");
Serial.println (xAccl);
Serial.print ("Ускорение по оста Y:");
Serial.println (yAccl);
Serial.print ("Ускорение по Z-ос:");
Serial.println (zAccl);
Serial.print ("X-ос на въртене:");
Serial.println (xGyro);
Serial.print ("Y-ос на въртене:");
Serial.println (yGyro);
Serial.print ("Z-ос на въртене:");
Serial.println (zGyro);
забавяне (500);
}
В библиотеката с проводници Wire.write () и Wire.read () се използват за писане на командите и четене на изхода на сензора.
Serial.print () и Serial.println () се използват за показване на изхода на сензора на серийния монитор на Arduino IDE.
Изходът на сензора е показан на горната снимка.
Стъпка 4: Приложения:
MPU-6000 е сензор за проследяване на движение, който намира своето приложение в интерфейса за движение на смартфони и таблети. В смартфоните тези сензори могат да се използват в приложения като команди за жестове за приложения и управление на телефона, подобрени игри, разширена реалност, панорамно заснемане и гледане на снимки и навигация на пешеходци и превозни средства. Технологията MotionTracking може да преобразува телефони и таблети в мощни 3D интелигентни устройства, които могат да се използват в приложения, вариращи от мониторинг на здравето и годността до услуги, базирани на местоположението.
Препоръчано:
Система за проследяване на движение на главата за VR: 8 стъпки
Head Motion System Tracking System за VR: Казвам се Sam KODO, В това ръководство ще ви науча стъпка по стъпка как да използвате Arduino IMU сензори за изграждане на система за проследяване на главата за VR.В този проект ще ви трябва: - LCD дисплей HDMI : https: //www.amazon.com/Elecrow-Capacitive-interfac…- An
Изградете носим механизъм за проследяване на движение (BLE от Arduino до персонализирано приложение за Android Studio): 4 стъпки
Изградете носим механизъм за проследяване на движение (BLE от Arduino до персонализирано приложение за Android Studio): Bluetooth Low Energy (BLE) е форма на Bluetooth комуникация с ниска мощност. Носимите устройства, като интелигентните облекла, които помагам да проектирам в Predictive Wear, трябва да ограничават консумацията на енергия, когато е възможно, за да удължат живота на батерията, и често да използват BLE
Сензор за движение на водата Сензор за движение с помощта на Arduino и соленоиден клапан - Направи си сам: 6 стъпки
Сензор за вода Сензор за движение с помощта на Arduino и соленоиден клапан - Направи си сам: В този проект ще ви покажа как да изградите кран за вода с сензор за движение с помощта на електромагнитен клапан. Този проект може да ви помогне да преобразувате съществуващия си ръчен кран за вода в кран, който може да се контролира въз основа на откриване на движение. Използване на интерфейса на IR сензора
Проследяване и проследяване за малки магазини: 9 стъпки (със снимки)
Проследяване и следене за малки магазини: Това е система, създадена за малки магазини, която трябва да се монтира на електронни велосипеди или електронни тротинетки за доставки на къси разстояния, например пекарна, която иска да доставя сладкиши. Какво означава Track and Trace? Проследяване и проследяване е система, използвана от ca
Направи си сам интелигентен робот за проследяване на комплекти за кола Проследяване на фоточувствителна кола: 7 стъпки
DIY Smart Robot Tracking Car Kits Проследяване на автомобил Фоточувствителен: Дизайн от SINONING ROBOT Можете да закупите от проследяващ робот car Теорът LM393 сравнете двата фоторезистора, когато има един страничен фоторезистор LED на БЯЛО, страната на двигателя ще спре веднага, другата страна на двигателя завърти се, така че