Mündəricat:

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

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

Video: Raspberry Pi MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Java 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. Java kodundan 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 Java kodu GitHub depomuzdan yüklənə bilər- Dcube Mağazası

İşdə bunun üçün bağlantı:

github.com/DcubeTechVentures/MMA8452Q

Java kodu üçün pi4j kitabxanasından istifadə etdik, moruq pi üzərində pi4j quraşdırma addımları burada təsvir edilmişdir:

pi4j.com/install.html

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

// Azad iradə lisenziyası ilə paylanmışdır.

// İstənilən şəkildə, mənfəət və ya pulsuz istifadə edin, əlaqəli əsərlərinin lisenziyalarına uyğun gəlir.

// MMA8452Q

// Bu kod, Dcube Store -da mövcud olan MMA8452Q_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır.

com.pi4j.io.i2c. I2CBus idxal edin;

com.pi4j.io.i2c. I2CDevice idxal edin;

com.pi4j.io.i2c. I2CFactory idxal edin;

java.io. IOException idxal edin;

ictimai sinif MMA8452Q

{

public static void main (String args ) İstisna atır

{

// I2C avtobusu yaradın

I2CBus avtobusu = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C cihazı alın, MMA8452Q I2C ünvanı 0x1C (28)

I2CDevice cihazı = bus.getDevice (0x1C);

// Gözləmə əmri göndərin

device.write (0x2A, (bayt) 0x00);

// Aktiv əmr göndər

device.write (0x2A, (bayt) 0x01);

// Aralığı +/- 2g-ə qədər təyin edin

device.write (0x0E, (bayt) 0x00);

Thread.sleep (500);

// 0x00 (0) ünvanından 7 bayt məlumat oxuyun

// Status, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

bayt məlumat = yeni bayt [7];

device.read (0x00, data, 0, 7);

// Dəyərləri çevirin

int xAccl = (((data [1] & 0xFF) * 256) + (data [2] & 0xFF)) / 16;

əgər (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

int yAccl = (((data [3] & 0xFF) * 256) + (data [4] & 0xFF)) / 16;

əgər (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

int zAccl = (((data [5] & 0xFF) * 256) + (data [6] & 0xFF)) / 16;

əgər (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// Ekrana məlumat çıxarın

System.out.printf ("X-Axis: %d %n", xAccl);

System.out.printf ("Y-Axis: %d %n", yAccl);

System.out.printf ("Z-Axis: %d %n", 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ə: