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

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

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

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

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

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

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

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

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

1. BMA250

2. פטל פטל

3. כבל I2C

4. מגן I2C עבור פטל פטל

5. כבל אתרנט

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

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

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

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

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

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

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

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

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

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

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

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

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

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

יבוא smbus

זמן יבוא

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

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

# בחר רשימת בחירת טווח, 0x0F (15)

# 0x03 (03) הגדר טווח = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)

# כתובת BMA250, 0x18 (24)# בחר מרשם רוחב פס, 0x10 (16)

# 0x08 (08) רוחב פס = 7.81 Hzbus.write_byte_data (0x18, 0x10, 0x08)

time.sleep (0.5)

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

# קרא נתונים בחזרה מ 0x02 (02), 6 בתים

# X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB

data = bus.read_i2c_block_data (0x18, 0x02, 6)

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

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

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

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

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

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

$> python BMA250.py gt; python BMA250.py

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

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

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

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

מוּמלָץ: