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

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

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

וִידֵאוֹ: מדידת האצה באמצעות ADXL345 ו- Raspberry Pi: 4 שלבים
וִידֵאוֹ: The Gravity Sensor 2024, יולי
Anonim
Image
Image

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

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

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

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

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

1. ADXL345

2. פטל פטל

3. כבל I2C

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

5. כבל אתרנט

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

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

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

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

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

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

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

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

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

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

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

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

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

תוכל להעתיק מכאן גם את קוד הפיתון העובד עבור חיישן זה:

יבוא 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

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

יבוא זמן smbusimport

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

$> python ADXL345.py

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

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

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

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

מוּמלָץ: