Mündəricat:

Raspberry Pi MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Python Dərsliyi: 4 addım
Raspberry Pi MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Python Dərsliyi: 4 addım

Video: Raspberry Pi MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Python Dərsliyi: 4 addım

Video: Raspberry Pi MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Python Dərsliyi: 4 addım
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, Iyul
Anonim
Image
Image

MMA8452Q, 12 bit qətnamə ilə ağıllı, aşağı güclü, üç oxlu, tutumlu, mikromaşinli sürətləndiricidir. İstifadəçi tərəfindən proqramlaşdırıla bilən seçimlər, iki fasilə sancağına konfiqurasiya edilə bilən akselerometrdə quraşdırılmış funksiyaların köməyi ilə təmin edilir. İstifadəçinin seçə biləcəyi tam ölçülü ± 2g/± 4g/± 8g yüksək keçid filtrli məlumatları və real vaxtda süzülməmiş məlumatları var. Python kodu istifadə edərək moruq pi ilə nümayişidir.

Addım 1: Nə Lazımdır..

Nə Lazımdır.. !!
Nə Lazımdır.. !!

1. Moruq Pi

2. MMA8452Q

3. I²C Kabel

4. Raspberry Pi üçün I²C Qalxanı

5. Ethernet Kabeli

Addım 2: Bağlantılar:

Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr

Moruq pi üçün bir I2C qalxanı götürün və moruq pi gpio sancaqlarının üzərinə yumşaq bir şəkildə itələyin.

Sonra I2C kabelinin bir ucunu MMA8452Q sensoruna, digər ucunu isə I2C ekranına bağlayın.

Ayrıca Ethernet kabelini pi -yə qoşun və ya WiFi modulundan istifadə edə bilərsiniz.

Bağlantılar yuxarıdakı şəkildə göstərilmişdir.

Addım 3: Kod:

Kod
Kod

MMA8452Q üçün python kodu github depomuzdan yüklənə bilər- ControlEverythingCommunity

İşdə link.

Python kodu üçün SMBus kitabxanasından istifadə etmişik, moruq pi üzərində SMBus quraşdırma addımları burada təsvir edilmişdir:

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

Kodu buradan da kopyalaya bilərsiniz, belə verilir:

# Sərbəst iradə lisenziyası ilə paylandı.

# Əlaqədar əsərlərinin lisenziyalarına uyğun olması şərtilə, mənfəət və ya pulsuz olaraq istədiyiniz şəkildə istifadə edin.

# MMA8452Q

# Bu kod MMA8452Q_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır.

smbus idxal edin

idxal vaxtı

# I2C avtobusu alın

avtobus = smbus. SMBus (1)

# MMA8452Q ünvanı, 0x1C (28)

# İdarəetmə qeydini seçin, 0x2A (42)

# 0x00 (00) StandBy rejimi

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

# MMA8452Q ünvanı, 0x1C (28)

# İdarəetmə qeydini seçin, 0x2A (42)

# 0x01 (01) Aktiv rejim

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

# MMA8452Q ünvanı, 0x1C (28)

# Konfiqurasiya qeydini seçin, 0x0E (14)

# 0x00 (00) Aralığı +/- 2g olaraq təyin edin

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

vaxt.yuxu (0.5)

# MMA8452Q ünvanı, 0x1C (28)

# 0x00 (0), 7 baytdan məlumatları geri oxuyun

# Status qeydiyyatı, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

data = bus.read_i2c_block_data (0x1C, 0x00, 7)

# Məlumatları çevirin

xAccl = (data [1] * 256 + data [2]) / 16

əgər xAccl> 2047:

xAccl -= 4096

yAccl = (data [3] * 256 + data [4]) / 16

yAccl> 2047 olarsa:

yAccl -= 4096 z

Accl = (data [5] * 256 + data [6]) / 16

əgər zAccl> 2047:

zAccl -= 4096

# Ekrana məlumat çıxarın

çap "X Eksenində Sürətləndirmə: %d" %xAccl

çap "Y Eksenində Sürətləndirmə: %d" %yAccl

çap "Z Eksenində Sürətləndirmə: %d" %zAccl

Addım 4: Tətbiqlər:

MMA8452Q, E-Pusula tətbiqləri, Portret/Landşaft, Yuxarı/Aşağı, Sol/Sağ, Arxa/Ön mövqe identifikasiyası, Notebook, e-oxucu və Laptop Tumble and Freefall Detection, Real-time daxil olan Statik oriyentasiya aşkarlamasını özündə birləşdirən müxtəlif tətbiqlərə malikdir. virtual reallıq və oyun 3D istifadəçi mövqeyi geribildirimi, pedometr addım sayma, HDD üçün sərbəst düşmə algılama, ölü hesablama GPS ehtiyatı və daha çox kimi real vaxt fəaliyyət təhlili də daxil olmaqla oriyentasiya aşkarlanması.

Tövsiyə: