תוכן עניינים:

Raspberry Pi MMA8452Q 3 צירים 12 סיביות/8 סיביות מד תאוצה דיגיטלי Java: 4 שלבים
Raspberry Pi MMA8452Q 3 צירים 12 סיביות/8 סיביות מד תאוצה דיגיטלי Java: 4 שלבים

וִידֵאוֹ: Raspberry Pi MMA8452Q 3 צירים 12 סיביות/8 סיביות מד תאוצה דיגיטלי Java: 4 שלבים

וִידֵאוֹ: Raspberry Pi MMA8452Q 3 צירים 12 סיביות/8 סיביות מד תאוצה דיגיטלי Java: 4 שלבים
וִידֵאוֹ: Octopus Max EZ V1.0 - Basics 2024, יוני
Anonim
Image
Image

ה- MMA8452Q הוא מד תאוצה חכם, בעל הספק נמוך, תלת ציר, קיבולי, מיקרומכני עם 12 סיביות רזולוציה. אפשרויות לתכנות גמישות למשתמש ניתנות בעזרת פונקציות מוטבעות במד התאוצה, הניתנות להגדרה לשני סיכות הפסקה. יש לו קנה מידה מלא לבחירה של ± 2g/± 4g/± 8g עם נתונים מסוננים במעבר גבוה כמו גם נתונים שאינם מסוננים בזמן אמת. להלן ההדגמה שלה עם פטל פאי באמצעות קוד ג'אווה.

שלב 1: מה שאתה צריך..

מה אתה צריך..!!
מה אתה צריך..!!

1. פטל פטל

2. MMA8452Q

3. כבל I²C

4. מגן I²C עבור פטל פטל

5. כבל אתרנט

שלב 2: חיבורים:

חיבורים
חיבורים
חיבורים
חיבורים
חיבורים
חיבורים
חיבורים
חיבורים

קח מגן I2C לפאי פטל ודחוף אותו בעדינות מעל סיכות ה- gpio של פטל פאי.

לאחר מכן חבר את הקצה האחד של כבל I2C לחיישן MMA8452Q והקצה השני למגן I2C.

חבר גם את כבל ה- Ethernet ל- pi או שאתה יכול להשתמש במודול WiFi.

חיבורים מוצגים בתמונה למעלה.

שלב 3: קוד:

קוד
קוד

ניתן להוריד את קוד ה- Java עבור MMA8452Q ממאגר GitHub שלנו- Dcube Store

להלן הקישור לאותו דבר:

github.com/DcubeTechVentures/MMA8452Q

השתמשנו בספריית pi4j עבור קוד java, השלבים להתקנת pi4j על פטל pi מתוארים כאן:

pi4j.com/install.html

אתה יכול גם להעתיק את הקוד מכאן, הוא ניתן כדלקמן:

// מופץ ברישיון רצון חופשי.

// השתמש בו בכל דרך שתרצה, ברווח או בחינם, בתנאי שהוא מתאים לרישיונות של העבודות הקשורות בו.

// MMA8452Q

// קוד זה נועד לעבוד עם מודול ה- MMA8452Q_I2CS I2C הזמין בחנות Dcube.

ייבא com.pi4j.io.i2c. I2CBus;

ייבא com.pi4j.io.i2c. I2CDevice;

יבוא com.pi4j.io.i2c. I2CFactory;

יבוא java.io. IOException;

מעמד ציבורי MMA8452Q

{

פוסט סטטי ציבורי ריק (String args ) זורק חריגה

{

// צור אוטובוס I2C

אוטובוס I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// קבל מכשיר I2C, כתובת MMA8452Q I2C היא 0x1C (28)

מכשיר I2CDevice = bus.getDevice (0x1C);

// שלח פקודת המתנה

device.write (0x2A, (בייט) 0x00);

// שלח פקודה פעילה

device.write (0x2A, (בייט) 0x01);

// הגדר טווח עד +/- 2 גרם

device.write (0x0E, (בייט) 0x00);

Thread.sleep (500);

// קרא 7 בתים של נתונים מהכתובת 0x00 (0)

// סטטוס, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

בייט נתונים = בייט חדש [7];

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

// המר את הערכים

int xAccl = (((נתונים [1] & 0xFF) * 256) + (נתונים [2] & 0xFF)) / 16;

אם (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

int yAccl = (((נתונים [3] & 0xFF) * 256) + (נתונים [4] & 0xFF)) / 16;

אם (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

int zAccl = (((נתונים [5] & 0xFF) * 256) + (נתונים [6] & 0xFF)) / 16;

אם (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// נתוני פלט למסך

System.out.printf ("ציר X: %d %n", xAccl);

System.out.printf ("ציר Y: %d %n", yAccl);

System.out.printf ("ציר Z: %d %n", zAccl);

}

}

שלב 4: יישומים:

ל- MMA8452Q יש יישומים שונים הכוללים יישומי E-Compass, זיהוי כיוון סטטי הכולל דיוקן/נוף, מעלה/מטה, שמאל/ימין, זיהוי מיקום אחורי/קדמי, מחברת, קורא אלקטרוני וגילוי נפילות ונפילה של מחשב נייד, בזמן אמת. זיהוי אוריינטציה כולל מציאות מדומה ומשוב משוב על מיקום המשתמש בתלת מימד, ניתוח פעילויות בזמן אמת כגון ספירת צעדים מד צעדים, זיהוי נפילה חופשית ל- HDD, גיבוי GPS מתחשב ועוד ועוד.

מוּמלָץ: