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

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

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

וִידֵאוֹ: מדידת האצה באמצעות ADXL345 ופוטון חלקיקים: 4 שלבים
וִידֵאוֹ: The Gravity Sensor 2024, נוֹבֶמבֶּר
Anonim
Image
Image

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

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

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

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

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

1. ADXL345

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

3. כבל I2C

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

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

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

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

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

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

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

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

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

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

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

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

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

#לִכלוֹל

#לִכלוֹל

// כתובת ADXL345 I2C היא 0x53 (83)

#define Addr 0x53

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

הגדרת חלל ()

{

// הגדר משתנה

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

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 (0x2C);

// בחר קצב נתוני פלט = 100 הרץ

Wire.write (0x0A);

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

Wire.endTransmission ();

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

Wire.beginTransmission (Addr);

// בחר מרשם בקרת כוח

Wire.write (0x2D);

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

Wire.write (0x08);

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

Wire.endTransmission ();

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

Wire.beginTransmission (Addr);

// בחר רישום בפורמט נתונים

Wire.write (0x31);

// בחר ברזולוציה מלאה, +/- 2 גרם

Wire.write (0x08);

// סיום שידור I2C

Wire.endTransmission ();

עיכוב (300);

}

לולאת חלל ()

{

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

עבור (int i = 0; i <6; i ++)

{

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

Wire.beginTransmission (Addr);

// בחר רישום נתונים

Wire.write ((50+i));

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

Wire.endTransmission ();

// בקש נתון אחד של נתונים מהמכשיר

Wire.requestFrom (Addr, 1);

// קרא 6 בתים של נתונים

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

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

{

data = Wire.read ();

}

עיכוב (300);

}

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

int xAccl = (((נתונים [1] & 0x03) * 256) + נתונים [0]);

אם (xAccl> 511)

{

xAccl -= 1024;

}

int yAccl = (((נתונים [3] & 0x03) * 256) + נתונים [2]);

אם (yAccl> 511)

{

yAccl -= 1024;

}

int zAccl = (((נתונים [5] & 0x03) * 256) + נתונים [4]);

אם (zAccl> 511)

{

zAccl -= 1024;

}

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

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

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

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

}

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

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

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

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

ADXL345 הוא מד קטן, דק, אולטרה-נמוך, מד תאוצה בעל 3 צירים, שניתן להשתמש בו במכשירי טלפון, מכשור רפואי וכו '. יישומו כולל גם מכשירי משחק והצבעה, מכשור תעשייתי, התקני ניווט אישיים והגנה על כונן קשיח (HDD).

מוּמלָץ: