Агуулгын хүснэгт:

MPU-6000 ба Arduino Nano ашиглан хөдөлгөөн хянах: 4 алхам
MPU-6000 ба Arduino Nano ашиглан хөдөлгөөн хянах: 4 алхам

Видео: MPU-6000 ба Arduino Nano ашиглан хөдөлгөөн хянах: 4 алхам

Видео: MPU-6000 ба Arduino Nano ашиглан хөдөлгөөн хянах: 4 алхам
Видео: BYGD P600U - měnič napětí (600 W) - DC 12 V / AC 230 V (Paykoviny) 2024, Долдугаар сарын
Anonim
Image
Image

MPU-6000 бол 6 тэнхлэгтэй хөдөлгөөн хянах мэдрэгч бөгөөд 3 тэнхлэг хурдасгуур, 3 тэнхлэгтэй гироскоптой. Энэхүү мэдрэгч нь объектын гурван хэмжээст хавтгайд байршил, байршлыг оновчтой хянах чадвартай. Үүнийг хамгийн нарийвчлалтайгаар байрлалын дүн шинжилгээ хийх шаардлагатай системд ашиглаж болно.

Энэхүү гарын авлагад MPU-6000 мэдрэгч модулийн arduino нано-той хэрхэн холбогдож байгааг харуулав. Хурд болон эргэлтийн өнцгийн утгыг уншихын тулд бид I2c адаптер бүхий arduino наног ашигласан бөгөөд энэхүү I2C адаптер нь мэдрэгчийн модульд холбогдоход хялбар, илүү найдвартай болгодог.

Алхам 1: Шаардлагатай тоног төхөөрөмж:

Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж

Зорилгодоо хүрэхийн тулд бидэнд шаардлагатай материалууд нь дараахь тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүдийг агуулдаг.

1. MPU-6000

2. Ардуино Нано

3. I2C кабель

4. Arduino нано -д зориулсан I2C Shield

Алхам 2: Тоног төхөөрөмжийн холболт:

Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт

Тоног төхөөрөмжийн холболтын хэсэг нь үндсэндээ мэдрэгч ба arduino нано хооронд шаардлагатай утас холболтыг тайлбарладаг. Аливаа систем дээр ажиллахад шаардлагатай гаралтын хувьд зөв холболтыг хангах нь хамгийн чухал зүйл юм. Тиймээс шаардлагатай холболтууд дараах байдалтай байна.

MPU-6000 нь I2C дээр ажиллах болно. Мэдрэгчийн интерфэйс бүрийг хэрхэн яаж холбохыг харуулсан утасны диаграмын жишээ энд байна.

Хайрцагнаас гадуурх самбар нь I2C интерфэйс дээр тохируулагдсан байдаг тул хэрэв та өөр ойлголтгүй бол энэ холболтыг ашиглахыг зөвлөж байна.

Танд ердөө дөрвөн утас л хангалттай! Vcc, Gnd, SCL, SDA зүүг зөвхөн дөрвөн холболт шаарддаг бөгөөд эдгээр нь I2C кабелийн тусламжтайгаар холбогддог.

Эдгээр холболтыг дээрх зурган дээр харуулав.

Алхам 3: Хөдөлгөөнийг хянах код:

Хөдөлгөөнийг хянах код
Хөдөлгөөнийг хянах код

Одоо arduino кодоос эхэлье.

Мэдрэгчийн модулийг arduino ашиглан ашиглахдаа бид Wire.h номын санг агуулдаг. "Утас" номын сан нь мэдрэгч ба arduino самбар хоорондын i2c холболтыг хөнгөвчлөх функцүүдийг агуулдаг.

Хэрэглэгчийн тав тухыг хангах үүднээс arduino кодыг бүхэлд нь доор өгөв.

#оруулах

// MPU-6000 I2C хаяг нь 0x68 (104)

#Тодорхойлох Addr 0x68

хүчингүй тохиргоо ()

