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

מדידת האצה באמצעות ADXL345 ו- Arduino Nano: 4 שלבים
מדידת האצה באמצעות ADXL345 ו- Arduino Nano: 4 שלבים

וִידֵאוֹ: מדידת האצה באמצעות ADXL345 ו- Arduino Nano: 4 שלבים

וִידֵאוֹ: מדידת האצה באמצעות ADXL345 ו- Arduino Nano: 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 עבור Arduino Nano

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

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

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

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

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

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

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

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

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

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

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

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

#לִכלוֹל

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

#define Addr 0x53

הגדרת חלל ()

{

// אתחל תקשורת 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);

// בדיקה עצמית מושבתת, ממשק 4 חוטים, רזולוציה מלאה, טווח = +/- 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 ();

}

}

// המר את הנתונים ל -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;

}

// נתוני פלט לצג הסדרתי

Serial.print ("האצה בציר X הוא:");

Serial.println (xAccl);

Serial.print ("האצה בציר Y הוא:");

Serial.println (yAccl);

Serial.print ("האצה בציר Z הוא:");

Serial.println (zAccl);

עיכוב (300);

}

בספריית תיל Wire.write () ו- Wire.read () משמשים לכתיבת הפקודות וקריאת פלט החיישן.

Serial.print () ו- Serial.println () משמשים להצגת פלט החיישן על הצג הטורי של ה- Arduino IDE.

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

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

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

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

מוּמלָץ: