Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай тоног төхөөрөмж:
- Алхам 2: Тоног төхөөрөмжийн холболт:
- Алхам 3: Хөдөлгөөнийг хянах код:
- Алхам 4: Өргөдөл:
Видео: MPU-6000 ба Arduino Nano ашиглан хөдөлгөөн хянах: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
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 ухаалаг төхөөрөмж болгон хөрвүүлэх боломжтой бөгөөд үүнийг эрүүл мэнд, фитнесийн хяналтаас авахуулаад байршилд суурилсан үйлчилгээнд ашиглах боломжтой юм.
Зөвлөмж болгож буй:
Гимбалын хөдөлгөөн хянах: 12 алхам
Хөдөлгөөний хяналт Гимбал: Бүгдээрээ сайн байцгаана уу, намайг Харжи Наги гэдэг. Би одоогоор Канпур мужийн Пранвир Сингх технологийн дээд сургуулийн электроник, холбооны инженерийн чиглэлээр хоёрдугаар дамжааны оюутан. Би робот техник, ардуино, хиймэл оюун ухаан
Tensegrity эсвэл Давхар 5R параллель робот, 5 тэнхлэг (DOF) хямд, хатуу, хөдөлгөөн хянах: 3 алхам (зурагтай)
Tensegrity эсвэл Double 5R Parallel Robot, 5 Axis (DOF) Cheap, Hard, Motion Control: Энэ бол таны өдрийн хамгийн том санаа гэж та бодож байна гэж найдаж байна! Энэ бол 2019 оны 12 -р сарын 2 -ны өдөр хаагдах Instructables Robotics тэмцээнд оруулсан оролт юм.Төсөл шүүгчдийн эцсийн шатанд шалгарсан бөгөөд би хүссэн шинэчлэлтүүдээ хийж амжаагүй байна! Би
Esp8266: 5 алхамыг ашиглан цахилгаан хэрэгслийг хянах, цаг агаарыг хянах IoT төхөөрөмжийг хэрхэн яаж хийх вэ
Esp8266 ашиглан багаж хэрэгслийг хянах, цаг агаарыг хянах IoT төхөөрөмжийг хэрхэн яаж хийх вэ: Эд юмсын интернэт (IoT) нь физик төхөөрөмжүүд (үүнийг "холбогдсон төхөөрөмжүүд", "ухаалаг төхөөрөмжүүд" гэж нэрлэдэг), барилга байгууламж, электроник, програм хангамж, мэдрэгч, идэвхжүүлэгч болон бусад эд зүйлс
MESH SDK ашиглан хөдөлгөөн хянах камер: 6 алхам (зурагтай)
MESH SDK ашиглан хөдөлгөөн зохицуулалттай камер: Та гэртээ байхгүй байхдаа гэрийн тэжээвэр амьтдынхаа хамгийн сайхан мөчүүдийг авахын тулд камераа автоматжуулахыг хүсч байна уу? MESH хөдөлгөөн мэдрэгч нь SDK -ийг дэмждэг камеруудыг ашиглах боломжтой болгодог. Жишээлбэл, бид MESH хөдөлгөөн мэдрэгчийг муурны хоол, муурны тоглоомын хажууд байрлуулсан
Хөдөлгөөнийг хянах гаралт - Хөдөлгөөн мэдрэгч гэрлээс: 6 алхам
Хөдөлгөөнийг хянах гаралт - Хөдөлгөөн мэдрэгч гэрлээс: Та блокны хамгийн аймшигтай байшин руу явж буй заль мэхчин гэж төсөөлөөд үз дээ. Бүх хий үзэгдэл, хий үзэгдэл, оршуулгын газруудыг даван туулсны дараа та эцсийн замдаа хүрэх болно. Чихэр чиний өмнө байгаа аяганд байгааг харж болно! Гэвч гэнэт гэнэт дуу гарчээ