{

// I2C холболтыг мастер болгон эхлүүлэх

Wire.begin ();

// Цуваа холболтыг эхлүүлж, дамжуулах хурд = 9600

Цуваа эхлэх (9600);

// I2C дамжуулалтыг эхлүүлэх

Wire.beginTransmission (Addr);

// Гироскопын тохиргооны бүртгэлийг сонгоно уу

Wire.write (0x1B);

// Бүрэн хэмжээний хүрээ = 2000 dps

Wire.write (0x18);

// I2C дамжуулалтыг зогсооно уу

Wire.endTransmission ();

// I2C дамжуулалтыг эхлүүлэх

Wire.beginTransmission (Addr);

// Accelerometer тохиргооны бүртгэлийг сонгоно уу

Wire.write (0x1C);

// Бүрэн хэмжээний хүрээ = +/- 16г

Wire.write (0x18);

// I2C дамжуулалтыг зогсооно уу

Wire.endTransmission ();

// I2C дамжуулалтыг эхлүүлэх

Wire.beginTransmission (Addr);

// Эрчим хүчний удирдлагын бүртгэлийг сонгоно уу

Wire.write (0x6B);

// xGyro лавлагаа бүхий PLL

Wire.write (0x01);

// I2C дамжуулалтыг зогсооно уу

Wire.endTransmission ();

саатал (300);

}

хоосон давталт ()

{

гарын үсэг зураагүй int өгөгдөл [6];

// I2C дамжуулалтыг эхлүүлэх

Wire.beginTransmission (Addr);

// Өгөгдлийн бүртгэлийг сонгоно уу

Wire.write (0x3B);

// I2C дамжуулалтыг зогсооно уу

Wire.endTransmission ();

// 6 байтын өгөгдөл хүсэх

Wire.requestFrom (Addr, 6);

// 6 байтын өгөгдлийг уншина уу

хэрэв (Утас. боломжтой () == 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 байтын өгөгдлийг уншина уу

хэрэв (Утас. боломжтой () == 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-Axis дахь хурдатгал:");

Serial.println (xAccl);

Serial.print ("Y-Axis дахь хурдатгал:");

Serial.println (yAccl);

Serial.print ("Z-Axis дахь хурдатгал:");

Serial.println (zAccl);

Serial.print ("Эргэлтийн тэнхлэг:");

Serial.println (xGyro);

Serial.print ("Y-тэнхлэгийн эргэлт:");

Serial.println (yGyro);

Serial.print ("Z-тэнхлэгийн эргэлт:");

Serial.println (zGyro);

саатал (500);

}

Утасны санд Wire.write () ба Wire.read () командыг бичиж, мэдрэгчийн гаралтыг уншихад ашиглагддаг.

Arduino IDE -ийн цуваа дэлгэц дээр мэдрэгчийн гаралтыг харуулахад Serial.print () ба Serial.println () ашиглагддаг.

Мэдрэгчийн гаралтыг дээрх зурагт үзүүлэв.

Алхам 4: Өргөдөл:

Хэрэглээ
Хэрэглээ

MPU-6000 бол хөдөлгөөн хянах мэдрэгч бөгөөд ухаалаг гар утас, таблетуудын хөдөлгөөний интерфейсээс хэрэглээгээ олж чаддаг. Ухаалаг гар утаснуудад эдгээр мэдрэгчийг аппликешн болон утасны удирдлага, сайжруулсан тоглоом, бодит байдал, панорамик зураг авах, үзэх, явган зорчигч, тээврийн хэрэгслийн навигацийн дохио өгөх команд гэх мэт програмуудад ашиглаж болно. MotionTracking технологи нь гар утас, таблетыг хүчирхэг 3D ухаалаг төхөөрөмж болгон хөрвүүлэх боломжтой бөгөөд үүнийг эрүүл мэнд, фитнесийн хяналтаас авахуулаад байршилд суурилсан үйлчилгээнд ашиглах боломжтой юм.

Зөвлөмж болгож буй: