תוכן עניינים:
וִידֵאוֹ: מדידת האצה באמצעות ADXL345 ו- Raspberry Pi: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
ה- 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).
מוּמלָץ:
מדידת האצה באמצעות ADXL345 ופוטון חלקיקים: 4 שלבים
מדידת האצה באמצעות ADXL345 ופוטון חלקיקים: ה- ADXL345 הוא מד תאוצה קטן ודק במיוחד בעל 3 צירים עם מדידה ברזולוציה גבוהה (13 סיביות) עד ± 16 גרם. נתוני הפלט הדיגיטליים מעוצבים כהשלמה של 16 סיביות ונגישים באמצעות ממשק דיגיטלי I2 C. הוא מודד את
מדידת האצה באמצעות H3LIS331DL ו- Arduino Nano: 4 שלבים
מדידת האצה באמצעות H3LIS331DL ו- Arduino Nano: H3LIS331DL, הוא מד תאוצה לינארי בעל 3 צירים בעל ביצועים נמוכים, השייך למשפחת ה"ננו ", עם ממשק סידורי I²C דיגיטלי. ל- H3LIS331DL יש סולמות מלאות לבחירה של ± 100g/± 200g/± 400g והוא מסוגל למדוד תאוצות עם
מדידת האצה באמצעות H3LIS331DL ופוטון חלקיקים: 4 שלבים
מדידת האצה באמצעות H3LIS331DL ופוטון חלקיקים: H3LIS331DL, הוא מד תאוצה לינארי בעל 3 צירים בעל ביצועים נמוכים, השייך למשפחת ה"ננו ", עם ממשק סידורי I²C דיגיטלי. ל- H3LIS331DL יש סולמות מלאות לבחירה של ± 100g/± 200g/± 400g והוא מסוגל למדוד תאוצות עם
מדידת האצה באמצעות BMA250 ו- Arduino Nano: 4 שלבים
מדידת האצה באמצעות BMA250 ו- Arduino Nano: BMA250 הוא מד תאוצה קטן ודק במיוחד בעל 3 צירים עם מדידה ברזולוציה גבוהה (13 סיביות) עד ± 16 גרם. נתוני הפלט הדיגיטליים מעוצבים כהשלמה של 16 סיביות ונגישים באמצעות ממשק דיגיטלי I2C. הוא מודד את הסטטי
מדידת האצה באמצעות ADXL345 ו- Arduino Nano: 4 שלבים
מדידת האצה באמצעות ADXL345 וארדואינו ננו: ה- ADXL345 הוא מד תאוצה קטן ודק במיוחד בעל 3 צירים עם מדידה ברזולוציה גבוהה (13 סיביות) עד ± 16 גרם. נתוני הפלט הדיגיטליים מעוצבים כהשלמה של 16 סיביות ונגישים באמצעות ממשק דיגיטלי I2 C. הוא מודד את