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

Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Digital Python הדרכה: 4 שלבים
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Digital Python הדרכה: 4 שלבים

וִידֵאוֹ: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Digital Python הדרכה: 4 שלבים

וִידֵאוֹ: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Digital Python הדרכה: 4 שלבים
וִידֵאוֹ: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, נוֹבֶמבֶּר
Anonim
Image
Image

ה- MMA8452Q הוא מד תאוצה חכם, בעל הספק נמוך, תלת ציר, קיבולי, מיקרומכני עם 12 סיביות רזולוציה. אפשרויות לתכנות גמישות למשתמש ניתנות בעזרת פונקציות מוטבעות במד התאוצה, הניתנות להגדרה לשני סיכות הפסקה. יש לו קנה מידה מלא לבחירה של ± 2g/± 4g/± 8g עם נתונים מסוננים במעבר גבוה כמו גם נתונים שאינם מסוננים בזמן אמת. להלן ההדגמה שלו עם פטל פאי באמצעות קוד פייתון.

שלב 1: מה שאתה צריך..

מה אתה צריך..!!
מה אתה צריך..!!

1. פטל פטל

2. MMA8452Q

3. כבל I²C

4. מגן I²C עבור פטל פטל

5. כבל אתרנט

שלב 2: חיבורים:

חיבורים
חיבורים
חיבורים
חיבורים
חיבורים
חיבורים
חיבורים
חיבורים

קח מגן I2C לפאי פטל ודחוף אותו בעדינות מעל סיכות ה- gpio של פטל פאי.

לאחר מכן חבר את הקצה האחד של כבל I2C לחיישן MMA8452Q והקצה השני למגן I2C.

חבר גם את כבל ה- Ethernet ל- pi או שאתה יכול להשתמש במודול WiFi.

חיבורים מוצגים בתמונה למעלה.

שלב 3: קוד:

קוד
קוד

ניתן להוריד את קוד הפיתון ל- MMA8452Q ממאגר github שלנו- ControlEverythingCommunity

הנה הקישור.

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

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

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

# מופץ ברישיון רצון חופשי.

# השתמש בו בכל דרך שתרצה, ברווח או בחינם, בתנאי שהוא מתאים לרישיונות של העבודות הקשורות בו.

# MMA8452Q

# קוד זה נועד לעבודה עם מודול מיני MMA8452Q_I2CS I2C.

יבוא smbus

זמן יבוא

# קבל אוטובוס I2C

אוטובוס = smbus. SMBus (1)

כתובת MMA8452Q, 0x1C (28)

# בחר רשום בקרה, 0x2A (42)

# 0x00 (00) מצב Standby

bus.write_byte_data (0x1C, 0x2A, 0x00)

כתובת MMA8452Q, 0x1C (28)

# בחר רשום בקרה, 0x2A (42)

# 0x01 (01) מצב פעיל

bus.write_byte_data (0x1C, 0x2A, 0x01)

כתובת MMA8452Q, 0x1C (28)

# בחר רשם תצורה, 0x0E (14)

# 0x00 (00) הגדר את הטווח ל- +/- 2g

bus.write_byte_data (0x1C, 0x0E, 0x00)

time.sleep (0.5)

כתובת MMA8452Q, 0x1C (28)

# קרא את הנתונים בחזרה מ 0x00 (0), 7 בתים

# רשום סטטוסים, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

data = bus.read_i2c_block_data (0x1C, 0x00, 7)

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

xAccl = (נתונים [1] * 256 + נתונים [2]) / 16

אם xAccl> 2047:

xAccl -= 4096

yAccl = (נתונים [3] * 256 + נתונים [4]) / 16

אם yAccl> 2047:

yAccl -= 4096 ז

Accl = (נתונים [5] * 256 + נתונים [6]) / 16

אם zAccl> 2047:

zAccl -= 4096

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

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

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

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

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

ל- MMA8452Q יש יישומים שונים הכוללים יישומי E-Compass, זיהוי כיוון סטטי הכולל דיוקן/נוף, מעלה/מטה, שמאל/ימין, זיהוי מיקום אחורי/קדמי, מחברת, קורא אלקטרוני וגילוי נפילות ונפילה של מחשב נייד, בזמן אמת. זיהוי אוריינטציה כולל מציאות מדומה ומשוב משוב על מיקום המשתמש בתלת מימד, ניתוח פעילויות בזמן אמת כגון ספירת צעדים מד צעדים, זיהוי נפילה חופשית ל- HDD, גיבוי GPS מתחשב ועוד ועוד.

מוּמלָץ: