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

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

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

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

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

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

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

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

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

1. H3LIS331DL

2. פטל פטל

3. כבל I2C

4. מגן I2C לפאי פטל

5. כבל אתרנט

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

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

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

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

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

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

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

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

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

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

בנוסף לנוחות המשתמשים, אנו מסבירים את הקוד גם כאן:

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

pypi.python.org/pypi/smbus-cffi/0.5.1

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

יבוא smbus

זמן יבוא

# קבל אוטובוס I2C = smbus. SMBus (1)

כתובת H3LIS331DL, 0x18 (24)

# בחר פקד בקרה 1, 0x20 (32)

# 0x27 (39) מצב הפעלה, קצב פלט נתונים = 50 הרץ# X, Y, Z-Axis מופעל

bus.write_byte_data (0x18, 0x20, 0x27)

# H3LIS331DL כתובת, 0x18 (24)# בחר פקד בקרה 4, 0x23 (35)

# 0x00 (00) עדכון מתמשך, בחירה בקנה מידה מלא = +/- 100 גרם

bus.write_byte_data (0x18, 0x23, 0x00)

time.sleep (0.5)

כתובת H3LIS331DL, 0x18 (24)

# קרא נתונים בחזרה מ 0x28 (40), 2 בתים

# X-Axis LSB, X-Axis MSB

data0 = bus.read_byte_data (0x18, 0x28)

data1 = bus.read_byte_data (0x18, 0x29)

# המר את dataxAccl = data1 * 256 + data0

אם xAccl> 32767:

xAccl -= 65536

כתובת H3LIS331DL, 0x18 (24)

# קרא נתונים בחזרה מ 0x2A (42), 2 בתים

# Y-Axis LSB, Y-Axis MSB

data0 = bus.read_byte_data (0x18, 0x2A)

data1 = bus.read_byte_data (0x18, 0x2B)

# המרת הנתונים

yAccl = data1 * 256 + data0

אם yAccl> 32767:

yAccl -= 65536

כתובת H3LIS331DL, 0x18 (24)

# קרא נתונים בחזרה מ 0x2C (44), 2 בתים

# Z-Axis LSB, Z-Axis MSB

data0 = bus.read_byte_data (0x18, 0x2C)

data1 = bus.read_byte_data (0x18, 0x2D)

# המרת הנתונים

zAccl = data1 * 256 + data0

אם zAccl> 32767:

zAccl -= 65536

# פלט נתונים למסך

-"האצה בציר X: %d" %xAccl

-"האצה בציר Y: %d" %yAccl

-"האצה בציר Z: %d" %zAccl

הקוד מבוצע באמצעות הפקודה הבאה:

$> python H3LIS331DL.py gt; python H3LIS331DL.py

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

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

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

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

מוּמלָץ: