Mündəricat:

Arduino Nano-MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Təlimatı: 4 addım
Arduino Nano-MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Təlimatı: 4 addım

Video: Arduino Nano-MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Təlimatı: 4 addım

Video: Arduino Nano-MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Təlimatı: 4 addım
Video: BeagleBone Black MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer 'C' Code 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. İşdə Arduino nano ilə nümayişidir.

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

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

1. Arduino Nano

2. MMA8452Q

3. I²C Kabel

4. Arduino Nano üçün I²C Shield

Addım 2: Bağlantı:

Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı
Bağlantı

Arduino Nano üçün bir I2C qalxanı götürün və Nanonun sancaqlarından yumşaq bir şəkildə itələyin.

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

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

Addım 3: Kod:

Kod
Kod

MMMA8452Q üçün arduino kodu github depomuzdan yüklənə bilər- DCUBE Mağazası.

İşdə link.

Sensorun Arduino lövhəsi ilə I2c əlaqəsini asanlaşdırmaq üçün Wire.h kitabxanasına daxildir.

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 MMA8452Q_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır.

#daxil edin

// MMA8452Q I2C ünvanı 0x1C (28)

#Addr 0x1C təyin edin

boş quraşdırma ()

{

// I2C ünsiyyətini MASTER olaraq başladın

Wire.begin ();

// Serial Rabitəni Başlatın, baud dərəcəsini = 9600 olaraq təyin edin

Serial.begin (9600);

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// Nəzarət reyestrini seçin

Wire.write (0x2A);

// Gözləmə rejimi

Wire.write (0x00);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// Nəzarət reyestrini seçin

Wire.write (0x2A);

// Aktiv rejim

Wire.write (0x01);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// Nəzarət reyestrini seçin

Wire.write (0x0E);

// Aralığı +/- 2g olaraq təyin edin

Wire.write (0x00);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

gecikmə (300);

}

boşluq döngəsi ()

{

imzasız int data [7];

// 7 bayt məlumat tələb edin

Wire.requestFrom (Addr, 7);

// 7 bayt məlumat oxuyun

// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

əgər (Tel.available () == 7)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

data [2] = Wire.read ();

data [3] = Wire.read ();

data [4] = Wire.read ();

data [5] = Wire.read ();

data [6] = Wire.read ();

}

// Məlumatı 12 bitə çevirin

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

əgər (xAccl> 2047)

{

xAccl -= 4096;

}

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

əgər (yAccl> 2047)

{

yAccl -= 4096;

}

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

əgər (zAccl> 2047)

{

zAccl -= 4096;

}

// Məlumatların serial monitora çıxarılması

Serial.print ("X-Eksenində Sürətləndirmə:");

Serial.println (xAccl);

Serial.print ("Y Eksenində Sürətləndirmə:");

Serial.println (yAccl);

Serial.print ("Z Eksenində Sürətləndirmə:");

Serial.println (zAccl);

gecikmə (500);

}

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ə: