Πίνακας περιεχομένων:
- Βήμα 1: Απαιτείται υλικό:
- Βήμα 2: Σύνδεση υλικού:
- Βήμα 3: Κωδικός για τη μέτρηση της επιτάχυνσης:
- Βήμα 4: Εφαρμογές:
Βίντεο: Μέτρηση της επιτάχυνσης χρησιμοποιώντας ADXL345 και Arduino Nano: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο εξαιρετικά χαμηλής ισχύος, 3 αξόνων με μέτρηση υψηλής ανάλυσης (13-bit) έως και ± 16 g. Τα ψηφιακά δεδομένα εξόδου διαμορφώνονται ως συμπλήρωμα δύο δυαδικών ψηφίων 16 και είναι προσβάσιμα μέσω της ψηφιακής διεπαφής I2 C. Μετρά τη στατική επιτάχυνση της βαρύτητας σε εφαρμογές ανίχνευσης κλίσης, καθώς και τη δυναμική επιτάχυνση που προκύπτει από κίνηση ή κρούση. Η υψηλή του ανάλυση (3,9 mg/LSB) επιτρέπει τη μέτρηση των αλλαγών κλίσης μικρότερη από 1,0 °.
Σε αυτό το σεμινάριο απεικονίζεται η διασύνδεση της μονάδας αισθητήρα ADXL345 με το arduino nano. Για να διαβάσετε τις τιμές επιτάχυνσης, χρησιμοποιήσαμε arduino με προσαρμογέα I2c. Αυτός ο προσαρμογέας I2C καθιστά τη σύνδεση με τη μονάδα αισθητήρα εύκολη και πιο αξιόπιστη.
Βήμα 1: Απαιτείται υλικό:
Τα υλικά που χρειαζόμαστε για την επίτευξη του στόχου μας περιλαμβάνουν τα ακόλουθα στοιχεία υλικού:
1. ADXL345
2. Arduino Nano
3. Καλώδιο I2C
4. I2C Shield για Arduino Nano
Βήμα 2: Σύνδεση υλικού:
Η ενότητα σύνδεσης υλικού εξηγεί βασικά τις συνδέσεις καλωδίωσης που απαιτούνται μεταξύ του αισθητήρα και του arduino nano. Η διασφάλιση των σωστών συνδέσεων είναι η βασική ανάγκη ενώ εργάζεστε σε οποιοδήποτε σύστημα για την επιθυμητή έξοδο. Έτσι, οι απαιτούμενες συνδέσεις είναι οι εξής:
Το ADXL345 θα λειτουργήσει μέσω I2C. Ακολουθεί το παράδειγμα διαγράμματος καλωδίωσης, που δείχνει πώς συνδέεται κάθε διασύνδεση του αισθητήρα.
Εκτός συσκευασίας, ο πίνακας έχει διαμορφωθεί για διεπαφή I2C, ως εκ τούτου συνιστούμε τη χρήση αυτής της σύνδεσης εάν είστε αλλιώς αγνωστικιστής.
Το μόνο που χρειάζεστε είναι τέσσερα καλώδια! Απαιτούνται μόνο τέσσερις συνδέσεις ακροδέκτες Vcc, Gnd, SCL και SDA και αυτές συνδέονται με τη βοήθεια καλωδίου I2C.
Αυτές οι συνδέσεις φαίνονται στις παραπάνω εικόνες.
Βήμα 3: Κωδικός για τη μέτρηση της επιτάχυνσης:
Ας ξεκινήσουμε με τον κώδικα arduino τώρα.
Κατά τη χρήση της μονάδας αισθητήρα με το arduino, συμπεριλαμβάνουμε τη βιβλιοθήκη Wire.h. Η βιβλιοθήκη "Wire" περιέχει τις λειτουργίες που διευκολύνουν την επικοινωνία i2c μεταξύ του αισθητήρα και της πλακέτας arduino.
Ολόκληρος ο κώδικας arduino δίνεται παρακάτω για τη διευκόλυνση του χρήστη:
#περιλαμβάνω
// Η διεύθυνση ADXL345 I2C είναι 0x53 (83)
#define Addr 0x53
void setup ()
{
// Αρχικοποίηση επικοινωνίας 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);
// Απενεργοποιημένος ο αυτοέλεγχος, διεπαφή 4 καλωδίων, Πλήρης ανάλυση, Εύρος = +/- 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 ();
}
}
// Μετατρέψτε τα δεδομένα σε 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;
}
// Έξοδος δεδομένων σε σειριακή οθόνη
Serial.print ("Η επιτάχυνση στον άξονα Χ είναι:");
Serial.println (xAccl);
Serial.print ("Η επιτάχυνση στον άξονα Υ είναι:");
Serial.println (yAccl);
Serial.print ("Η επιτάχυνση στον άξονα Z είναι:");
Serial.println (zAccl);
καθυστέρηση (300)?
}
Στη βιβλιοθήκη σύρματος, το Wire.write () και το Wire.read () χρησιμοποιούνται για την εγγραφή των εντολών και την ανάγνωση της εξόδου του αισθητήρα.
Serial.print () και Serial.println () χρησιμοποιούνται για την εμφάνιση της εξόδου του αισθητήρα στη σειριακή οθόνη του Arduino IDE.
Η έξοδος του αισθητήρα εμφανίζεται στην παραπάνω εικόνα.
Βήμα 4: Εφαρμογές:
Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο εξαιρετικά χαμηλής ισχύος, 3 αξόνων, το οποίο μπορεί να χρησιμοποιηθεί σε Ακουστικά, Ιατρικά όργανα κ.λπ.
Συνιστάται:
Μέτρηση της επιτάχυνσης χρησιμοποιώντας ADXL345 και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση της επιτάχυνσης χρησιμοποιώντας το ADXL345 και το σωματίδιο φωτονίου: Το ADXL345 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο 3 αξόνων, εξαιρετικά χαμηλής ισχύος, με υψηλή ανάλυση (13 bit) έως και ± 16 g. Τα ψηφιακά δεδομένα εξόδου διαμορφώνονται ως συμπλήρωμα δύο δυαδικών ψηφίων 16 και είναι προσβάσιμα μέσω της ψηφιακής διεπαφής I2 C. Μετρά τα
Μέτρηση της επιτάχυνσης με χρήση H3LIS331DL και Arduino Nano: 4 βήματα
Μέτρηση της επιτάχυνσης με χρήση H3LIS331DL και Arduino Nano: Το H3LIS331DL, είναι ένα γραμμικό επιταχυνσιόμετρο 3 αξόνων χαμηλής ισχύος υψηλής απόδοσης που ανήκει στην οικογένεια «nano», με ψηφιακή σειριακή διεπαφή I²C. Το H3LIS331DL διαθέτει πλήρεις κλίμακες επιλογής από user 100g/± 200g/g 400g και είναι σε θέση να μετρήσει επιταχύνσεις με
Μέτρηση της επιτάχυνσης χρησιμοποιώντας ADXL345 και Raspberry Pi: 4 βήματα
Μέτρηση της επιτάχυνσης με χρήση ADXL345 και Raspberry Pi: Το ADXL345 είναι ένα μικρό, λεπτό επιταχυνσιόμετρο 3 αξόνων, εξαιρετικά χαμηλής ισχύος, με υψηλή ανάλυση (13 bit) έως και ± 16 g. Τα ψηφιακά δεδομένα εξόδου διαμορφώνονται ως συμπλήρωμα δύο δυαδικών ψηφίων 16 και είναι προσβάσιμα μέσω της ψηφιακής διεπαφής I2 C. Μετρά τα
Παρακολούθηση της επιτάχυνσης χρησιμοποιώντας Raspberry Pi και AIS328DQTR χρησιμοποιώντας Python: 6 βήματα
Παρακολούθηση της επιτάχυνσης με χρήση Raspberry Pi και AIS328DQTR με χρήση Python: Η επιτάχυνση είναι πεπερασμένη, νομίζω σύμφωνα με ορισμένους νόμους της Φυσικής.- Terry Riley Ένας τσίτα χρησιμοποιεί καταπληκτική επιτάχυνση και γρήγορες αλλαγές ταχύτητας όταν κυνηγάει. Το ταχύτερο πλάσμα στη στεριά χρησιμοποιεί κατά καιρούς τον κορυφαίο ρυθμό του για να πιάσει το θήραμα. Ο
Μέτρηση επιτάχυνσης χρησιμοποιώντας BMA250 και Arduino Nano: 4 βήματα
Μέτρηση επιτάχυνσης χρησιμοποιώντας BMA250 και Arduino Nano: Το BMA250 είναι ένα μικρό, λεπτό, επιταχυνσιόμετρο 3 αξόνων, εξαιρετικά χαμηλής ισχύος, με υψηλή ανάλυση (13 bit) έως και ± 16 g. Τα ψηφιακά δεδομένα εξόδου διαμορφώνονται ως συμπλήρωμα δύο δυαδικών 16 bit και είναι προσβάσιμα μέσω της ψηφιακής διεπαφής I2C. Μετρά τη στατική