Πίνακας περιεχομένων:
Βίντεο: Raspberry Pi - ADXL345 Επιταχυνσιόμετρο 3 αξόνων Java 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 χρησιμοποιώντας κώδικα java.
Βήμα 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: Κωδικός:
Μπορείτε να κατεβάσετε τον κώδικα java για ADXL345 από το αποθετήριο GitHub- Dcube Store
Εδώ είναι ο σύνδεσμος για το ίδιο:
github.com/DcubeTechVentures/ADXL345
Χρησιμοποιήσαμε τη βιβλιοθήκη pi4j για κώδικα java, τα βήματα για την εγκατάσταση του pi4j στο raspberry pi περιγράφονται εδώ:
pi4j.com/install.html
Μπορείτε επίσης να αντιγράψετε τον κώδικα από εδώ, δίνεται ως εξής:
// Διανέμεται με άδεια ελεύθερης βούλησης.
// Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοφόρο ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του.
// ADXL345
// Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module ADXL345_I2CS I2C που διατίθεται στο Dcube Store.
εισαγωγή com.pi4j.io.i2c. I2CBus;
εισαγωγή com.pi4j.io.i2c. I2CDevice;
εισαγωγή com.pi4j.io.i2c. I2CFactory?
εισαγωγή java.io. IOException;
δημόσια τάξη ADXL345
{
public static void main (String args ) ρίχνει Εξαίρεση
{
// Δημιουργία διαύλου I2C
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Λήψη συσκευής I2C, η διεύθυνση I2C συσκευής είναι 0x53 (83)
I2CDevice device = Bus.getDevice (0x53);
// Επιλέξτε καταχωρητής ρυθμού εύρους ζώνης
// Κανονική λειτουργία, Ρυθμός δεδομένων εξόδου = 100 Hz
device.write (0x2C, (byte) 0x0A);
// Επιλέξτε Power control register
// Απενεργοποίηση αυτόματου ύπνου
device.write (0x2D, (byte) 0x08);
// Επιλέξτε Καταχωρητής μορφής δεδομένων
// Απενεργοποιημένος ο αυτοέλεγχος, διεπαφή 4 καλωδίων, Πλήρης ανάλυση, εύρος = +/- 2g
device.write (0x31, (byte) 0x08);
Thread.sleep (500);
// Διαβάστε 6 byte δεδομένων
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
byte data = new byte [6];
δεδομένα [0] = (byte) device.read (0x32);
δεδομένα [1] = (byte) device.read (0x33);
δεδομένα [2] = (byte) device.read (0x34);
δεδομένα [3] = (byte) device.read (0x35);
δεδομένα [4] = (byte) device.read (0x36);
δεδομένα [5] = (byte) device.read (0x37);
// Μετατρέψτε τα δεδομένα σε 10-bit
int xAccl = ((δεδομένα [1] & 0x03) * 256 + (δεδομένα [0] & 0xFF));
εάν (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = ((δεδομένα [3] & 0x03) * 256 + (δεδομένα [2] & 0xFF));
εάν (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = ((δεδομένα [5] & 0x03) * 256 + (δεδομένα [4] & 0xFF));
εάν (zAccl> 511)
{
zAccl -= 1024;
}
// Έξοδος δεδομένων στην οθόνη
System.out.printf ("Επιτάχυνση στον άξονα Χ: %d %n", xAccl);
System.out.printf ("Επιτάχυνση στον άξονα Υ: %d %n", yAccl);
System.out.printf ("Επιτάχυνση στον άξονα Z: %d %n", zAccl);
}
}
Βήμα 4: Εφαρμογές:
Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο εξαιρετικά χαμηλής ισχύος, 3 αξόνων, το οποίο μπορεί να χρησιμοποιηθεί σε Ακουστικά, Ιατρικά όργανα κ.λπ.
Συνιστάται:
Διασύνδεση αισθητήρα γυροσκοπίου 3 αξόνων BMG160 με Arduino Nano: 5 βήματα
Διασύνδεση αισθητήρα γυροσκοπίου 3 αξόνων BMG160 με Arduino Nano: Στον σημερινό κόσμο, περισσότεροι από τους μισούς νέους και παιδιά λατρεύουν το παιχνίδι και όλοι όσοι το λατρεύουν, γοητευμένοι από τις τεχνικές πτυχές του παιχνιδιού γνωρίζουν τη σημασία της ανίχνευσης κίνησης σε αυτόν τον τομέα. Μας εξέπληξε επίσης το ίδιο πράγμα και
DIY Robotics - Εκπαιδευτικό βραχίονα ρομπότ 6 αξόνων: 6 βήματα (με εικόνες)
DIY Robotics | Εκπαιδευτικό βραχίονα ρομπότ 6 αξόνων: Το εκπαιδευτικό κελί DIY-Robotics είναι μια πλατφόρμα που περιλαμβάνει έναν ρομποτικό βραχίονα 6 αξόνων, ένα κύκλωμα ηλεκτρονικού ελέγχου και ένα λογισμικό προγραμματισμού. Αυτή η πλατφόρμα είναι μια εισαγωγή στον κόσμο της βιομηχανικής ρομποτικής. Μέσα από αυτό το έργο, DIY-Robotics εύχονται
Έλεγχος κίνησης με Raspberry Pi και LIS3DHTR, επιταχυνσιόμετρο 3 αξόνων, χρησιμοποιώντας Python: 6 βήματα
Έλεγχος κίνησης με Raspberry Pi και LIS3DHTR, επιταχυνσιόμετρο 3 αξόνων, χρησιμοποιώντας Python: Η ομορφιά μας περιβάλλει, αλλά συνήθως, πρέπει να περπατάμε σε έναν κήπο για να το γνωρίζουμε. - RumiΣαν η μορφωμένη ομάδα που φαίνεται να είμαστε, επενδύουμε τη συντριπτική πλειοψηφία της ενέργειας μας δουλεύοντας πριν από τους υπολογιστές και τα κινητά μας τηλέφωνα. Ως εκ τούτου, αφήνουμε συχνά την ευημερία μας
Διασύνδεση αισθητήρα γυροσκοπίου 3 αξόνων BMG160 με Raspberry Pi: 5 βήματα
Διασύνδεση αισθητήρα γυροσκοπίου 3 αξόνων BMG160 με Raspberry Pi: Στον σημερινό κόσμο, περισσότεροι από τους μισούς νέους και παιδιά αγαπούν το παιχνίδι και όλοι όσοι το λατρεύουν, γοητευμένοι από τις τεχνικές πτυχές του παιχνιδιού γνωρίζουν τη σημασία της ανίχνευσης κίνησης σε αυτόν τον τομέα. Μας εξέπληξε επίσης το ίδιο πράγμα και
Προκαταρκτικό* SPI στο Pi: Επικοινωνία με επιταχυνσιόμετρο SPI 3 αξόνων με χρήση Raspberry Pi: 10 βήματα
Προκαταρκτικό* SPI στο Pi: Επικοινωνία με επιταχυνσιόμετρο SPI 3 αξόνων με χρήση Raspberry Pi: Οδηγός βήμα προς βήμα σχετικά με τον τρόπο ρύθμισης του Raspbian και επικοινωνίας με μια συσκευή SPI χρησιμοποιώντας τη βιβλιοθήκη bcm2835 SPI (ΔΕΝ χτυπάει λίγο!) Αυτό είναι ακόμα πολύ προκαταρκτικό … Πρέπει να προσθέσω καλύτερες φωτογραφίες φυσικής σύνδεσης και να δουλέψω μέσω κάποιου αμήχανου κώδικα