Πίνακας περιεχομένων:
Βίντεο: Arduino AMS5812_0050-D-B Οδηγός αισθητήρα πίεσης και θερμοκρασίας: 4 βήματα
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Ο αισθητήρας ενισχυμένης πίεσης AMS5812 με αναλογικές και ψηφιακές εξόδους είναι ένας αισθητήρας υψηλής ακρίβειας με αναλογική τάση εξόδου και ψηφιακή διεπαφή I2C. Συνδυάζει ένα πιεζοανθεκτικό στοιχείο ανίχνευσης με ένα στοιχείο ρύθμισης σήματος για τη λειτουργία του. Εδώ είναι η επίδειξή του με arduino nano.
Βήμα 1: Αυτό που χρειάζεστε..
1. Arduino Nano
2. AMS5812_0050-D-B
3. Καλώδιο I²C
4. I2C Shield για Arduino Nano
Βήμα 2: Συνδέσεις:
Πάρτε μια ασπίδα I2C για το Arduino Nano και σπρώξτε την απαλά πάνω από τις ακίδες του Nano.
Στη συνέχεια, συνδέστε το ένα άκρο του καλωδίου I2C στον αισθητήρα AMS5812_0050-D-B και το άλλο άκρο στην ασπίδα I2C.
Οι συνδέσεις φαίνονται στην παραπάνω εικόνα.
Βήμα 3: Κωδικός:
Μπορείτε να κατεβάσετε τον κωδικό Arduino για το AMS5812_0050-D-B από το αποθετήριο GitHub-Dcube Store.
Εδώ είναι ο σύνδεσμος για το ίδιο:
github.com/DcubeTechVentures/AMS5812-0050-D-B
Περιλαμβάνουμε τη βιβλιοθήκη Wire.h για τη διευκόλυνση της επικοινωνίας I2c του αισθητήρα με την πλακέτα Arduino.
Μπορείτε επίσης να αντιγράψετε τον κώδικα από εδώ, δίνεται ως εξής:
// Διανέμεται με άδεια ελεύθερης βούλησης.
// Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοφόρο ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του.
// AMS5812
// Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το AMS5812_I2CS_0050-D-B I2C Mini Module που διατίθεται στο Dcube Store.
#περιλαμβάνω
// Η διεύθυνση AMS5812 I2C είναι 0x78 (120)
#define Addr 0x78
void setup ()
{
// Αρχικοποίηση επικοινωνίας I2C ως MASTER
Wire.begin ();
// Αρχικοποίηση σειριακής επικοινωνίας, ρυθμισμένος ρυθμός baud = 9600
Serial.begin (9600);
καθυστέρηση (300)?
}
κενός βρόχος ()
{
ανυπόγραφα δεδομένα int [4];
καθυστέρηση (500)?
// Ζητήστε 4 byte δεδομένων
Wire.requestFrom (Addr, 4)?
// Διαβάστε 4 byte δεδομένων
// πίεση msb, πίεση lsb, θερμοκρασία msb, θερμοκρασία lsb
εάν (Wire.available () == 4)
{
δεδομένα [0] = Wire.read ();
δεδομένα [1] = Wire.read ();
δεδομένα [2] = Wire.read ();
δεδομένα [3] = Wire.read ();
}
// Μετατρέψτε τα δεδομένα
πίεση επίπλευσης = ((δεδομένα [0] & 0xFF) * 256 + (δεδομένα [1] & 0xFF)];
float temp = ((δεδομένα [2] & 0xFF) * 256 + (δεδομένα [3] & 0xFF));
πίεση = ((πίεση - 3277.0) / ((26214.0) / 10.0)) - 5.0;
float cTemp = ((temp - 3277.0) / ((26214.0) / 110.0)) - 25.0;
float fTemp = (cTemp * 1.8) + 32;
// Έξοδος δεδομένων σε σειριακή οθόνη
Serial.print ("Πίεση:");
Serial.print (πίεση);
Serial.println ("PSI");
Serial.print ("Θερμοκρασία σε Κελσίου:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Θερμοκρασία σε Φαρενάιτ:");
Serial.print (fTemp);
Serial.println ("F");
καθυστέρηση (500)?
}
Βήμα 4: Εφαρμογές:
Το AMS5812 είναι ένας ενισχυμένος αισθητήρας πίεσης και μπορεί να χρησιμοποιηθεί σε συστήματα όπου πρόκειται να πραγματοποιηθεί μέτρηση στατικής και δυναμικής πίεσης και μέτρησης βαρομετρικής πίεσης. Διαδραματίζει κεντρικό ρόλο στην παρακολούθηση κενού, στην παρακολούθηση ροής αερίου, στη μέτρηση της στάθμης του υγρού καθώς και στα ιατρικά όργανα.