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

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

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

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

H3LIS331DL, הוא מד תאוצה ליניארי בעל 3 צירים בעל ביצועים נמוכים בעל עוצמה נמוכה השייך למשפחת ה"ננו ", עם ממשק סידורי I²C דיגיטלי. ל- H3LIS331DL יש קנה מידה מלא לבחירה של ± 100g/± 200g/± 400g והוא מסוגל למדוד תאוצות עם קצבי נתוני פלט מ- 0.5 הרץ עד 1 קילוהרץ. H3LIS331DL מובטח לפעול בטווח טמפרטורות מורחב שבין -40 ° C ל- +85 ° C.

במדריך זה אנו הולכים להדגים את הממשק של H3LIS331DL עם Arduino Nano.

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

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

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

1. H3LIS331DL

2. ארדואינו ננו

3. כבל I2C

4. מגן I2C עבור Arduino Nano

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

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

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

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

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

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

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

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

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

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

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

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

#לִכלוֹל

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

#define Addr 0x18

הגדרת חלל ()

{

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

Wire.begin ();

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

Serial.begin (9600);

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

Wire.beginTransmission (Addr);

// בחר פנקס בקרה 1

Wire.write (0x20);

// אפשר ציר X, Y, Z, מצב הפעלה, קצב פלט נתונים 50Hz

Wire.write (0x27);

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

Wire.endTransmission ();

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

Wire.beginTransmission (Addr);

// בחר בקרת בקרה 4

Wire.write (0x23);

// הגדר קנה מידה מלא, +/- 100 גרם, עדכון רציף

Wire.write (0x00);

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

Wire.endTransmission ();

עיכוב (300);

}

לולאת חלל ()

{

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

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

{

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

Wire.beginTransmission (Addr);

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

Wire.write ((40+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);

// המר את הנתונים

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

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

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

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

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

Serial.println (xAccl);

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

Serial.println (yAccl);

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

Serial.println (zAccl);

עיכוב (300);

}

כל שעליך לעשות הוא לצרוב את הקוד בארדואינו ולבדוק את הקריאות שלך ביציאה טורית. הפלט מוצג בתמונה למעלה.

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

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

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

מוּמלָץ: