Πίνακας περιεχομένων:
Βίντεο: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο εξαιρετικά χαμηλής ισχύος, 3 αξόνων με μέτρηση υψηλής ανάλυσης (13-bit) έως και ± 16 g. Τα ψηφιακά δεδομένα εξόδου διαμορφώνονται ως συμπλήρωμα δύο δυαδικών ψηφίων 16 και είναι προσβάσιμα μέσω της ψηφιακής διεπαφής I2 C. Μετρά τη στατική επιτάχυνση της βαρύτητας σε εφαρμογές ανίχνευσης κλίσης, καθώς και τη δυναμική επιτάχυνση που προκύπτει από κίνηση ή κρούση. Η υψηλή του ανάλυση (3,9 mg/LSB) επιτρέπει τη μέτρηση των αλλαγών κλίσης μικρότερη από 1,0 °. Εδώ είναι επίδειξη με raspberry pi χρησιμοποιώντας κώδικα python.
Βήμα 1: Αυτό που χρειάζεστε..
1. Raspberry Pi
2. ADXL345
3. Καλώδιο I²C
4. I²C Shield για το Raspberry Pi
5. Καλώδιο Ethernet
Βήμα 2: Σύνδεση:
Πάρτε μια ασπίδα I2C για raspberry pi και σπρώξτε την απαλά πάνω από τις καρφίτσες gpio του raspberry pi.
Στη συνέχεια, συνδέστε το ένα άκρο του καλωδίου I2C στον αισθητήρα ADXL345 και το άλλο άκρο στην ασπίδα I2C.
Συνδέστε επίσης το καλώδιο Ethernet στο pi ή μπορείτε να χρησιμοποιήσετε μια μονάδα WiFi.
Οι συνδέσεις φαίνονται στην παραπάνω εικόνα.
Βήμα 3: Κωδικός:
Μπορείτε να κατεβάσετε τον κώδικα python για ADXL345 από το αποθετήριο GitHub- Dcube Store
Εδώ είναι ο σύνδεσμος για το ίδιο:
github.com/DcubeTechVentures/ADXL345..
Έχουμε χρησιμοποιήσει τη βιβλιοθήκη SMBus για κώδικα python, τα βήματα για την εγκατάσταση του SMBus στο raspberry pi περιγράφονται εδώ:
pypi.python.org/pypi/smbus-cffi/0.5.1
Μπορείτε επίσης να αντιγράψετε τον κώδικα από εδώ, δίνεται ως εξής:
# Διανέμεται με άδεια ελεύθερης βούλησης.
# Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοφόρα ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του.
# ADXL345
# Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module ADXL345_I2CS I2C που διατίθεται στο Dcube Store.
εισαγωγή smbus
χρόνο εισαγωγής
# Πάρτε το λεωφορείο I2C
bus = 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
Βήμα 4: Εφαρμογές:
Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο εξαιρετικά χαμηλής ισχύος, 3 αξόνων, το οποίο μπορεί να χρησιμοποιηθεί σε Ακουστικά, Ιατρικά όργανα κ.λπ.
Συνιστάται:
Raspberry Pi SHT25 Αισθητήρας υγρασίας & θερμοκρασίας Python Tutorial: 4 βήματα
Raspberry Pi SHT25 Αισθητήρας υγρασίας & θερμοκρασίας Python Φροντιστήριο: SHT25 I2C Αισθητήρας υγρασίας και θερμοκρασίας ± 1,8%RH ± 0,2 ° C Mini Module I2C. Ο αισθητήρας υγρασίας και θερμοκρασίας υψηλής ακρίβειας SHT25 έχει γίνει βιομηχανικό πρότυπο όσον αφορά τον παράγοντα μορφής και την ευφυΐα, παρέχοντας βαθμονομημένο, γραμμικοποιημένο σήμα αισθητήρα
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 βήματα
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: Το MPL3115A2 χρησιμοποιεί έναν αισθητήρα πίεσης MEMS με διεπαφή I2C για να παρέχει ακριβή δεδομένα πίεσης/υψομέτρου και θερμοκρασίας. Οι έξοδοι του αισθητήρα ψηφιοποιούνται με ADC υψηλής ανάλυσης 24-bit. Η εσωτερική επεξεργασία αφαιρεί τις εργασίες αποζημίωσης από το
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python Tutorial: 4 Βήματα
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python Tutorial: Το BH1715 είναι ένας ψηφιακός αισθητήρας φωτισμού περιβάλλοντος με διεπαφή διαύλου I²C. Το BH1715 χρησιμοποιείται συνήθως για τη λήψη δεδομένων φωτισμού περιβάλλοντος για τη ρύθμιση της ισχύος του οπίσθιου φωτισμού LCD και πληκτρολογίου για κινητές συσκευές. Αυτή η συσκευή προσφέρει ανάλυση 16-bit και πρόσθετο
Raspberry Pi - TMP007 Infrared Thermopile Sensor Python Tutorial: 4 Βήματα
Raspberry Pi - TMP007 Infrared Thermopile Sensor Python Tutorial: Το TMP007 είναι ένας αισθητήρας υπερύθρου θερμοστοιχείου που μετρά τη θερμοκρασία ενός αντικειμένου χωρίς να έρχεται σε επαφή με αυτό. Η υπέρυθρη ενέργεια που εκπέμπεται από το αντικείμενο στο πεδίο του αισθητήρα απορροφάται από το θερμοστοιχείο που είναι ενσωματωμένο στον αισθητήρα. Το θερμοπίδακα
Raspberry Pi - PCA9536 Είσοδος/έξοδος Expander Python Tutorial: 4 Βήματα
Raspberry Pi-PCA9536 Εισαγωγή/έξοδος Expander Python Tutorial: Το PCA9536 είναι μια συσκευή CMOS 8 ακίδων που παρέχει 4 bits παράλληλης εισόδου/εξόδου γενικού σκοπού (GPIO) για εφαρμογές I2C-bus/SMBus. Αποτελείται από έναν καταχωρητή διαμόρφωσης 4-bit που εξυπηρετεί τον σκοπό της επιλογής εισόδου ή εξόδου, 4-bit