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

Επιταχυνσιόμετρο 3 αξόνων, ADXL345 με Raspberry Pi χρησιμοποιώντας Python: 6 βήματα
Επιταχυνσιόμετρο 3 αξόνων, ADXL345 με Raspberry Pi χρησιμοποιώντας Python: 6 βήματα

Βίντεο: Επιταχυνσιόμετρο 3 αξόνων, ADXL345 με Raspberry Pi χρησιμοποιώντας Python: 6 βήματα

Βίντεο: Επιταχυνσιόμετρο 3 αξόνων, ADXL345 με Raspberry Pi χρησιμοποιώντας Python: 6 βήματα
Βίντεο: Arduino Nano και GY-521 MPU6050 Γυροσκόπιο 3 αξόνων, επιταχυνσιόμετρο 3 αξόνων και DMP 2024, Νοέμβριος
Anonim
Επιταχυνσιόμετρο 3 αξόνων, ADXL345 με Raspberry Pi χρησιμοποιώντας Python
Επιταχυνσιόμετρο 3 αξόνων, ADXL345 με Raspberry Pi χρησιμοποιώντας Python

Σκέφτεστε ένα gadget που μπορεί να ελέγξει το σημείο στο οποίο το Offroader είναι στραμμένο προς το. Δεν θα ήταν ευχάριστο σε περίπτωση που κάποιος προσαρμοστεί όταν υπάρχει πιθανότητα ανατροπής; Προφανώς ναι. Θα ήταν πραγματικά χρήσιμο σε άτομα που αγαπούν να πηγαίνουν στα βουνά και να ταξιδεύουν σε επιχειρήσεις.

Χωρίς αμφιβολία, μια πραγματική λαμπρή περίοδος προηγμένης αξιολόγησης, το IoT βρίσκεται μπροστά μας. Ως λάτρεις των Gadgets και του Προγραμματισμού, πιστεύουμε, Raspberry Pi, ο υπολογιστής micro Linux έχει αντιμετωπίσει τις δημιουργικές ικανότητες των ανθρώπων γενικά, φέρνοντας μαζί του μια έκρηξη σε καινοτόμες μεθοδολογίες. Ποια είναι λοιπόν τα πιθανά αποτελέσματα ότι μπορούμε να κάνουμε σε περίπτωση που έχουμε ένα Raspberry Pi και ένα επιταχυνσιόμετρο 3 αξόνων κοντά; Πρέπει να ανακαλύψουμε! Σε αυτήν την εργασία, θα αντιληφθούμε την επιτάχυνση σε 3 άξονες, Χ, Υ και Ζ χρησιμοποιώντας Raspberry Pi και ADXL345, ένα επιταχυνσιόμετρο 3 αξόνων. Θα πρέπει λοιπόν να παρατηρήσουμε σε αυτήν την εκδρομή να κατασκευάσουμε ένα πλαίσιο για τη μέτρηση της τρισδιάστατης επιτάχυνσης ή G-Force.

Βήμα 1: Βασικό υλικό που απαιτούμε

Βασικό υλικό που απαιτούμε
Βασικό υλικό που απαιτούμε
Βασικό υλικό που απαιτούμε
Βασικό υλικό που απαιτούμε
Βασικό υλικό που απαιτούμε
Βασικό υλικό που απαιτούμε

Τα ζητήματα ήταν λιγότερα για εμάς, καθώς έχουμε πολλά πράγματα για να δουλέψουμε. Παρ 'όλα αυτά, γνωρίζουμε πόσο ενοχλητικό είναι για άλλους να συναρμολογούν το σωστό μέρος σε τέλειο χρόνο από το κατάλληλο σημείο και αυτό δικαιολογείται ανεξάρτητα από κάθε δεκάρα. Θα σας βοηθήσουμε λοιπόν σε όλες τις περιοχές. Διαβάστε τα παρακάτω για να λάβετε μια πλήρη λίστα ανταλλακτικών.

1. Raspberry Pi

Το αρχικό βήμα ήταν η απόκτηση ενός πίνακα Raspberry Pi. Αυτός ο μικροσκοπικός υπολογιστής χαμηλής ισχύος παρέχει μια φθηνή και γενικά απλή βάση για επιχειρήσεις ηλεκτρονικής, Internet of Things (IoT), Smart Cities, School Education.

2. I2C Shield για το Raspberry Pi

Το κύριο πράγμα που λείπει πραγματικά από το Raspberry Pi είναι μια θύρα I²C. Γι 'αυτό, η υποδοχή TOUTPI2 I²C σας δίνει την αίσθηση ότι χρησιμοποιείτε το Rasp Pi με συσκευές MULTIPLE I²C. Είναι προσβάσιμο στο κατάστημα DCUBE

3. Επιταχυνσιόμετρο 3 αξόνων, ADXL345

Κατασκευασμένο από Analog Devices, το ADXL345, είναι ένα επιταχυνσιόμετρο χαμηλής ισχύος 3 αξόνων με μέτρηση 13-bit υψηλής ανάλυσης έως ± 16g. Αγοράσαμε αυτόν τον αισθητήρα από το DCUBE Store

4. Καλώδιο σύνδεσης

Είχαμε το καλώδιο σύνδεσης I2C προσβάσιμο στο κατάστημα DCUBE

5. Καλώδιο Micro USB

Το παραμικρό μπερδεμένο, αλλά πιο αυστηρό όσον αφορά την ανάγκη ισχύος είναι το Raspberry Pi! Η πιο εύκολη προσέγγιση για την ενεργοποίηση του Raspberry Pi είναι μέσω του καλωδίου Micro USB.

6. Η πρόσβαση στο Διαδίκτυο είναι μια ανάγκη

Η πρόσβαση στο Web μπορεί να ενισχυθεί μέσω καλωδίου Ethernet (LAN) που σχετίζεται με ένα τοπικό δίκτυο και τον ιστό. Από την άλλη πλευρά, μπορείτε να συσχετιστείτε με ένα ασύρματο δίκτυο χρησιμοποιώντας ένα ασύρματο dongle USB, το οποίο θα απαιτήσει διαμόρφωση.

7. Καλώδιο HDMI/Απομακρυσμένη πρόσβαση

Με καλώδιο HDMI επί του σκάφους, μπορείτε να το συνδέσετε σε ψηφιακή τηλεόραση ή σε οθόνη. Πρέπει να διαθέσετε μετρητά! Το Raspberry Pi μπορεί εξ αποστάσεως να χρησιμοποιήσει ξεχωριστές στρατηγικές όπως-SSH και Access μέσω του Ιστού. Μπορείτε να χρησιμοποιήσετε το λογισμικό πηγής PuTTYopen.

Βήμα 2: Σύνδεση του υλικού

Σύνδεση του υλικού
Σύνδεση του υλικού
Σύνδεση του υλικού
Σύνδεση του υλικού
Σύνδεση του υλικού
Σύνδεση του υλικού
Σύνδεση του υλικού
Σύνδεση του υλικού

Κάντε το κύκλωμα σύμφωνα με το σχηματικό εμφανίστηκε. Σχεδιάστε ένα περίγραμμα και ακολουθήστε σκόπιμα τη διαμόρφωση.

Σύνδεση Raspberry Pi και I2C Shield

Πάνω από όλα, πάρτε το Raspberry Pi και εντοπίστε το I2C Shield σε αυτό. Πατήστε το Shield απαλά πάνω από τις καρφίτσες GPIO του Pi και τελειώνουμε με αυτήν την πρόοδο τόσο απλή όσο η πίτα (δείτε το στιγμιότυπο).

Σύνδεση αισθητήρα και Raspberry Pi

Πάρτε τον αισθητήρα και διασυνδέστε το καλώδιο I2C μαζί του. Για την κατάλληλη λειτουργία αυτού του καλωδίου, παρακαλούμε θυμηθείτε την έξοδο I2C ΠΑΝΤΑ να σχετίζεται με την είσοδο I2C. Το ίδιο πρέπει να γίνει μετά και για το Raspberry Pi με την ασπίδα I2C τοποθετημένη πάνω της τις καρφίτσες GPIO.

Συνιστούμε τη χρήση του καλωδίου I2C καθώς διαψεύδει την απαίτηση για ανάγνωση pinouts, συγκόλληση και αδιαθεσία που προκαλείται ακόμη και από τη μικρότερη γκάφα. Με αυτό το βασικό καλώδιο σύνδεσης και αναπαραγωγής, μπορείτε εύκολα να εισαγάγετε, να αλλάξετε συσκευές ή να προσθέσετε περισσότερες συσκευές σε μια εφαρμογή. Αυτό κάνει τα πράγματα ακομπλεξάριστα.

Σημείωση: Το καφέ σύρμα πρέπει να ακολουθεί αξιόπιστα τη σύνδεση Ground (GND) μεταξύ της εξόδου μιας συσκευής και της εισόδου μιας άλλης συσκευής

Το Δίκτυο Ιστού είναι το κλειδί

Για να κερδίσουμε το εγχείρημά μας, χρειαζόμαστε μια σύνδεση στο διαδίκτυο για το Raspberry Pi. Για αυτό, έχετε εναλλακτικές λύσεις όπως τη διασύνδεση καλωδίου Ethernet (LAN) με το οικιακό σύστημα. Επιπλέον, ως επιλογή, ωστόσο, μια χρήσιμη διαδρομή είναι να χρησιμοποιήσετε μια υποδοχή WiFi. Μερικές φορές για αυτό, χρειάζεστε έναν οδηγό για να λειτουργήσει. Κλίση λοιπόν προς αυτό με το Linux στην απεικόνιση.

Παροχή ηλεκτρικού ρεύματος

Συνδέστε το καλώδιο Micro USB στην υποδοχή τροφοδοσίας του Raspberry Pi. Άναψε το και είμαστε έτοιμοι.

Σύνδεση στην οθόνη

Μπορούμε να συνδέσουμε το καλώδιο HDMI με άλλη οθόνη. Σε ορισμένες περιπτώσεις, πρέπει να φτάσετε σε ένα Raspberry Pi χωρίς να το διασυνδέσετε σε μια οθόνη ή μπορεί να χρειαστεί να δείτε κάποια δεδομένα από αυτό από κάπου αλλού. Είναι πιθανό ότι υπάρχουν καινοτόμες και οικονομικά προσεκτικές προσεγγίσεις για να γίνει αυτό. Ένα από αυτά χρησιμοποιεί - SSH (σύνδεση απομακρυσμένης γραμμής εντολών). Μπορείτε επίσης να χρησιμοποιήσετε το λογισμικό PuTTY για αυτό.

Βήμα 3: Κωδικοποίηση Python για το Raspberry Pi

Python Coding για το Raspberry Pi
Python Coding για το Raspberry Pi

Ο κώδικας Python για τον αισθητήρα Raspberry Pi και ADXL345 είναι προσβάσιμος στο αποθετήριο Github.

Πριν προχωρήσετε στον κώδικα, βεβαιωθείτε ότι έχετε διαβάσει τις οδηγίες που δίνονται στο έγγραφο Readme και ρυθμίστε το Raspberry Pi σύμφωνα με αυτό. Απλώς θα σταματήσει για ένα λεπτό για να γίνει ως τέτοιο.

Το επιταχυνσιόμετρο είναι μια συσκευή που μετρά την κατάλληλη επιτάχυνση. η σωστή επιτάχυνση δεν είναι η ίδια με την επιτάχυνση συντεταγμένων (ρυθμός μεταβολής της ταχύτητας). Τα μοντέλα ενός και πολλών αξόνων του επιταχυνσιόμετρου είναι προσβάσιμα για τον προσδιορισμό του μεγέθους και της κατεύθυνσης της σωστής επιτάχυνσης, ως διανυσματική ποσότητα, και μπορούν να χρησιμοποιηθούν για την αίσθηση του προσανατολισμού, τον συντονισμό της επιτάχυνσης, των κραδασμών, των κραδασμών και της πτώσης σε ένα μέσο αντίστασης.

Ο κώδικας είναι απλός μπροστά σας και είναι στην πιο απλή δομή που μπορείτε να φανταστείτε και δεν πρέπει να έχετε κανένα πρόβλημα.

