Πίνακας περιεχομένων:
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 με σωματίδιο φωτονίου. Το σωματίδιο φωτονίου είναι ένας πίνακας που διευκολύνει την αποστολή και λήψη δεδομένων από τον ιστότοπο, που υποστηρίζει το πιο βασικό χαρακτηριστικό του Internet Of Things (IoT).
Βήμα 1: Απαιτείται υλικό:
Τα υλικά που χρειαζόμαστε για την επίτευξη του στόχου μας περιλαμβάνουν τα ακόλουθα στοιχεία υλικού:
1. HMC5883
2. Φωτόνιο σωματιδίων
3. Καλώδιο I2C
4. I2C Shield for Particle Photon
Βήμα 2: Σύνδεση υλικού:
Η ενότητα σύνδεσης υλικού εξηγεί βασικά τις συνδέσεις καλωδίωσης που απαιτούνται μεταξύ του αισθητήρα και του φωτονίου σωματιδίων. Η διασφάλιση των σωστών συνδέσεων είναι η βασική ανάγκη ενώ εργάζεστε σε οποιοδήποτε σύστημα για την επιθυμητή έξοδο. Έτσι, οι απαιτούμενες συνδέσεις είναι οι εξής:
Το HMC5883 θα λειτουργήσει μέσω I2C. Ακολουθεί το παράδειγμα διαγράμματος καλωδίωσης, που δείχνει πώς συνδέεται κάθε διασύνδεση του αισθητήρα.
Εκτός συσκευασίας, ο πίνακας έχει διαμορφωθεί για διεπαφή I2C, ως εκ τούτου συνιστούμε τη χρήση αυτής της σύνδεσης εάν είστε αλλιώς αγνωστικιστής. Το μόνο που χρειάζεστε είναι τέσσερα καλώδια!
Απαιτούνται μόνο τέσσερις συνδέσεις ακροδέκτες Vcc, Gnd, SCL και SDA και αυτές συνδέονται με τη βοήθεια καλωδίου I2C.
Αυτές οι συνδέσεις φαίνονται στις παραπάνω εικόνες.
Βήμα 3: Κωδικός για τη μέτρηση της έντασης του μαγνητικού πεδίου:
Ας ξεκινήσουμε με τον κωδικό σωματιδίων τώρα.
Κατά τη χρήση της μονάδας αισθητήρα με το Arduino, συμπεριλαμβάνουμε τη βιβλιοθήκη application.h και spark_wiring_i2c.h. Η βιβλιοθήκη "application.h" και spark_wiring_i2c.h περιέχει τις λειτουργίες που διευκολύνουν την επικοινωνία i2c μεταξύ του αισθητήρα και του σωματιδίου.
Ολόκληρος ο κωδικός σωματιδίων δίνεται παρακάτω για τη διευκόλυνση του χρήστη:
#περιλαμβάνω
#περιλαμβάνω
// Η διεύθυνση HMC5883 I2C είναι 0x1E (30)
#define Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
void setup ()
{
// Ορισμός μεταβλητής
Particle.variable ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// Αρχικοποίηση επικοινωνίας I2C ως MASTER
Wire.begin ();
// Αρχικοποίηση Σειριακής Επικοινωνίας, ρυθμισμένος ρυθμός baud = 9600
Serial.begin (9600);
// Έναρξη μετάδοσης I2C
Wire.beginTransmission (Addr);
// Επιλέξτε διαμόρφωση καταχωρητή Α
Wire.write (0x00);
// Ορίστε κανονική διαμόρφωση μέτρησης, ρυθμός εξόδου δεδομένων = 0,75Hz
Wire.write (0x60);
// Διακοπή μετάδοσης I2C
Wire.endTransmission ();
// Έναρξη μετάδοσης I2C
Wire.beginTransmission (Addr);
// Επιλέξτε καταχώριση λειτουργίας
Wire.write (0x02);
// Ορίστε συνεχή μέτρηση
Wire.write (0x00);
// Διακοπή μετάδοσης I2C
Wire.endTransmission ();
καθυστέρηση (300)?
}
κενός βρόχος ()
{
ανυπόγραφα δεδομένα int [6];
// Έναρξη μετάδοσης I2C
Wire.beginTransmission (Addr);
// Επιλέξτε μητρώο δεδομένων
Wire.write (0x03);
// Διακοπή μετάδοσης I2C
Wire.endTransmission ();
// Ζητήστε 6 byte δεδομένων
Wire.requestFrom (Addr, 6)?
// Διαβάστε 6 byte δεδομένων
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
εάν (Wire.available () == 6)
{
δεδομένα [0] = Wire.read ();
δεδομένα [1] = Wire.read ();
δεδομένα [2] = Wire.read ();
δεδομένα [3] = Wire.read ();
δεδομένα [4] = Wire.read ();
δεδομένα [5] = Wire.read ();
}
καθυστέρηση (300)?
// Μετατρέψτε τα δεδομένα
xMag = ((δεδομένα [0] * 256) + δεδομένα [1]);
εάν (xMag> 32767)
{
xMag -= 65536;
}
zMag = ((δεδομένα [2] * 256) + δεδομένα [3]);
εάν (zMag> 32767)
{
zMag -= 65536;
}
yMag = ((δεδομένα [4] * 256) + δεδομένα [5]);
εάν (yMag> 32767)
{
yMag -= 65536;
}
// Έξοδος δεδομένων στον πίνακα ελέγχου
Particle.publish ("Magnetic Field in X-Axis:", String (xMag));
καθυστέρηση (1000)?
Particle.publish ("Magnetic Field in Y-Axis:", String (yMag));
καθυστέρηση (1000)?
Particle.publish ("Magnetic Field in Z-Axis:", String (zMag));
καθυστέρηση (1000)?
}
Η συνάρτηση Particle.variable () δημιουργεί τις μεταβλητές για αποθήκευση της εξόδου του αισθητήρα και η λειτουργία Particle.publish () εμφανίζει την έξοδο στον πίνακα ελέγχου της τοποθεσίας.
Η έξοδος του αισθητήρα εμφανίζεται στην παραπάνω εικόνα για αναφορά.
Βήμα 4: Εφαρμογές:
Το HMC5883 είναι μια μονάδα επιφανειακής τοποθέτησης, πολλαπλών τσιπ που έχει σχεδιαστεί για μαγνητική ανίχνευση χαμηλού πεδίου με ψηφιακή διεπαφή για εφαρμογές όπως πυξίδα χαμηλού κόστους και μαγνητομετρία. Η ακρίβεια και η ακρίβεια υψηλού επιπέδου ενός έως δύο βαθμών επιτρέπει την Πλοήγηση Πεζών και τις Εφαρμογές LBS.
Συνιστάται:
Μέτρηση της επιτάχυνσης χρησιμοποιώντας ADXL345 και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση της επιτάχυνσης χρησιμοποιώντας το ADXL345 και το σωματίδιο φωτονίου: Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο 3 αξόνων, εξαιρετικά χαμηλής ισχύος, με υψηλή ανάλυση (13 bit) έως και ± 16 g. Τα ψηφιακά δεδομένα εξόδου διαμορφώνονται ως συμπλήρωμα δύο δυαδικών ψηφίων 16 και είναι προσβάσιμα μέσω της ψηφιακής διεπαφής I2 C. Μετρά τα
Μέτρηση μαγνητικού πεδίου με χρήση HMC5883 και Raspberry Pi: 4 βήματα
Μέτρηση μαγνητικού πεδίου με χρήση HMC5883 και Raspberry Pi: Το HMC5883 είναι μια ψηφιακή πυξίδα σχεδιασμένη για μαγνητική ανίχνευση χαμηλού πεδίου. Αυτή η συσκευή έχει ευρύ φάσμα μαγνητικού πεδίου +/- 8 Oe και ρυθμό εξόδου 160 Hz. Ο αισθητήρας HMC5883 περιλαμβάνει αυτόματους οδηγούς απομάκρυνσης ιμάντων, ακύρωση offset και
Μέτρηση μαγνητικού πεδίου με χρήση HMC5883 και Arduino Nano: 4 βήματα
Μέτρηση μαγνητικού πεδίου με χρήση HMC5883 και Arduino Nano: Το HMC5883 είναι μια ψηφιακή πυξίδα σχεδιασμένη για μαγνητική ανίχνευση χαμηλού πεδίου. Αυτή η συσκευή έχει ευρύ φάσμα μαγνητικού πεδίου +/- 8 Oe και ρυθμό εξόδου 160 Hz. Ο αισθητήρας HMC5883 περιλαμβάνει αυτόματους οδηγούς απομάκρυνσης ιμάντων, ακύρωση offset και
Μέτρηση θερμοκρασίας χρησιμοποιώντας MCP9803 και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση θερμοκρασίας χρησιμοποιώντας το MCP9803 και το σωματίδιο φωτονίου: Το MCP9803 είναι ένας αισθητήρας θερμοκρασίας υψηλής ακρίβειας 2 συρμάτων. Είναι ενσωματωμένα με προγραμματιζόμενους από τον χρήστη καταχωρητές που διευκολύνουν τις εφαρμογές ανίχνευσης θερμοκρασίας. Αυτός ο αισθητήρας είναι κατάλληλος για εξαιρετικά εξελιγμένο σύστημα παρακολούθησης θερμοκρασίας πολλαπλών ζωνών. Σε
Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας HDC1000 και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας HDC1000 και σωματίδιο φωτονίου: Το HDC1000 είναι ένας ψηφιακός αισθητήρας υγρασίας με ενσωματωμένο αισθητήρα θερμοκρασίας που παρέχει εξαιρετική ακρίβεια μέτρησης σε πολύ χαμηλή ισχύ. Η συσκευή μετρά την υγρασία με βάση έναν νέο χωρητικό αισθητήρα. Οι αισθητήρες υγρασίας και θερμοκρασίας είναι