Πίνακας περιεχομένων:
Βίντεο: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Το MMA8452Q είναι ένα έξυπνο, χαμηλής ισχύος, τριών αξόνων, χωρητικό, μικρομηχανικό επιταχυνσιόμετρο με ανάλυση 12 bits. Παρέχονται ευέλικτες προγραμματιζόμενες επιλογές χρήστη με τη βοήθεια ενσωματωμένων λειτουργιών στο επιταχυνσιόμετρο, διαμορφώσιμες σε δύο ακίδες διακοπής. Διαθέτει πλήρεις κλίμακες που μπορούν να επιλέξουν οι χρήστες of 2g/± 4g/± 8g με φιλτραρισμένα δεδομένα φίλτρου υψηλής διέλευσης καθώς και μη φιλτραρισμένα δεδομένα διαθέσιμα σε πραγματικό χρόνο. Εδώ είναι η επίδειξή του με raspberry pi χρησιμοποιώντας κώδικα java.
Βήμα 1: Αυτό που χρειάζεστε..
1. Raspberry Pi
2. MMA8452Q
3. Καλώδιο I²C
4. I²C Shield για το Raspberry Pi
5. Καλώδιο Ethernet
Βήμα 2: Συνδέσεις:
Πάρτε μια ασπίδα I2C για raspberry pi και σπρώξτε την απαλά πάνω από τις καρφίτσες gpio του raspberry pi.
Στη συνέχεια, συνδέστε το ένα άκρο του καλωδίου I2C στον αισθητήρα MMA8452Q και το άλλο άκρο στην ασπίδα I2C.
Συνδέστε επίσης το καλώδιο Ethernet στο pi ή μπορείτε να χρησιμοποιήσετε μια μονάδα WiFi.
Οι συνδέσεις φαίνονται στην παραπάνω εικόνα.
Βήμα 3: Κωδικός:
Μπορείτε να κατεβάσετε τον κώδικα Java για MMA8452Q από το αποθετήριο GitHub- Dcube Store
Εδώ είναι ο σύνδεσμος για το ίδιο:
github.com/DcubeTechVentures/MMA8452Q
Χρησιμοποιήσαμε τη βιβλιοθήκη pi4j για κώδικα java, τα βήματα για την εγκατάσταση του pi4j στο raspberry pi περιγράφονται εδώ:
pi4j.com/install.html
Μπορείτε επίσης να αντιγράψετε τον κώδικα από εδώ, δίνεται ως εξής:
// Διανέμεται με άδεια ελεύθερης βούλησης.
// Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοφόρο ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του.
// MMA8452Q
// Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module MMA8452Q_I2CS I2C διαθέσιμο στο Dcube Store.
εισαγωγή com.pi4j.io.i2c. I2CBus;
εισαγωγή com.pi4j.io.i2c. I2CDevice;
εισαγωγή com.pi4j.io.i2c. I2CFactory?
εισαγωγή java.io. IOException;
δημόσια τάξη MMA8452Q
{
public static void main (String args ) ρίχνει Εξαίρεση
{
// Δημιουργία διαύλου I2C
I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Λήψη συσκευής I2C, η διεύθυνση MMA8452Q I2C είναι 0x1C (28)
I2CDevice device = bus.getDevice (0x1C);
// Αποστολή εντολής αναμονής
device.write (0x2A, (byte) 0x00);
// Αποστολή ενεργής εντολής
device.write (0x2A, (byte) 0x01);
// Ρύθμιση εύρους έως +/- 2g
device.write (0x0E, (byte) 0x00);
Thread.sleep (500);
// Διαβάστε 7 byte δεδομένων από τη διεύθυνση 0x00 (0)
// Κατάσταση, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb
byte data = new byte [7];
device.read (0x00, δεδομένα, 0, 7);
// Μετατροπή των τιμών
int xAccl = (((δεδομένα [1] & 0xFF) * 256) + (δεδομένα [2] & 0xFF)) / 16;
εάν (xAccl> 2047)
{
xAccl = xAccl - 4096;
}
int yAccl = (((δεδομένα [3] & 0xFF) * 256) + (δεδομένα [4] & 0xFF)) / 16;
εάν (yAccl> 2047)
{
yAccl = yAccl - 4096;
}
int zAccl = (((δεδομένα [5] & 0xFF) * 256) + (δεδομένα [6] & 0xFF)) / 16;
εάν (zAccl> 2047)
{
zAccl = zAccl - 4096;
}
// Έξοδος δεδομένων στην οθόνη
System.out.printf ("X-Axis: %d %n", xAccl);
System.out.printf ("Y-Axis: %d %n", yAccl);
System.out.printf ("Z-Axis: %d %n", zAccl);
}
}
Βήμα 4: Εφαρμογές:
Το MMA8452Q διαθέτει διάφορες εφαρμογές που περιλαμβάνουν εφαρμογές E-Compass, ανίχνευση στατικού προσανατολισμού που ενσωματώνουν πορτρέτο/τοπίο, πάνω/κάτω, αριστερά/δεξιά, αναγνώριση θέσης πίσω/εμπρός, σημειωματάριο, e-reader και ανίχνευση ανατροπής και ελεύθερης πτώσης φορητού υπολογιστή, σε πραγματικό χρόνο ανίχνευση προσανατολισμού, συμπεριλαμβανομένης της εικονικής πραγματικότητας και του παιχνιδιού 3D ανατροφοδότηση θέσης χρήστη, ανάλυση δραστηριότητας σε πραγματικό χρόνο, όπως καταμέτρηση βημάτων βηματόμετρου, ανίχνευση πτώσης ελεύθερης πτώσης για σκληρό δίσκο, δημιουργία αντιγράφων ασφαλείας GPS νεκρού λογαριασμού και πολλά άλλα.
Συνιστάται:
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Java Tutorial: 4 Βήματα
Raspberry Pi-TMD26721 Infrared Digital Proximity Detector Java Tutorial: Το TMD26721 είναι ένας υπέρυθρος ψηφιακός ανιχνευτής εγγύτητας που παρέχει ένα πλήρες σύστημα ανίχνευσης εγγύτητας και λογική ψηφιακής διασύνδεσης σε μία μονάδα στήριξης επιφάνειας 8 ακίδων. Η ανίχνευση εγγύτητας περιλαμβάνει βελτιωμένο σήμα προς θόρυβο και ακρίβεια. Ένας επαγγελματίας
Raspberry Pi - ADXL345 Επιταχυνσιόμετρο 3 αξόνων Java Tutorial: 4 βήματα
Raspberry Pi-ADXL345 Επιταχυνσιόμετρο 3 αξόνων Java Tutorial: Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο 3 αξόνων, εξαιρετικά υψηλής ισχύος, με υψηλή ανάλυση (13 bit) έως και ± 16 g. Τα ψηφιακά δεδομένα εξόδου διαμορφώνονται ως συμπλήρωμα δύο δυαδικών ψηφίων 16 και είναι προσβάσιμα μέσω της ψηφιακής διεπαφής I2 C. Μετρά τα
Raspberry Pi - TSL45315 Ambient Light Sensor Java Tutorial: 4 Βήματα
Raspberry Pi - TSL45315 Ambient Light Sensor Java Tutorial: Το TSL45315 είναι ένας ψηφιακός αισθητήρας φωτισμού περιβάλλοντος. Προσαρμόζει την ανταπόκριση των ανθρώπινων ματιών υπό διάφορες συνθήκες φωτισμού. Οι συσκευές έχουν τρεις επιλεγόμενους χρόνους ενσωμάτωσης και παρέχουν άμεση έξοδο lux 16-bit μέσω διεπαφής διαύλου I2C. Η συσκευή συνεργάζεται
Raspberry Pi MCP9803 Temperature Sensor Java Tutorial: 4 Βήματα
Raspberry Pi MCP9803 Temperature Sensor Java Tutorial: Το MCP9803 είναι ένας αισθητήρας θερμοκρασίας υψηλής ακρίβειας 2 συρμάτων. Είναι ενσωματωμένα με προγραμματιζόμενους από τον χρήστη καταχωρητές που διευκολύνουν τις εφαρμογές ανίχνευσης θερμοκρασίας. Αυτός ο αισθητήρας είναι κατάλληλος για εξαιρετικά εξελιγμένο σύστημα παρακολούθησης θερμοκρασίας πολλαπλών ζωνών. Εδώ
Raspberry Pi - BH1715 Digital Ambient Light Sensor Java Tutorial: 4 Βήματα
Raspberry Pi - BH1715 Digital Ambient Light Sensor Java Tutorial: Το BH1715 είναι ένας ψηφιακός αισθητήρας φωτισμού περιβάλλοντος με διεπαφή διαύλου I²C. Το BH1715 χρησιμοποιείται συνήθως για τη λήψη δεδομένων φωτισμού περιβάλλοντος για τη ρύθμιση της ισχύος του οπίσθιου φωτισμού LCD και πληκτρολογίου για κινητές συσκευές. Αυτή η συσκευή προσφέρει ανάλυση 16-bit και πρόσθετο