Πίνακας περιεχομένων:

Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 βήματα
Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 βήματα

Βίντεο: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 βήματα

Βίντεο: Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 βήματα
Βίντεο: How To Use A Geophone With Raspberry Pi and an ADC - Seismic and Footstep Detection 2024, Ιούλιος
Anonim

Το 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 αξόνων, το οποίο μπορεί να χρησιμοποιηθεί σε Ακουστικά, Ιατρικά όργανα κ.λπ.

Συνιστάται: