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

Raspberry Pi - מדריך פייתון ADXL345 3 -Axis Accelerometer הדרכה: 4 שלבים
Raspberry Pi - מדריך פייתון ADXL345 3 -Axis Accelerometer הדרכה: 4 שלבים

וִידֵאוֹ: Raspberry Pi - מדריך פייתון ADXL345 3 -Axis Accelerometer הדרכה: 4 שלבים

וִידֵאוֹ: Raspberry Pi - מדריך פייתון ADXL345 3 -Axis Accelerometer הדרכה: 4 שלבים
וִידֵאוֹ: Gyroscope with arduino 2024, יולי
Anonim

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

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

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

1. פטל פטל

2. ADXL345

3. כבל I²C

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

5. כבל אתרנט

שלב 2: חיבור:

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

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

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

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

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

שלב 3: קוד:

קוד
קוד

ניתן להוריד את קוד הפיתון ל- ADXL345 ממאגר GitHub שלנו- חנות Dcube

להלן הקישור לאותו דבר:

github.com/DcubeTechVentures/ADXL345..

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

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

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

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

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

# ADXL345

# קוד זה נועד לעבוד עם מודול מיני ADXL345_I2CS I2C הזמין בחנות Dcube.

יבוא smbus

זמן יבוא

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

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

כתובת ADXL345, 0x53 (83)

# בחר מרשם קצב רוחב הפס, 0x2C (44)# 0x0A (10) מצב רגיל, קצב נתוני פלט = 100 הרץ

bus.write_byte_data (0x53, 0x2C, 0x0A)

כתובת ADXL345, 0x53 (83)

# בחר מרשם בקרת כוח, 0x2D (45)

# 0x08 (08) השבתה אוטומטית של שינה

bus.write_byte_data (0x53, 0x2D, 0x08)

כתובת ADXL345, 0x53 (83)

# בחר רישום בפורמט נתונים, 0x31 (49)

# 0x08 (08) בדיקה עצמית מושבתת, ממשק בעל 4 חוטים

# רזולוציה מלאה, טווח = +/- 2 גרם

bus.write_byte_data (0x53, 0x31, 0x08)

time.sleep (0.5)

כתובת ADXL345, 0x53 (83)

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

# X-Axis LSB, X-Axis MSB

data0 = bus.read_byte_data (0x53, 0x32)

data1 = bus.read_byte_data (0x53, 0x33)

# המר את הנתונים ל -10 סיביות

xAccl = ((data1 & 0x03) * 256) + data0

אם xAccl> 511:

xAccl -= 1024

כתובת ADXL345, 0x53 (83)

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

# Y-Axis LSB, Y-Axis MSB

data0 = bus.read_byte_data (0x53, 0x34)

data1 = bus.read_byte_data (0x53, 0x35)

# המר את הנתונים ל -10 סיביות

yAccl = ((data1 & 0x03) * 256) + data0

אם yAccl> 511:

yAccl -= 1024

כתובת ADXL345, 0x53 (83)

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

# Z-Axis LSB, Z-Axis MSB

data0 = bus.read_byte_data (0x53, 0x36)

data1 = bus.read_byte_data (0x53, 0x37)

# המר את הנתונים ל -10 סיביות

zAccl = ((data1 & 0x03) * 256) + data0

אם zAccl> 511:

zAccl -= 1024

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

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

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

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

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

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

מוּמלָץ: