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

Έλεγχος κίνησης με Raspberry Pi και LIS3DHTR, επιταχυνσιόμετρο 3 αξόνων, χρησιμοποιώντας Python: 6 βήματα
Έλεγχος κίνησης με Raspberry Pi και LIS3DHTR, επιταχυνσιόμετρο 3 αξόνων, χρησιμοποιώντας Python: 6 βήματα

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

Βίντεο: Έλεγχος κίνησης με Raspberry Pi και LIS3DHTR, επιταχυνσιόμετρο 3 αξόνων, χρησιμοποιώντας Python: 6 βήματα
Βίντεο: Έλεγχος φαναριών με VB - Γ Πηροφορικής 2012 2024, Νοέμβριος
Anonim
Image
Image
Βασικό υλικό που απαιτούμε
Βασικό υλικό που απαιτούμε

Η ομορφιά μας περιβάλλει, αλλά συνήθως, πρέπει να περπατάμε σε έναν κήπο για να το γνωρίζουμε. - Ρούμι

Ως μορφωμένη ομάδα που φαίνεται να είμαστε, επενδύουμε τη συντριπτική πλειοψηφία της ενέργειας μας δουλεύοντας πριν από τους υπολογιστές και τα κινητά μας τηλέφωνα. Ως εκ τούτου, αφήνουμε συχνά την ευημερία μας να παίρνει το δευτερεύον lounge, ποτέ να μην βρούμε πραγματικά μια ιδανική ευκαιρία να πάμε στο γυμναστήριο ή σε ένα γυμναστήριο και κατά κανόνα επιλέγοντας γρήγορο φαγητό σε πολύ πιο ευεργετικές επιλογές. Τα συναρπαστικά νέα είναι αν το μόνο που χρειάζεστε είναι κάποια βοήθεια για την τήρηση αρχείων ή για να παρακολουθείτε την πρόοδό σας, μπορείτε να χρησιμοποιήσετε τη σημερινή καινοτομία για την κατασκευή κάποιου gadget για να βοηθήσετε τον εαυτό σας.

Η τεχνολογία αναπτύσσεται γρήγορα. Με συνέπεια, παίρνουμε τον αέρα μιας νέας καινοτομίας που θα αλλάξει τον κόσμο και τον τρόπο που μαθαίνουμε σε αυτόν. Όταν ασχολείστε με υπολογιστές, κωδικοποίηση και ρομπότ ή απλά σας αρέσει να τσιμπολογάτε, υπάρχει μια τεχνολογική ευλογία εκεί έξω. Το Raspberry Pi, ο μικροϋπολογιστής Linux με έναν μόνο πίνακα, είναι αφιερωμένος στη βελτίωση του τρόπου με τον οποίο μαθαίνετε με την καινοτόμο τεχνολογία, αλλά και στο κλειδί για τη βελτίωση της εκπαίδευσης στην εκπαίδευση σε όλο τον κόσμο. Ποια είναι λοιπόν τα πιθανά αποτελέσματα που μπορούμε να κάνουμε εάν έχουμε ένα Raspberry Pi και ένα επιταχυνσιόμετρο 3 αξόνων κοντά; Τι λέτε να το βρούμε αυτό! Σε αυτήν την εργασία, θα ελέγξουμε την επιτάχυνση σε 3 κάθετους άξονες, Χ, Υ και Ζ χρησιμοποιώντας Raspberry Pi και LIS3DHTR, επιταχυνσιόμετρο 3 αξόνων. Θα πρέπει λοιπόν να δούμε σε αυτό το ταξίδι να δημιουργήσουμε ένα σύστημα για τον έλεγχο της τρισδιάστατης επιτάχυνσης ή της G-Force.

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

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

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

1. Raspberry Pi

Το αρχικό βήμα ήταν να αποκτήσετε έναν πίνακα Raspberry Pi. Το Raspberry Pi είναι ένας υπολογιστής που βασίζεται σε Linux με έναν πίνακα. Αυτός ο μικρός υπολογιστής διαθέτει μια δυνατή υπολογιστική ισχύ, που χρησιμοποιείται ως μέρος των δραστηριοτήτων gadgets και απλές λειτουργίες όπως υπολογιστικά φύλλα, προετοιμασία λέξεων, σάρωση ιστού και email και παιχνίδια.

2. I2C Shield για το Raspberry Pi

Το κύριο μέλημα που το Raspberry Pi απουσιάζει πραγματικά είναι μια θύρα I²C. Γι 'αυτό, ο σύνδεσμος TOUTPI2 I²C σας δίνει την αίσθηση ότι χρησιμοποιείτε το Rasp Pi με ΟΠΟΙΑΔΗΠΟΤΕ συσκευές I²C. Είναι διαθέσιμο στο κατάστημα DCUBE

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

