Πίνακας περιεχομένων:
- Βήμα 1: Απαιτείται υλικό:
- Βήμα 2: Σύνδεση υλικού:
- Βήμα 3: Κωδικός για τη μέτρηση της επιτάχυνσης:
- Βήμα 4: Εφαρμογές:
Βίντεο: Μέτρηση της επιτάχυνσης χρησιμοποιώντας ADXL345 και σωματίδιο φωτονίου: 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 °.
Σε αυτό το σεμινάριο απεικονίζεται η διασύνδεση της μονάδας αισθητήρα ADXL345 με σωματίδιο φωτονίου. Για να διαβάσετε τις τιμές επιτάχυνσης, χρησιμοποιήσαμε σωματίδιο με προσαρμογέα I2c. Αυτός ο προσαρμογέας I2C καθιστά τη σύνδεση με τη μονάδα αισθητήρα εύκολη και πιο αξιόπιστη.
Βήμα 1: Απαιτείται υλικό:
Τα υλικά που χρειαζόμαστε για την επίτευξη του στόχου μας περιλαμβάνουν τα ακόλουθα στοιχεία υλικού:
1. ADXL345
2. Φωτόνιο σωματιδίων
3. Καλώδιο I2C
4. Ασπίδα I2C για σωματίδιο φωτονίου
Βήμα 2: Σύνδεση υλικού:
Η ενότητα σύνδεσης υλικού εξηγεί βασικά τις συνδέσεις καλωδίωσης που απαιτούνται μεταξύ του αισθητήρα και του φωτονίου σωματιδίων. Η διασφάλιση των σωστών συνδέσεων είναι η βασική ανάγκη ενώ εργάζεστε σε οποιοδήποτε σύστημα για την επιθυμητή έξοδο. Έτσι, οι απαιτούμενες συνδέσεις είναι οι εξής:
Το ADXL345 θα λειτουργήσει μέσω I2C. Ακολουθεί το παράδειγμα διαγράμματος καλωδίωσης, που δείχνει πώς συνδέεται κάθε διασύνδεση του αισθητήρα.
Εκτός συσκευασίας, ο πίνακας έχει διαμορφωθεί για διεπαφή I2C, ως εκ τούτου συνιστούμε τη χρήση αυτής της σύνδεσης εάν είστε αλλιώς αγνωστικιστής.
Το μόνο που χρειάζεστε είναι τέσσερα καλώδια! Απαιτούνται μόνο τέσσερις συνδέσεις ακροδέκτες Vcc, Gnd, SCL και SDA και αυτές συνδέονται με τη βοήθεια καλωδίου I2C.
Αυτές οι συνδέσεις φαίνονται στις παραπάνω εικόνες.
Βήμα 3: Κωδικός για τη μέτρηση της επιτάχυνσης:
Ας ξεκινήσουμε με τον κωδικό σωματιδίων τώρα.
Κατά τη χρήση της μονάδας αισθητήρα με το σωματίδιο, συμπεριλαμβάνουμε τη βιβλιοθήκη application.h και spark_wiring_i2c.h. Η βιβλιοθήκη "application.h" και spark_wiring_i2c.h περιέχει τις λειτουργίες που διευκολύνουν την επικοινωνία i2c μεταξύ του αισθητήρα και του σωματιδίου.
Ολόκληρος ο κωδικός σωματιδίων δίνεται παρακάτω για τη διευκόλυνση του χρήστη:
#περιλαμβάνω
#περιλαμβάνω
// Η διεύθυνση ADXL345 I2C είναι 0x53 (83)
#define Addr 0x53
int xAccl = 0, yAccl = 0, zAccl = 0;
void setup ()
{
// Ορισμός μεταβλητής
Particle.variable ("i2cdevice", "ADXL345");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// Αρχικοποίηση επικοινωνίας I2C ως MASTER
Wire.begin ();
// Αρχικοποίηση σειριακής επικοινωνίας, ρυθμισμένος ρυθμός baud = 9600
Serial.begin (9600);
// Έναρξη μετάδοσης I2C
Wire.beginTransmission (Addr);
// Επιλογή καταχωρητή ρυθμού εύρους ζώνης
Wire.write (0x2C);
// Επιλέξτε ρυθμό δεδομένων εξόδου = 100 Hz
Wire.write (0x0A);
// Διακοπή μετάδοσης I2C
Wire.endTransmission ();
// Έναρξη μετάδοσης I2C
Wire.beginTransmission (Addr);
// Επιλέξτε μητρώο ελέγχου ισχύος
Wire.write (0x2D);
// Επιλέξτε απενεργοποίηση αυτόματου ύπνου
Wire.write (0x08);
// Διακοπή μετάδοσης I2C
Wire.endTransmission ();
// Έναρξη μετάδοσης I2C
Wire.beginTransmission (Addr);
// Επιλέξτε μητρώο μορφής δεδομένων
Wire.write (0x31);
// Επιλέξτε πλήρη ανάλυση, +/- 2g
Wire.write (0x08);
// Τερματισμός μετάδοσης I2C
Wire.endTransmission ();
καθυστέρηση (300)?
}
κενός βρόχος ()
{
ανυπόγραφα δεδομένα int [6];
για (int i = 0; i <6; i ++)
{
// Έναρξη μετάδοσης I2C
Wire.beginTransmission (Addr);
// Επιλέξτε μητρώο δεδομένων
Wire.write ((50+i));
// Διακοπή μετάδοσης I2C
Wire.endTransmission ();
// Ζητήστε 1 byte δεδομένων από τη συσκευή
Wire.requestFrom (Addr, 1)?
// Διαβάστε 6 byte δεδομένων
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
εάν (Wire.available () == 1)
{
δεδομένα = Wire.read ();
}
καθυστέρηση (300)?
}
// Μετατρέψτε τα δεδομένα σε 10-bit
int xAccl = (((δεδομένα [1] & 0x03) * 256) + δεδομένα [0]);
εάν (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = (((δεδομένα [3] & 0x03) * 256) + δεδομένα [2]);
εάν (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = (((δεδομένα [5] & 0x03) * 256) + δεδομένα [4]);
εάν (zAccl> 511)
{
zAccl -= 1024;
}
// Έξοδος δεδομένων στον πίνακα ελέγχου
Particle.publish ("Acceleration in X-Axis is:", String (xAccl));
Particle.publish ("Acceleration in Y-Axis is:", String (yAccl));
Particle.publish ("Acceleration in Z-Axis is:", String (zAccl));
}
Η συνάρτηση Particle.variable () δημιουργεί τις μεταβλητές για αποθήκευση της εξόδου του αισθητήρα και η λειτουργία Particle.publish () εμφανίζει την έξοδο στον πίνακα ελέγχου της τοποθεσίας.
Η έξοδος του αισθητήρα εμφανίζεται στην παραπάνω εικόνα για αναφορά.
Βήμα 4: Εφαρμογές:
Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο εξαιρετικά χαμηλής ισχύος, 3 αξόνων, το οποίο μπορεί να χρησιμοποιηθεί σε Ακουστικά, Ιατρικά όργανα κ.λπ.
Συνιστάται:
Μέτρηση επιτάχυνσης χρησιμοποιώντας BMA250 και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση επιτάχυνσης με χρήση BMA250 και σωματιδίου φωτονίου: Το BMA250 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο 3 αξόνων, εξαιρετικά χαμηλής ισχύος, με υψηλή ανάλυση (13-bit) έως και 16 g. Τα ψηφιακά δεδομένα εξόδου διαμορφώνονται ως συμπλήρωμα δύο δυαδικών 16 bit και είναι προσβάσιμα μέσω της ψηφιακής διεπαφής I2C. Μετρά τη στατική
Μέτρηση της θερμοκρασίας χρησιμοποιώντας ADT75 και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση της θερμοκρασίας χρησιμοποιώντας το ADT75 και το σωματίδιο φωτονίου: Το ADT75 είναι ένας πολύ ακριβής, ψηφιακός αισθητήρας θερμοκρασίας. Αποτελείται από αισθητήρα θερμοκρασίας διακένου ζώνης και μετατροπέα αναλογικού σε ψηφιακό 12-bit για παρακολούθηση και ψηφιοποίηση της θερμοκρασίας. Ο εξαιρετικά ευαίσθητος αισθητήρας του το καθιστά αρκετά ικανό για μένα
Μέτρηση της θερμοκρασίας χρησιμοποιώντας AD7416ARZ και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση της θερμοκρασίας με χρήση AD7416ARZ και σωματιδίου φωτονίου: Το AD7416ARZ είναι αισθητήρας θερμοκρασίας 10-bit με τέσσερις αναλογικούς σε ψηφιακούς μετατροπείς ενός καναλιού και ενσωματωμένο αισθητήρα θερμοκρασίας επί του σκάφους. Ο αισθητήρας θερμοκρασίας στα μέρη μπορεί να προσεγγιστεί μέσω καναλιών πολυπλέκτη. Αυτή η θερμοκρασία υψηλής ακρίβειας
Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας HDC1000 και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας HDC1000 και σωματίδιο φωτονίου: Το HDC1000 είναι ένας ψηφιακός αισθητήρας υγρασίας με ενσωματωμένο αισθητήρα θερμοκρασίας που παρέχει εξαιρετική ακρίβεια μέτρησης σε πολύ χαμηλή ισχύ. Η συσκευή μετρά την υγρασία με βάση έναν νέο χωρητικό αισθητήρα. Οι αισθητήρες υγρασίας και θερμοκρασίας είναι
Μέτρηση της θερμοκρασίας χρησιμοποιώντας LM75BIMM και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση θερμοκρασίας με χρήση LM75BIMM και Parton Photon: Το LM75BIMM είναι ένας ψηφιακός αισθητήρας θερμοκρασίας ενσωματωμένος με θερμικό φύλακα και έχει δύο καλώδια διασύνδεσης που υποστηρίζει τη λειτουργία του έως 400 kHz. Έχει έξοδο υπερβολικής θερμοκρασίας με προγραμματιζόμενο όριο και υστέρηση. Σε αυτό το σεμινάριο η διεπαφή