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

מדידת האצה באמצעות BMA250 ופוטון חלקיקים: 4 שלבים
מדידת האצה באמצעות BMA250 ופוטון חלקיקים: 4 שלבים

וִידֵאוֹ: מדידת האצה באמצעות BMA250 ופוטון חלקיקים: 4 שלבים

וִידֵאוֹ: מדידת האצה באמצעות BMA250 ופוטון חלקיקים: 4 שלבים
וִידֵאוֹ: על הבר: מדידת אפקטיביות כמנוף להגדלת האימפקט // לבנה שיפמן וקרול ביבס ברקן 2024, נוֹבֶמבֶּר
Anonim
Image
Image

BMA250 הוא מד תאוצה קטן, דק, אולטרה-נמוך, בעל 3 צירים עם מדידה ברזולוציה גבוהה (13 סיביות) עד ± 16 גרם. נתוני הפלט הדיגיטליים מעוצבים כהשלמה של 16 סיביות ונגישים באמצעות ממשק דיגיטלי I2C. הוא מודד את האצת הכובד הסטטית ביישומי חישת הטיה, כמו גם האצה דינמית הנובעת מתנועה או הלם. הרזולוציה הגבוהה שלה (3.9 מ ג/LSB) מאפשרת מדידה של שינויי הנטייה הנמוכים מ -1.0 °.

במדריך זה אנו הולכים למדוד את ההאצה בכל שלושת הצירים הניצבים באמצעות BMA250 ופוטון חלקיקים.

שלב 1: חומרה נדרשת:

חומרה נדרשת
חומרה נדרשת
חומרה נדרשת
חומרה נדרשת
חומרה נדרשת
חומרה נדרשת

החומרים הדרושים לנו להגשמת מטרתנו כוללים את רכיבי החומרה הבאים:

1. BMA250

2. פוטון חלקיקים

3. כבל I2C

4. מגן I2C לפוטון חלקיקים

שלב 2: חיבור חומרה:

חיבור חומרה
חיבור חומרה
חיבור חומרה
חיבור חומרה

סעיף חיבור החומרה מסביר בעצם את חיבורי החיווט הנדרשים בין החיישן לפוטון החלקיקים. הבטחת חיבורים נכונים היא ההכרח הבסיסי בעת עבודה על כל מערכת לתפוקה הרצויה. אז, החיבורים הנדרשים הם כדלקמן:

ה- BMA250 יעבוד על I2C. להלן תרשים החיווט לדוגמה, המדגים כיצד לחבר כל ממשק של החיישן.

הלוח מחוץ לקופסה מוגדר לממשק I2C, ולכן אנו ממליצים להשתמש בחיבור זה אם אתה אגנוסטי אחרת. כל מה שאתה צריך זה ארבעה חוטים!

רק ארבעה חיבורים נדרשים סיכות Vcc, Gnd, SCL ו- SDA ואלו מחוברים בעזרת כבל I2C.

קשרים אלה מודגמים בתמונות למעלה.

שלב 3: קוד למדידת האצה:

קוד למדידת האצה
קוד למדידת האצה

נתחיל עם קוד החלקיקים עכשיו.

בעת השימוש במודול החיישנים עם הארדואינו, אנו כוללים את ספריית application.h ו- spark_wiring_i2c.h. הספרייה "application.h" ו- spark_wiring_i2c.h מכילה את הפונקציות המאפשרות תקשורת i2c בין החיישן לחלקיק.

קוד החלקיקים כולו ניתן להלן לנוחות המשתמש:

#לִכלוֹל

#לִכלוֹל

// כתובת BMA250 I2C היא 0x18 (24)

#define Addr 0x18

int xAccl = 0, yAccl = 0, zAccl = 0;

הגדרת חלל ()

{

// הגדר משתנה

Particle.variable ("i2cdevice", "BMA250");

Particle.variable ("xAccl", xAccl);

Particle.variable ("yAccl", yAccl);

Particle.variable ("zAccl", zAccl);

// אתחל את תקשורת I2C כ- MASTER

Wire.begin ();

// אתחל תקשורת טורית, הגדר קצב שידור = 9600

Serial.begin (9600);

// התחל את שידור I2C

Wire.beginTransmission (Addr);

// בחר את רשימת בחירת הטווח

Wire.write (0x0F);

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

Wire.write (0x03);

// עצור את שידור I2C

Wire.endTransmission ();

// התחל את שידור I2C

Wire.beginTransmission (Addr);

// בחר מרשם רוחב פס

Wire.write (0x10);

// הגדר רוחב פס 7.81 הרץ

Wire.write (0x08);

// עצור את שידור I2C

Wire.endTransmission ();

עיכוב (300);}

לולאת חלל ()

{

נתוני int ללא חתום [0];

// התחל את שידור I2C

Wire.beginTransmission (Addr);

// בחר רישומי נתונים (0x02 - 0x07)

Wire.write (0x02);

// עצור את שידור I2C

Wire.endTransmission ();

// בקש 6 בתים

Wire.requestFrom (Addr, 6);

// קרא את ששת הבייטים

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

אם (Wire.available () == 6)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

data [2] = Wire.read ();

data [3] = Wire.read ();

data [4] = Wire.read ();

data [5] = Wire.read ();

}

עיכוב (300);

// המר את הנתונים ל -10 סיביות

xAccl = ((נתונים [1] * 256) + (נתונים [0] & 0xC0)) / 64;

אם (xAccl> 511)

{

xAccl -= 1024;

}

yAccl = ((נתונים [3] * 256) + (נתונים [2] & 0xC0)) / 64;

אם (yAccl> 511)

{

yAccl -= 1024;

}

zAccl = ((נתונים [5] * 256) + (נתונים [4] & 0xC0)) / 64;

אם (zAccl> 511)

{

zAccl -= 1024;

}

// נתוני פלט ללוח המחוונים

Particle.publish ("האצה בציר X:", מחרוזת (xAccl));

עיכוב (1000);

Particle.publish ("האצה בציר Y:", מחרוזת (yAccl));

עיכוב (1000);

Particle.publish ("האצה בציר Z:", מחרוזת (zAccl));

עיכוב (1000);

}

הפונקציה Particle.variable () יוצרת את המשתנים לאחסון הפלט של החיישן והפונקציה Particle.publish () מציגה את הפלט בלוח המחוונים של האתר.

פלט החיישן מוצג בתמונה למעלה לעיונך.

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

יישומים
יישומים

מדי תאוצה כמו BMA250 מוצאים בעיקר את היישום שלה במשחקים ומחליפים פרופיל תצוגה. מודול חיישן זה מועסק גם במערכת ניהול החשמל המתקדמת ליישומים ניידים. BMA250 הוא חיישן האצה דיגיטלי טריאקסיאלי המשולב עם בקר מפסק תנועה מופעל על שבב.

מוּמלָץ: