Πίνακας περιεχομένων:
- Βήμα 1: Απαιτείται υλικό:
- Βήμα 2: Σύνδεση υλικού:
- Βήμα 3: Κωδικός για τη μέτρηση της επιτάχυνσης:
- Βήμα 4: Εφαρμογές:
Βίντεο: Μέτρηση της επιτάχυνσης χρησιμοποιώντας ADXL345 και Raspberry Pi: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο εξαιρετικά χαμηλής ισχύος, 3 αξόνων με μέτρηση υψηλής ανάλυσης (13-bit) έως και ± 16 g. Τα ψηφιακά δεδομένα εξόδου διαμορφώνονται ως συμπλήρωμα δύο δυαδικών ψηφίων 16 και είναι προσβάσιμα μέσω της ψηφιακής διεπαφής I2 C. Μετρά τη στατική επιτάχυνση της βαρύτητας σε εφαρμογές ανίχνευσης κλίσης, καθώς και τη δυναμική επιτάχυνση που προκύπτει από κίνηση ή κρούση. Η υψηλή του ανάλυση (3,9 mg/LSB) επιτρέπει τη μέτρηση των αλλαγών κλίσης μικρότερη από 1,0 °.
Σε αυτό το σεμινάριο αποδεικνύεται η διασύνδεση της μονάδας αισθητήρα ADXL345 με raspberry pi και έχει επίσης απεικονιστεί ο προγραμματισμός της χρησιμοποιώντας γλώσσα python. Για να διαβάσετε τις τιμές επιτάχυνσης σε όλους τους 3 άξονες, χρησιμοποιήσαμε raspberry pi με προσαρμογέα I2C. Αυτός ο προσαρμογέας I2C καθιστά τη σύνδεση με τη μονάδα αισθητήρα εύκολη και πιο αξιόπιστη.
Βήμα 1: Απαιτείται υλικό:
Τα υλικά που χρειαζόμαστε για την επίτευξη του στόχου μας περιλαμβάνουν τα ακόλουθα στοιχεία υλικού:
1. ADXL345
2. Raspberry Pi
3. Καλώδιο I2C
4. I2C Shield για raspberry pi
5. Καλώδιο Ethernet
Βήμα 2: Σύνδεση υλικού:
Το τμήμα σύνδεσης υλικού εξηγεί βασικά τις συνδέσεις καλωδίωσης που απαιτούνται μεταξύ του αισθητήρα και του raspberry pi. Η διασφάλιση των σωστών συνδέσεων είναι η βασική ανάγκη ενώ εργάζεστε σε οποιοδήποτε σύστημα για την επιθυμητή έξοδο. Έτσι, οι απαιτούμενες συνδέσεις είναι οι εξής:
Το ADXL345 θα λειτουργήσει μέσω I2C. Ακολουθεί το παράδειγμα διαγράμματος καλωδίωσης, που δείχνει πώς συνδέεται κάθε διασύνδεση του αισθητήρα.
Εκτός συσκευασίας, ο πίνακας έχει διαμορφωθεί για διεπαφή I2C, ως εκ τούτου συνιστούμε τη χρήση αυτής της σύνδεσης εάν είστε αλλιώς αγνωστικιστής.
Το μόνο που χρειάζεστε είναι τέσσερα καλώδια! Απαιτούνται μόνο τέσσερις συνδέσεις ακροδέκτες Vcc, Gnd, SCL και SDA και αυτές συνδέονται με τη βοήθεια καλωδίου I2C.
Αυτές οι συνδέσεις φαίνονται στις παραπάνω εικόνες.
Βήμα 3: Κωδικός για τη μέτρηση της επιτάχυνσης:
Το πλεονέκτημα της χρήσης του raspberry pi είναι ότι σας παρέχει την ευελιξία της γλώσσας προγραμματισμού στην οποία θέλετε να προγραμματίσετε τον πίνακα προκειμένου να διασυνδέσετε τον αισθητήρα με αυτό. Αξιοποιώντας αυτό το πλεονέκτημα αυτού του πίνακα, αποδεικνύουμε εδώ τον προγραμματισμό του στον πύθωνα. Μπορείτε να κατεβάσετε τον κώδικα python για ADXL345 από την κοινότητα github που είναι η Κοινότητα Control Everything.
Εκτός από την ευκολία των χρηστών, εξηγούμε τον κώδικα και εδώ:
Ως πρώτο βήμα κωδικοποίησης πρέπει να κατεβάσετε τη βιβλιοθήκη smbus σε περίπτωση python, επειδή αυτή η βιβλιοθήκη υποστηρίζει τις λειτουργίες που χρησιμοποιούνται στον κώδικα. Έτσι, για να κατεβάσετε τη βιβλιοθήκη μπορείτε να επισκεφθείτε τον ακόλουθο σύνδεσμο:
pypi.python.org/pypi/smbus-cffi/0.5.1
Μπορείτε επίσης να αντιγράψετε τον κωδικό python που λειτουργεί για αυτόν τον αισθητήρα από εδώ:
εισαγωγή smbus
χρόνο εισαγωγής
# Λήψη I2C busbus = smbus. SMBus (1)
# Διεύθυνση ADXL345, 0x53 (83)
# Επιλογή καταχωρητή ρυθμού εύρους ζώνης, 0x2C (44)
# 0x0A (10) Κανονική λειτουργία, Ρυθμός δεδομένων εξόδου = 100 Hz
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 καλωδίων
# Πλήρης ανάλυση, Εύρος = +/- 2g
bus.write_byte_data (0x53, 0x31, 0x08)
ώρα. ύπνος (0,5)
# Διεύθυνση ADXL345, 0x53 (83)
# Ανάγνωση δεδομένων από 0x32 (50), 2 byte
# X-Axis LSB, X-Axis MSB
data0 = bus.read_byte_data (0x53, 0x32)
data1 = bus.read_byte_data (0x53, 0x33)
# Μετατρέψτε τα δεδομένα σε 10-bit
xAccl = ((data1 & 0x03) * 256) + data0
αν xAccl> 511:
xAccl -= 1024
# Διεύθυνση ADXL345, 0x53 (83)
# Ανάγνωση δεδομένων από 0x34 (52), 2 byte
# Y-Axis LSB, Y-Axis MSB
data0 = bus.read_byte_data (0x53, 0x34)
data1 = bus.read_byte_data (0x53, 0x35)
# Μετατρέψτε τα δεδομένα σε 10-bit
yAccl = ((data1 & 0x03) * 256) + data0
αν yAccl> 511:
yAccl -= 1024
# Διεύθυνση ADXL345, 0x53 (83)
# Ανάγνωση δεδομένων από 0x36 (54), 2 byte
# Z-Axis LSB, Z-Axis MSB
data0 = bus.read_byte_data (0x53, 0x36)
data1 = bus.read_byte_data (0x53, 0x37)
# Μετατρέψτε τα δεδομένα σε 10-bit
zAccl = ((data1 & 0x03) * 256) + data0
εάν zAccl> 511:
zAccl -= 1024
# Έξοδος δεδομένων στην οθόνη
εκτύπωση "Επιτάχυνση στον άξονα Χ: %d" %xAccl
εκτύπωση "Επιτάχυνση στον άξονα Υ: %d" %yAccl
εκτύπωση "Επιτάχυνση στον άξονα Z: %d" %zAccl
Το τμήμα του κώδικα που αναφέρεται παρακάτω περιλαμβάνει τις βιβλιοθήκες που απαιτούνται για τη σωστή εκτέλεση των κωδικών python.
εισαγωγή χρόνου smbusimport
Ο κώδικας μπορεί να εκτελεστεί πληκτρολογώντας την παρακάτω αναφερόμενη εντολή στη γραμμή εντολών.
$> python ADXL345.py
Η έξοδος του αισθητήρα εμφανίζεται επίσης στην παραπάνω εικόνα για αναφορά του χρήστη.
Βήμα 4: Εφαρμογές:
Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο εξαιρετικά χαμηλής ισχύος, 3 αξόνων, το οποίο μπορεί να χρησιμοποιηθεί σε Ακουστικά, Ιατρικά όργανα κ.λπ.
Συνιστάται:
Μέτρηση της επιτάχυνσης χρησιμοποιώντας ADXL345 και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση της επιτάχυνσης χρησιμοποιώντας το ADXL345 και το σωματίδιο φωτονίου: Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο 3 αξόνων, εξαιρετικά χαμηλής ισχύος, με υψηλή ανάλυση (13 bit) έως και ± 16 g. Τα ψηφιακά δεδομένα εξόδου διαμορφώνονται ως συμπλήρωμα δύο δυαδικών ψηφίων 16 και είναι προσβάσιμα μέσω της ψηφιακής διεπαφής I2 C. Μετρά τα
Μέτρηση της επιτάχυνσης με χρήση H3LIS331DL και Arduino Nano: 4 βήματα
Μέτρηση της επιτάχυνσης με χρήση H3LIS331DL και Arduino Nano: Το H3LIS331DL, είναι ένα γραμμικό επιταχυνσιόμετρο 3 αξόνων χαμηλής ισχύος υψηλής απόδοσης που ανήκει στην οικογένεια «nano», με ψηφιακή σειριακή διεπαφή I²C. Το H3LIS331DL διαθέτει πλήρεις κλίμακες επιλογής από user 100g/± 200g/g 400g και είναι σε θέση να μετρήσει επιταχύνσεις με
Παρακολούθηση της επιτάχυνσης χρησιμοποιώντας Raspberry Pi και AIS328DQTR χρησιμοποιώντας Python: 6 βήματα
Παρακολούθηση της επιτάχυνσης με χρήση Raspberry Pi και AIS328DQTR με χρήση Python: Η επιτάχυνση είναι πεπερασμένη, νομίζω σύμφωνα με ορισμένους νόμους της Φυσικής.- Terry Riley Ένας τσίτα χρησιμοποιεί καταπληκτική επιτάχυνση και γρήγορες αλλαγές ταχύτητας όταν κυνηγάει. Το ταχύτερο πλάσμα στη στεριά χρησιμοποιεί κατά καιρούς τον κορυφαίο ρυθμό του για να πιάσει το θήραμα. Ο
Μέτρηση της επιτάχυνσης με χρήση H3LIS331DL και Raspberry Pi: 4 βήματα
Μέτρηση της επιτάχυνσης με χρήση H3LIS331DL και Raspberry Pi: Το H3LIS331DL, είναι ένα γραμμικό επιταχυνσιόμετρο 3 αξόνων χαμηλής ισχύος υψηλής απόδοσης που ανήκει στην οικογένεια «nano», με ψηφιακή σειριακή διεπαφή I²C. Το H3LIS331DL διαθέτει πλήρεις κλίμακες επιλογής από user 100g/± 200g/g 400g και είναι σε θέση να μετρήσει επιταχύνσεις με
Μέτρηση της επιτάχυνσης χρησιμοποιώντας ADXL345 και Arduino Nano: 4 βήματα
Μέτρηση της επιτάχυνσης με χρήση ADXL345 και Arduino Nano: Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο 3 αξόνων, εξαιρετικά χαμηλής ισχύος, με υψηλή ανάλυση (13-bit) έως και ± 16 g. Τα ψηφιακά δεδομένα εξόδου διαμορφώνονται ως συμπλήρωμα δύο δυαδικών ψηφίων 16 και είναι προσβάσιμα μέσω της ψηφιακής διεπαφής I2 C. Μετρά τα