Mündəricat:
Video: Arduino Nano-MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Təlimatı: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
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..
1. Arduino Nano
2. MMA8452Q
3. I²C Kabel
4. Arduino Nano üçün I²C Shield
Addım 2: 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:
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ə:
Raspberry Pi - ADXL345 3 Eksenli Akselerometr Python Dərsliyi: 4 Addım
Raspberry Pi-ADXL345 3 Eksenli Akselerometr Python Dərsliyi: ADXL345, kiçik, nazik, ultralow gücə malik, 3 oxlu, yüksək qətnamə (13-bit) ölçmə qabiliyyəti olan ± 16 qr. Rəqəmsal çıxış məlumatları 16 bitlik ikili tamamlayıcı olaraq formatlanır və I2 C rəqəmsal interfeysi ilə əldə edilə bilər. Ölçür
Python istifadə edərək Raspberry Pi və LIS3DHTR, 3 Eksenli Akselerometr ilə Hərəkət Nəzarəti: 6 Addım
Python istifadə edərək Raspberry Pi və LIS3DHTR ilə 3 Eksenli Akselerometr ilə Hərəkət Nəzarəti: Gözəllik bizi əhatə edir, amma adətən bunu bilmək üçün bir bağda gəzmək lazımdır. Göründüyü kimi təhsilli bir qrup olaraq, enerjimizin böyük bir hissəsini kompüterlərimizdən və cib telefonlarımızdan əvvəl işə sərf edirik. Buna görə də tez -tez sağlamlığımıza icazə veririk
Rəqəmsal Nəticələri Göstərən 4 Bitlik Əlavə Dövrə: 9 Addım
Rəqəmsal Nəticələr Ekranı ilə 4 Bitlik Əlavə Dövrə: Bu, yeddi seqmentli displeydən, yeddi seqment sürücüsündən, AND, OR, NOT və İki 4 bitlik rəqəmi bir araya gətirən və nəticələrini qaytaran EXOR qapıları. O
Python istifadə edərək Raspberry Pi ilə 3 Eksenli Akselerometr, ADXL345: 6 Addım
Python istifadə edərək Raspberry Pi ilə 3 Eksenli Akselerometr, ADXL345: Offroaderinizin uzanmaq üçün əyilmiş nöqtəsini yoxlaya bilən bir cihaz haqqında düşünmək. Çevrilmə ehtimalı olduqda birinin düzəldilməsi xoş olmazmı? Aydındır ki, bəli. Doğrudan da olardı
3 Eksenli Akselerometr LIS2HH12 Modulu: 10 Addım (Şəkillərlə)
3 Eksenli Akselerometr LIS2HH12 Modulu: Bu Təlimat, arduino proqram təminatı və lehimləmə təcrübəsi olan bir başlanğıc səviyyəsi hesab olunur. LIS2HH12 Modulu Tiny9 tərəfindən hazırlanmışdır. Tiny9, DIY tinkers, şirkətlər və ya ixtiraçılar üçün sensor modulları satan yeni bir şirkətdir. Orada