Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай тоног төхөөрөмж:
- Алхам 2: Тоног төхөөрөмжийн холболт:
- Алхам 3: Хөдөлгөөнийг хянах код:
- Алхам 4: Өргөдөл:
Видео: MPU-6000 ба Raspberry Pi ашиглан хөдөлгөөнийг хянах: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
MPU-6000 бол 6 тэнхлэгтэй хөдөлгөөн хянах мэдрэгч бөгөөд 3 тэнхлэг хурдасгуур, 3 тэнхлэгтэй гироскоптой. Энэхүү мэдрэгч нь объектын гурван хэмжээст хавтгайд байршил, байршлыг оновчтой хянах чадвартай. Үүнийг хамгийн нарийвчлалтайгаар байрлалын дүн шинжилгээ хийх шаардлагатай системд ашиглаж болно.
Энэхүү гарын авлагад бөөрөлзгөнө pi бүхий MPU-6000 мэдрэгч модулийн интерфэйсийг харуулав. Хурдасгах ба эргүүлэх өнцгийн утгыг уншихын тулд бид I2c адаптертай бөөрөлзгөнө pi ашигласан бөгөөд энэхүү I2C адаптер нь мэдрэгчийн модульд холбогдоход хялбар, илүү найдвартай болгодог.
Алхам 1: Шаардлагатай тоног төхөөрөмж:
Зорилгодоо хүрэхийн тулд бидэнд шаардлагатай материалууд нь дараахь тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүдийг агуулдаг.
1. MPU-6000
2. Raspberry Pi
3. I2C кабель
4. Бөөрөлзгөнө pi -д зориулсан I2C бамбай
5. Ethernet кабель
Алхам 2: Тоног төхөөрөмжийн холболт:
Тоног төхөөрөмжийн холболтын хэсэг нь үндсэндээ мэдрэгч ба бөөрөлзгөнө pi хооронд шаардлагатай утас холболтыг тайлбарладаг. Аливаа систем дээр ажиллахад шаардлагатай гаралтын хувьд зөв холболтыг хангах нь хамгийн чухал зүйл юм. Тиймээс шаардлагатай холболтууд дараах байдалтай байна.
MPU-6000 нь I2C дээр ажиллах болно. Мэдрэгчийн интерфэйс бүрийг хэрхэн яаж холбохыг харуулсан утасны диаграмын жишээ энд байна.
Хайрцагнаас гадуурх самбар нь I2C интерфэйс дээр тохируулагдсан байдаг тул хэрэв та өөр ойлголтгүй бол энэ холболтыг ашиглахыг зөвлөж байна.
Танд ердөө дөрвөн утас л хангалттай! Vcc, Gnd, SCL, SDA зүүг зөвхөн дөрвөн холболт шаарддаг бөгөөд эдгээр нь I2C кабелийн тусламжтайгаар холбогддог.
Эдгээр холболтыг дээрх зурган дээр харуулав.
Алхам 3: Хөдөлгөөнийг хянах код:
Бөөрөлзгөнө pi ашиглах давуу тал нь мэдрэгчийг интерфэйстэй холбохын тулд самбарыг програмчлах хэлний уян хатан байдлыг хангаж өгдөг. Энэхүү самбарын давуу талыг ашиглан бид питон дахь програмчлалыг энд харуулав. Python бол хамгийн хялбар синтакс бүхий програмчлалын хамгийн хялбар хэлүүдийн нэг юм. MPU-6000-ийн питон кодыг манай GitHub нийгэмлэгээс татаж авах боломжтой Dcube Store
Хэрэглэгчдэд хялбар байхын тулд бид кодыг энд тайлбарлаж байна.
Кодлох эхний алхам бол энэ номын сан нь кодонд ашиглагддаг функцийг дэмждэг тул питоны хувьд SMBus номын санг татаж авах хэрэгтэй. Тиймээс номын санг татаж авахын тулд та дараах линкээр орж үзэх боломжтой.
pypi.python.org/pypi/smbus-cffi/0.5.1
Та ажлын кодыг эндээс хуулж болно.
smbus импортлох
импортлох хугацаа
# I2C автобус авах = smbus. SMBus (1)
# MPU-6000 хаяг, 0x68 (104)
# Гироскопын тохиргооны бүртгэлийг сонгоно уу, 0x1B (27)
# 0x18 (24) Бүрэн хэмжээний хүрээ = 2000 dps
bus.write_byte_data (0x68, 0x1B, 0x18)
# MPU-6000 хаяг, 0x68 (104)
# Accelerometer тохиргооны бүртгэлийг сонгоно уу, 0x1C (28)
# 0x18 (24) Бүрэн хэмжээний хүрээ = +/- 16g
bus.write_byte_data (0x68, 0x1C, 0x18)
# MPU-6000 хаяг, 0x68 (104)
# Эрчим хүчний удирдлагын бүртгэлийг сонгоно уу1, 0x6B (107)
XGyro лавлагаа бүхий # 0x01 (01) PLL
bus.write_byte_data (0x68, 0x6B, 0x01)
цаг унтах (0.8)
# MPU-6000 хаяг, 0x68 (104)
# Өгөгдлийг 0x3B (59), 6 байтаас буцааж уншина уу
# Хурдасгуур X тэнхлэг MSB, X тэнхлэг LSB, Y тэнхлэг MSB, Y тэнхлэг LSB, Z тэнхлэг MSB, Z тэнхлэг LSB
өгөгдөл = bus.read_i2c_block_data (0x68, 0x3B, 6)
# Өгөгдлийг хөрвүүлэх
xAccl = өгөгдөл [0] * 256 + өгөгдөл [1]
Хэрэв xAccl> 32767 бол:
xAccl -= 65536
yAccl = өгөгдөл [2] * 256 + өгөгдөл [3]
yAccl> 32767 бол:
yAccl -= 65536
zAccl = өгөгдөл [4] * 256 + өгөгдөл [5]
хэрэв zAccl> 32767:
zAccl -= 65536
# MPU-6000 хаяг, 0x68 (104)
# Өгөгдлийг 0x43 (67), 6 байтаас буцааж уншина уу
# Гирометр X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB
өгөгдөл = bus.read_i2c_block_data (0x68, 0x43, 6)
# Өгөгдлийг хөрвүүлэх
xGyro = өгөгдөл [0] * 256 + өгөгдөл [1]
Хэрэв xGyro> 32767 бол:
xGyro -= 65536
yGyro = өгөгдөл [2] * 256 + өгөгдөл [3]
Хэрэв yGyro> 32767 бол:
yGyro -= 65536
zGyro = өгөгдөл [4] * 256 + өгөгдөл [5]
Хэрэв zGyro> 32767 бол:
zGyro -= 65536
# Дэлгэц рүү өгөгдөл гаргана
хэвлэх "X-Axis дахь хурдатгал: %d" %xAccl
хэвлэх "Y тэнхлэг дэх хурдатгал: %d" %yAccl
хэвлэх "Z-Axis дахь хурдатгал: %d" %zAccl
"Эргэлтийн тэнхлэг: %d" %xGyro хэвлэх
"Y-тэнхлэгийн эргэлт: %d" %yGyro хэвлэх
"Z-Эргэлтийн тэнхлэг: %d" %zGyro хэвлэх
Кодыг дараах тушаалыг ашиглан гүйцэтгэнэ.
$> python MPU-6000.py gt; python MPU-6000.py
Мэдрэгчийн гаралтыг хэрэглэгчийн лавлагаанд зориулан дээрх зурагт үзүүлэв.
Алхам 4: Өргөдөл:
MPU-6000 бол хөдөлгөөн хянах мэдрэгч бөгөөд ухаалаг гар утас, таблетуудын хөдөлгөөний интерфейсээс хэрэглээгээ олж чаддаг. Ухаалаг гар утаснуудад эдгээр мэдрэгчийг аппликешн болон утасны удирдлага, сайжруулсан тоглоом, бодит байдал, панорамик зураг авах, үзэх, явган зорчигч, тээврийн хэрэгслийн навигацийн дохио өгөх команд гэх мэт програмуудад ашиглаж болно. MotionTracking технологи нь гар утас, таблетыг хүчирхэг 3D ухаалаг төхөөрөмж болгон хөрвүүлэх боломжтой бөгөөд үүнийг эрүүл мэнд, фитнесийн хяналтаас авахуулаад байршилд суурилсан үйлчилгээнд ашиглах боломжтой юм.
Зөвлөмж болгож буй:
VR -ийн толгойны хөдөлгөөнийг хянах систем: 8 алхам
VR -ийн Head Motion Tracking System: Намайг Сэм КОДО гэдэг. Энэ заавар дээр би танд Arduino IMU мэдрэгчийг ашиглан VR -ийн толгой хянах системийг бий болгох талаар алхам алхамаар зааж өгөх болно. : https: //www.amazon.com/Elecrow-Capacitive-interfac…- Нэг
Хүний нүдний хөдөлгөөнийг хянах: 6 алхам
Хүний нүдний хөдөлгөөнийг хянах: Энэхүү төсөл нь хүний нүдний хөдөлгөөнийг дүрслэх зорилготой бөгөөд нүдний хэлбэртэй байрлуулсан LED гэрлүүд дээр түүний хөдөлгөөнийг харуулдаг. Энэ төрлийн төсөл нь робот техник, ялангуяа хүн төрөлхтний салбарт олон хэрэглээтэй байж магадгүй юм
ITTT Rolando Ritzen - Хөдөлгөөнийг хянах аркад бээлий: 5 алхам
ITTT Rolando Ritzen - Motion Control аркад бээлий Энэхүү төслөөс харахад бүх төрлийн хөдөлгөөнийг хянах боломжтой. (Je schiet door te " хуруугаа чангалах ")
Python ашиглан Raspberry Pi болон LIS3DHTR, 3 тэнхлэг бүхий хурдасгуурын тусламжтайгаар хөдөлгөөнийг хянах: 6 алхам
Python ашиглан Raspberry Pi ба LIS3DHTR-ийн тусламжтайгаар 3 тэнхлэг бүхий хурдасгуурын тусламжтайгаар хөдөлгөөнийг хянах: Гоо сайхан нь биднийг хүрээлж байдаг, гэхдээ бид үүнийг мэдэхийн тулд ихэвчлэн цэцэрлэгт алхах хэрэгтэй болдог. Боловсролтой бүлгийн хувьд бид эрчим хүчнийхээ дийлэнх хэсгийг компьютер, гар утасныхаа өмнө ажилладаг. Тиймээс бид сайн сайхан байдлаа байнга өгдөг
Хэт улаан туяаны мэдрэгч ашиглан нүдний хөдөлгөөнийг хянах: 5 алхам
Хэт улаан туяаны мэдрэгч ашиглан нүдний хөдөлгөөнийг хянах: Би хэт ягаан туяаны мэдрэгч ашиглан нүдний хөдөлгөөнийг мэдэрч, LED -ийг хянадаг