Το LIS3DH είναι ένα γραμμικό επιταχυνσιόμετρο τριών αξόνων εξαιρετικά χαμηλής ισχύος υψηλής απόδοσης που ανήκει στην οικογένεια «νανο», με τυπική έξοδο σειριακής διεπαφής ψηφιακού I2C/SPI. Αγοράσαμε αυτόν τον αισθητήρα από το DCUBE Store

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

Αποκτήσαμε το καλώδιο σύνδεσης I2C από το κατάστημα DCUBE

5. Καλώδιο Micro USB

Το μικρότερο σαστισμένο, αλλά το πιο αυστηρό στο βαθμό που χρειάζεται ενέργεια είναι το Raspberry Pi! Ο ευκολότερος τρόπος αντιμετώπισης είναι με τη χρήση του καλωδίου Micro USB.

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

Τα παιδιά του ΙΝΤΕΡΝΕΤ ΠΟΤΕ δεν κοιμούνται

Συνδέστε το Raspberry Pi με ένα καλώδιο Ethernet (LAN) και συνδέστε το στο δρομολογητή δικτύου σας. Επιλεκτικά, αναζητήστε μια σύνδεση WiFi και χρησιμοποιήστε μία από τις θύρες USB για να μεταβείτε στο απομακρυσμένο σύστημα. Είναι μια αποφασιστική απόφαση, απλή, μικρή και βρώμικη!

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

Το Raspberry Pi διαθέτει θύρα HDMI την οποία μπορείτε να συνδέσετε ειδικά σε οθόνη ή τηλεόραση με καλώδιο HDMI. Επιλεκτικά, μπορείτε να χρησιμοποιήσετε το SSH για να συσχετιστείτε με το Raspberry Pi από υπολογιστή Linux ή Macintosh από το τερματικό. Ομοίως, το PuTTY, ένας δωρεάν εξομοιωτής τερματικού ανοιχτού κώδικα, μοιάζει με μια αξιοπρεπή εναλλακτική λύση.

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

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

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

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

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

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

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

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

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

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

Για να κερδίσουμε την προσπάθειά μας, χρειαζόμαστε μια σύνδεση στο Διαδίκτυο για το Raspberry Pi. Για αυτό, έχετε επιλογές όπως η διασύνδεση καλωδίου Ethernet (LAN) που συνδέεται με το οικιακό δίκτυο. Επιπλέον, ως εναλλακτική λύση, όπως και να έχει, μια κατάλληλη πορεία είναι η χρήση σύνδεσης WiFi USB. Κατά κανόνα, απαιτείται οδηγός για να λειτουργήσει. Κλίση λοιπόν προς αυτό με το 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 και LIS3DHTR είναι προσβάσιμος στο GithubRepository μας.

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

Το επιταχυνσιόμετρο είναι ένα ηλεκτρομηχανικό gadget που θα μετρήσει τις δυνάμεις επιτάχυνσης. Αυτές οι δυνάμεις μπορεί να είναι στατικές, παρόμοιες με τη σταθερή δύναμη της βαρύτητας που τραβάει στα πόδια σας, ή θα μπορούσαν να είναι αλλοιώσιμες - προέρχονται από τη μετακίνηση ή τη δόνηση του επιταχυνσιόμετρου.

Το συνοδευτικό είναι ο κώδικας python και μπορείτε να κλωνοποιήσετε και να προσαρμόσετε τον κώδικα με οποιονδήποτε τρόπο θέλετε.

# Διανέμεται με άδεια ελεύθερης βούλησης.# Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοσκοπικό ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του. # LIS3DHTR # Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module LIS3DHTR_I2CS I2C διαθέσιμο από το dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-mini-module/

εισαγωγή smbus

χρόνο εισαγωγής

# Πάρτε το λεωφορείο I2C

bus = smbus. SMBus (1)

# Διεύθυνση LIS3DHTR, 0x18 (24)

# Επιλογή καταχωρητή ελέγχου1, 0x20 (32) # 0x27 (39) Λειτουργία ενεργοποίησης, Επιλογή ρυθμού δεδομένων = 10 Hz # X, Y, Z-Axis enabled bus.write_byte_data (0x18, 0x20, 0x27) # Διεύθυνση LIS3DHTR, 0x18 (24) # Επιλογή καταχωρητή ελέγχου 4, 0x23 (35) # 0x00 (00) Συνεχής ενημέρωση, Επιλογή πλήρους κλίμακας = +/- 2G bus.write_byte_data (0x18, 0x23, 0x00)

ώρα. ύπνος (0,5)

# Διεύθυνση LIS3DHTR, 0x18 (24)

# Ανάγνωση δεδομένων από 0x28 (40), 2 byte # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# Μετατρέψτε τα δεδομένα

xAccl = data1 * 256 + data0 αν xAccl> 32767: xAccl -= 65536

# Διεύθυνση LIS3DHTR, 0x18 (24)

# Ανάγνωση δεδομένων από 0x2A (42), 2 byte # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)

# Μετατρέψτε τα δεδομένα

yAccl = data1 * 256 + data0 αν yAccl> 32767: yAccl -= 65536

# Διεύθυνση LIS3DHTR, 0x18 (24)

# Ανάγνωση δεδομένων από 0x2C (44), 2 byte # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)

# Μετατρέψτε τα δεδομένα

zAccl = data1 * 256 + data0 αν zAccl> 32767: zAccl -= 65536

# Έξοδος δεδομένων στην οθόνη

εκτύπωση "Επιτάχυνση στον άξονα Χ: %d" %xAccl εκτύπωση "Επιτάχυνση στον άξονα Υ: %d" %yAccl εκτύπωση "Επιτάχυνση στον άξονα Ζ: %d" %zAccl

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

Η εργασιμότητα του κώδικα
Η εργασιμότητα του κώδικα

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

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

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

Κατασκευασμένο από την STMicroelectronics, το LIS3DHTR διαθέτει δυναμικά επιλεγόμενες από το χρήστη πλήρεις κλίμακες ± 2g/± 4g/± 8g/± 16g και είναι σε θέση να μετρήσει επιταχύνσεις με ρυθμούς δεδομένων εξόδου από 1Hz έως 5kHz. Το LIS3DHTR είναι κατάλληλο για λειτουργίες ενεργοποίησης κίνησης και ανίχνευση ελεύθερης πτώσης. Προσδιορίζει ποσοτικά τη στατική επιτάχυνση της βαρύτητας σε εφαρμογές ανίχνευσης κλίσης και επιπλέον η δυναμική επιτάχυνση αναμένεται λόγω κίνησης ή σοκ. Άλλες εφαρμογές περιλαμβάνουν τα εξής: Αναγνώριση κλικ/διπλού κλικ, Ευφυής εξοικονόμηση ενέργειας για φορητές συσκευές, Βηματόμετρο, Προσανατολισμός οθόνης, Συσκευές εισόδου τυχερών παιχνιδιών και εικονικής πραγματικότητας, Αναγνώριση επιπτώσεων και καταγραφή και παρακολούθηση και αντιστάθμιση δόνησης.

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

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

Για παράδειγμα, μπορείτε να ξεκινήσετε με την ιδέα ενός βηματόμετρου χρησιμοποιώντας το LIS3DHTR και το Raspberry Pi. Στην παραπάνω εργασία, χρησιμοποιήσαμε βασικούς υπολογισμούς. Η επιτάχυνση μπορεί να είναι η σχετική παράμετρος για την ανάλυση της απόφασης περίπατου. Μπορείτε να ελέγξετε τα τρία συστατικά της κίνησης για ένα άτομο που είναι εμπρός (ρολό, Χ), πλευρά (βήμα, Υ) και κάθετα (άξονας περιστροφής, Ζ). Καταγράφεται ένα τυπικό μοτίβο και των 3 αξόνων. Τουλάχιστον 1 άξονας θα έχει σχετικά μεγάλες τιμές περιοδικής επιτάχυνσης. Επομένως, η κατεύθυνση αιχμής και ένας αλγόριθμος είναι απαραίτητοι. Λαμβάνοντας υπόψη τις παραμέτρους των βημάτων (Digitalηφιακό φίλτρο, Ανίχνευση αιχμής, Παράθυρο χρόνου, κ.λπ.) αυτού του αλγορίθμου, μπορείτε να αναγνωρίσετε και να μετρήσετε τα βήματα, καθώς και να μετρήσετε την απόσταση, την ταχύτητα και τις θερμίδες που καίγονται. Θα μπορούσατε λοιπόν να χρησιμοποιήσετε αυτόν τον αισθητήρα με διάφορους τρόπους που μπορείτε να λάβετε υπόψη. Σας εμπιστευόμαστε ότι σας αρέσει! Θα προσπαθήσουμε να κάνουμε μια λειτουργική απόδοση αυτού του βηματόμετρου νωρίτερα παρά αργότερα, η διαμόρφωση, ο κώδικας, το μέρος που υπολογίζει τα μέσα για το διαχωρισμό του περπατήματος και του τρέξιμου και οι θερμίδες που καίγονται.

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

Συνιστάται: