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

Raspberry Pi MMA8452Q 3 тэнхлэг 12 бит/8 битийн дижитал хурдасгуур Python заавар: 4 алхам
Raspberry Pi MMA8452Q 3 тэнхлэг 12 бит/8 битийн дижитал хурдасгуур Python заавар: 4 алхам

Видео: Raspberry Pi MMA8452Q 3 тэнхлэг 12 бит/8 битийн дижитал хурдасгуур Python заавар: 4 алхам

Видео: Raspberry Pi MMA8452Q 3 тэнхлэг 12 бит/8 битийн дижитал хурдасгуур Python заавар: 4 алхам
Видео: RAMPS 1.6 - Basics 2024, Оны зургадугаар сарын
Anonim
Image
Image

MMA8452Q нь ухаалаг, бага чадалтай, гурван тэнхлэгтэй, багтаамж сайтай, бичил машинтай 12 битийн нарийвчлалтай хурд хэмжигч юм. Хэрэглэгчийн програмчлагдах уян хатан сонголтуудыг акселерометрт суулгасан функцүүдийн тусламжтайгаар хангадаг бөгөөд хоёр таслалтын зүүгээр тохируулж болно. Энэ нь хэрэглэгчийн сонгож болох ± 2g/± 4g/± 8g хэмжээтэй бөгөөд өндөр нэвтрүүлэх шүүлтүүрээр шүүсэн өгөгдөл, мөн бодит цаг хугацаанд шүүлтүүргүй өгөгдлийг агуулсан болно. Python кодыг ашиглан бөөрөлзгөнө pi -тэй хийсэн жагсаал энд байна.

Алхам 1: Танд хэрэгтэй зүйл..

Чамд юу хэрэгтэй вэ..!!
Чамд юу хэрэгтэй вэ..!!

1. Raspberry Pi

2. MMA8452Q

3. I²C кабель

4. Raspberry Pi -ийн I²C бамбай

5. Ethernet кабель

Алхам 2: Холболтууд:

Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд

Бөөрөлзгөнө pi -д зориулсан I2C бамбай аваад бөөрөлзгөнө pi -ийн gpio тээглүүрээр зөөлөн дарна уу.

Дараа нь I2C кабелийн нэг үзүүрийг MMA8452Q мэдрэгч рүү, нөгөө үзүүрийг I2C бамбай руу холбоно.

Мөн Ethernet кабелийг pi руу холбоно уу, эсвэл WiFi модулийг ашиглаж болно.

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

Алхам 3: Код:

Код
Код

MMA8452Q-ийн питон кодыг манай github репозитороос татаж авч болно- ControlEverythingCommunity

Энд линк байна.

Бид SMBus номын санг python кодонд ашигласан бөгөөд бөөрөлзгөнө pi дээр SMBus суулгах алхамуудыг энд тайлбарласан болно.

pypi.python.org/pypi/smbus-cffi/0.5.1

Та мөн кодыг эндээс хуулж болно, үүнийг дараах байдлаар өгсөн болно.

# Чөлөөт зөвшөөрлийн лицензээр тараасан.

# Үүнийг холбогдох бүтээлүүдийнхээ лицензтэй тохирч байвал хүссэн хэлбэрээр ашиг, үнэгүй ашиглах боломжтой.

# MMA8452Q

# Энэ код нь MMA8452Q_I2CS I2C Mini модультай ажиллахад зориулагдсан болно.

smbus импортлох

импортлох хугацаа

# I2C автобус авах

автобус = smbus. SMBus (1)

# MMA8452Q хаяг, 0x1C (28)

# Хяналтын бүртгэлийг сонгоно уу, 0x2A (42)

# 0x00 (00) StandBy горим

bus.write_byte_data (0x1C, 0x2A, 0x00)

# MMA8452Q хаяг, 0x1C (28)

# Хяналтын бүртгэлийг сонгоно уу, 0x2A (42)

# 0x01 (01) Идэвхтэй горим

bus.write_byte_data (0x1C, 0x2A, 0x01)

# MMA8452Q хаяг, 0x1C (28)

# Тохиргооны бүртгэлийг сонгоно уу, 0x0E (14)

# 0x00 (00) Хүрээг +/- 2g болгож тохируулна уу

bus.write_byte_data (0x1C, 0x0E, 0x00)

цаг унтах (0.5)

# MMA8452Q хаяг, 0x1C (28)

# Өгөгдлийг 0x00 (0), 7 байтаас буцааж уншина уу

# Статусын бүртгэл, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

өгөгдөл = bus.read_i2c_block_data (0x1C, 0x00, 7)

# Өгөгдлийг хөрвүүлэх

xAccl = (өгөгдөл [1] * 256 + өгөгдөл [2]) / 16

хэрэв xAccl> 2047:

xAccl -= 4096

yAccl = (өгөгдөл [3] * 256 + өгөгдөл [4]) / 16

хэрэв yAccl> 2047:

yAccl -= 4096 z

Accl = (өгөгдөл [5] * 256 + өгөгдөл [6]) / 16

хэрэв zAccl> 2047:

zAccl -= 4096

# Дэлгэц рүү өгөгдөл гаргана

хэвлэх "X-Axis дахь хурдатгал: %d" %xAccl

хэвлэх "Y тэнхлэг дэх хурдатгал: %d" %yAccl

хэвлэх "Z-Axis дахь хурдатгал: %d" %zAccl

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

MMA8452Q нь электрон луужингийн програмууд, хөрөг/ландшафт, дээш/доош, зүүн/баруун, арын/урд байрлалыг тодорхойлох, тэмдэглэлийн дэвтэр, цахим уншигч, зөөврийн компьютерын уналт ба чөлөөт уналтыг илрүүлэх зэрэг статик чиг баримжаа илрүүлэлтийг багтаасан төрөл бүрийн програмуудтай. Виртуал бодит байдал, тоглоомын 3D хэрэглэгчийн байр суурийн талаархи санал хүсэлт, алхам хэмжигч алхам тоолох, HDD-ийн уналт бууралт, GPS-ийн нөөцлөлт гэх мэт бодит цагийн үйл ажиллагааны дүн шинжилгээ гэх мэт чиг баримжааны илрүүлэлт.

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