# Διανέμεται με άδεια ελεύθερης βούλησης.# Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοσκοπικό ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του. # ADXL345 # Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με τη μίνι μονάδα ADXL345_I2CS I2C διαθέσιμη από το dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -μονάδα μέτρησης/

εισαγωγή 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 εκτύπωση "Επιτάχυνση στον άξονα Ζ: %d" %zAccl

Βήμα 4: Η πρακτικότητα του κώδικα

Η πρακτικότητα του κώδικα
Η πρακτικότητα του κώδικα

Κάντε λήψη (ή git pull) τον κώδικα από το Github και ανοίξτε τον στο Raspberry Pi.

Εκτελέστε τις εντολές για να μεταγλωττίσετε και να ανεβάσετε τον κώδικα στο τερματικό και να δείτε την έξοδο στην οθόνη. Μετά από μερικές στιγμές, θα εμφανίσει όλες τις παραμέτρους. Μετά τη διασφάλιση ότι όλα λειτουργούν εύκολα, μπορείτε να αναλάβετε αυτό το εγχείρημα σε ένα μεγαλύτερο έργο.

Βήμα 5: Εφαρμογές και δυνατότητες

Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο εξαιρετικά χαμηλής ισχύος, 3 αξόνων με μέτρηση υψηλής ανάλυσης (13-bit) έως και ± 16 g. Το ADXL345 είναι κατάλληλο για εφαρμογές κινητού τηλεφώνου. Προσδιορίζει ποσοτικά τη στατική επιτάχυνση της βαρύτητας σε εφαρμογές ανίχνευσης κλίσης και επιπλέον η δυναμική επιτάχυνση αναμένεται λόγω κίνησης ή σοκ. Άλλες εφαρμογές περιλαμβάνουν παρόμοια ακουστικά, ιατρικά όργανα, συσκευές παιχνιδιών και κατάδειξης, βιομηχανικά όργανα, συσκευές προσωπικής πλοήγησης και προστασία σκληρού δίσκου (HDD).

Βήμα 6: Συμπέρασμα

Ας ελπίσουμε ότι αυτό το έργο θα παρακινήσει περαιτέρω πειραματισμούς. Αυτός ο αισθητήρας I2C είναι εξαιρετικά ευέλικτος, φθηνός και προσβάσιμος. Δεδομένου ότι είναι σε μεγάλο βαθμό ένα μόνιμο σύστημα, υπάρχουν ενδιαφέροντες τρόποι για να διευρύνετε αυτό το έργο και να το βελτιώσετε ακόμη και.

Για παράδειγμα, μπορείτε να ξεκινήσετε με την ιδέα ενός Κλινομετρητή χρησιμοποιώντας τα ADXL345 και Raspberry Pi. Στο παραπάνω έργο, χρησιμοποιήσαμε βασικούς υπολογισμούς. Μπορείτε να αυτοσχεδιάσετε τον κώδικα για τις τιμές G, τις γωνίες κλίσης (ή κλίσης), την ανύψωση ή την κατάθλιψη ενός αντικειμένου σε σχέση με τη βαρύτητα. Στη συνέχεια, μπορείτε να ελέγξετε τις επιλογές εκ των προτέρων, όπως γωνίες περιστροφής για ρολό (άξονας εμπρός προς τα πίσω, Χ), βήμα (άξονας από πλευρά σε πλευρά, Υ) και περιστροφή (κάθετος άξονας, Ζ). Αυτό το επιταχυνσιόμετρο εμφανίζει τρισδιάστατες δυνάμεις G. Θα μπορούσατε λοιπόν να χρησιμοποιήσετε αυτόν τον αισθητήρα με διάφορους τρόπους που μπορείτε να λάβετε υπόψη.

Για την άνεσή σας, έχουμε μια συναρπαστική εκπαιδευτική άσκηση βίντεο στο YouTube, η οποία μπορεί να βοηθήσει στην έρευνά σας. Εμπιστευτείτε αυτό το εγχείρημα που δίνει κίνητρο για περαιτέρω εξερεύνηση. Συνέχισε να σκέφτεσαι! Λάβετε υπόψη ότι αναζητάτε καθώς έρχονται συνεχώς περισσότερα.

Συνιστάται: