Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:39
Το HMC5883 είναι μια ψηφιακή πυξίδα σχεδιασμένη για μαγνητική ανίχνευση χαμηλού πεδίου. Αυτή η συσκευή έχει ευρύ φάσμα μαγνητικού πεδίου +/- 8 Oe και ρυθμό εξόδου 160 Hz. Ο αισθητήρας HMC5883 περιλαμβάνει αυτόματους οδηγούς απομάκρυνσης ιμάντων, ακύρωση offset και 12-bit ADC που επιτρέπει ακρίβεια επικεφαλίδας πυξίδας 1 ° έως 2 °. Όλα τα Mini Modules I²C έχουν σχεδιαστεί για να λειτουργούν σε 5VDC.
Σε αυτό το σεμινάριο, θα εξηγήσουμε τη λεπτομερή λειτουργία του HMC5883 με το Raspberry pi και τον προγραμματισμό του χρησιμοποιώντας τη γλώσσα προγραμματισμού java.
Βήμα 1: Απαιτείται υλικό:
Το υλικό που απαιτείται για την εκτέλεση της εργασίας είναι το ακόλουθο:
1. HMC5883
2. Raspberry Pi
3. Καλώδιο I2C
4. I2C Shield For Raspberry Pi
5. Καλώδιο Ethernet
Βήμα 2: Σύνδεση υλικού:
Το τμήμα σύνδεσης υλικού εξηγεί βασικά τις συνδέσεις καλωδίωσης που απαιτούνται μεταξύ του αισθητήρα και του raspberry pi. Η διασφάλιση των σωστών συνδέσεων είναι η βασική ανάγκη ενώ εργάζεστε σε οποιοδήποτε σύστημα για την επιθυμητή έξοδο. Έτσι, οι απαιτούμενες συνδέσεις είναι οι εξής:
Το HMC5883 θα λειτουργήσει μέσω I2C. Ακολουθεί το παράδειγμα διαγράμματος καλωδίωσης, που δείχνει πώς συνδέεται κάθε διασύνδεση του αισθητήρα.
Εκτός συσκευασίας, ο πίνακας έχει διαμορφωθεί για διεπαφή I2C, ως εκ τούτου συνιστούμε τη χρήση αυτής της σύνδεσης εάν είστε αλλιώς αγνωστικιστής. Το μόνο που χρειάζεστε είναι τέσσερα καλώδια!
Απαιτούνται μόνο τέσσερις συνδέσεις ακροδέκτες Vcc, Gnd, SCL και SDA και αυτές συνδέονται με τη βοήθεια καλωδίου I2C.
Αυτές οι συνδέσεις φαίνονται στις παραπάνω εικόνες.
Βήμα 3: Κώδικας Java για τη μέτρηση της έντασης του μαγνητικού πεδίου:
Το πλεονέκτημα της χρήσης του raspberry pi είναι ότι σας παρέχει την ευελιξία της γλώσσας προγραμματισμού στην οποία θέλετε να προγραμματίσετε τον πίνακα για να διασυνδέσετε τον αισθητήρα με αυτό. Αξιοποιώντας αυτό το πλεονέκτημα αυτού του πίνακα, αποδεικνύουμε εδώ ότι προγραμματίζει σε Java. Μπορείτε να κατεβάσετε τον κώδικα java για το HMC5883 από την κοινότητα github που είναι το Dcube Store.
Εκτός από την ευκολία των χρηστών, εξηγούμε τον κώδικα και εδώ:
Ως πρώτο βήμα κωδικοποίησης, πρέπει να κατεβάσετε τη βιβλιοθήκη pi4j σε περίπτωση java, επειδή αυτή η βιβλιοθήκη υποστηρίζει τις λειτουργίες που χρησιμοποιούνται στον κώδικα. Έτσι, για να κατεβάσετε τη βιβλιοθήκη μπορείτε να επισκεφθείτε τον ακόλουθο σύνδεσμο:
pi4j.com/install.html
Μπορείτε να αντιγράψετε τον λειτουργικό κώδικα java για αυτόν τον αισθητήρα από εδώ επίσης:
εισαγωγή com.pi4j.io.i2c. I2CBus;
εισαγωγή com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
εισαγωγή java.io. IOException; δημόσια τάξη HMC5883
{
public static void main (String args ) ρίχνει Εξαίρεση
{
// Δημιουργία διαύλου I2C
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Λήψη συσκευής I2C, η διεύθυνση HMC5883 I2C είναι 0x1E (30)
I2CDevice device = Bus.getDevice (0x1E);
// Επιλέξτε Configuration register A
// Κανονική διαμόρφωση μέτρησης, ρυθμός δεδομένων o/p = 0,75 Hz
device.write (0x00, (byte) 0x60);
// Επιλέξτε καταχώριση λειτουργίας
// Λειτουργία συνεχούς μέτρησης
device.write (0x02, (byte) 0x00);
Thread.sleep (500);
// Διαβάστε 6 byte δεδομένων από 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
byte data = new byte [6];
device.read (0x03, δεδομένα, 0, 6);
// Μετατρέψτε τα δεδομένα
int xMag = ((δεδομένα [0] & 0xFF) * 256 + (δεδομένα [1] & 0xFF)];
εάν (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((δεδομένα [2] & 0xFF) * 256 + (δεδομένα [3] & 0xFF));
εάν (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((δεδομένα [4] & 0xFF) * 256 + (δεδομένα [5] & 0xFF));
εάν (yMag> 32767)
{
yMag -= 65536;
}
// Έξοδος δεδομένων στην οθόνη
System.out.printf ("Μαγνητικό πεδίο στον άξονα Χ: %d %n", xMag);
System.out.printf ("Μαγνητικό πεδίο στον άξονα Υ: %d %n", yMag);
System.out.printf ("Μαγνητικό πεδίο στον άξονα Ζ: %d %n", zMag);
}
}
Οι λειτουργίες εγγραφής () και ανάγνωσης () χρησιμοποιούνται για την εγγραφή των εντολών και την ανάγνωση της εξόδου του αισθητήρα αντίστοιχα. Το επόμενο μέρος απεικονίζει την ανάγνωση των τιμών του μαγνητικού πεδίου.
// Διαβάστε 6 byte δεδομένων από 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
byte data = new byte [6];
device.read (0x03, δεδομένα, 0, 6);
Η έξοδος εμφανίζεται στην παραπάνω εικόνα.
Βήμα 4: Εφαρμογές:
Το HMC5883 είναι μια μονάδα επιφανειακής τοποθέτησης, πολλαπλών τσιπ που έχει σχεδιαστεί για μαγνητική ανίχνευση χαμηλού πεδίου με ψηφιακή διεπαφή για εφαρμογές όπως πυξίδα χαμηλού κόστους και μαγνητομετρία. Η ακρίβεια και η ακρίβεια υψηλού επιπέδου ενός έως δύο βαθμών επιτρέπει την Πλοήγηση Πεζών και τις Εφαρμογές LBS.
Συνιστάται:
Μέτρηση μαγνητικού πεδίου με χρήση HMC5883 και Arduino Nano: 4 βήματα
Μέτρηση μαγνητικού πεδίου με χρήση HMC5883 και Arduino Nano: Το HMC5883 είναι μια ψηφιακή πυξίδα σχεδιασμένη για μαγνητική ανίχνευση χαμηλού πεδίου. Αυτή η συσκευή έχει ευρύ φάσμα μαγνητικού πεδίου +/- 8 Oe και ρυθμό εξόδου 160 Hz. Ο αισθητήρας HMC5883 περιλαμβάνει αυτόματους οδηγούς απομάκρυνσης ιμάντων, ακύρωση offset και
Μέτρηση μαγνητικού πεδίου χρησιμοποιώντας HMC5883 και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση μαγνητικού πεδίου χρησιμοποιώντας το HMC5883 και το σωματίδιο φωτονίου: Το HMC5883 είναι μια ψηφιακή πυξίδα σχεδιασμένη για μαγνητική ανίχνευση χαμηλού πεδίου. Αυτή η συσκευή έχει ευρύ φάσμα μαγνητικού πεδίου +/- 8 Oe και ρυθμό εξόδου 160 Hz. Ο αισθητήρας HMC5883 περιλαμβάνει αυτόματους οδηγούς απομάκρυνσης ιμάντων, ακύρωση offset και
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HTS221 και Raspberry Pi: 4 βήματα
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HTS221 και Raspberry Pi: Το HTS221 είναι ένας εξαιρετικά συμπαγής χωρητικός ψηφιακός αισθητήρας για σχετική υγρασία και θερμοκρασία. Περιλαμβάνει ένα στοιχείο ανίχνευσης και ένα ολοκληρωμένο κύκλωμα ειδικής εφαρμογής μικτού σήματος (ASIC) για την παροχή των πληροφοριών μέτρησης μέσω ψηφιακού σειριακού
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HIH6130 και Raspberry Pi: 4 βήματα
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HIH6130 και Raspberry Pi: Το HIH6130 είναι αισθητήρας υγρασίας και θερμοκρασίας με ψηφιακή έξοδο. Αυτοί οι αισθητήρες παρέχουν επίπεδο ακρίβειας ± 4% RH. Με κορυφαία μακροπρόθεσμη σταθερότητα στη βιομηχανία, πραγματικό ψηφιακό I2C με αντιστάθμιση θερμοκρασίας, κορυφαία αξιοπιστία στη βιομηχανία, ενεργειακή απόδοση
Αισθητήρας μαγνητικού πεδίου 3 αξόνων: 10 βήματα (με εικόνες)
Αισθητήρας μαγνητικού πεδίου 3 αξόνων: Τα ασύρματα συστήματα μεταφοράς ισχύος βρίσκονται σε καλό δρόμο για να αντικαταστήσουν τη συμβατική ενσύρματη φόρτιση. Από μικροσκοπικά βιοϊατρικά εμφυτεύματα μέχρι ασύρματη φόρτιση τεράστιων ηλεκτρικών οχημάτων. Αναπόσπαστο μέρος της έρευνας για την ασύρματη τροφοδοσία είναι