Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Το MCP9808 είναι ένας ψηφιακός αισθητήρας θερμοκρασίας υψηλής ακρίβειας mini 0,5 ° C μίνι μονάδα I2C. Είναι ενσωματωμένα με προγραμματιζόμενους από τον χρήστη καταχωρητές που διευκολύνουν τις εφαρμογές ανίχνευσης θερμοκρασίας. Ο αισθητήρας θερμοκρασίας υψηλής ακρίβειας MCP9808 έχει γίνει βιομηχανικό πρότυπο όσον αφορά τον παράγοντα μορφής και τη νοημοσύνη, παρέχοντας βαθμονομημένα, γραμμικοποιημένα σήματα αισθητήρων σε ψηφιακή μορφή, I2C.
Σε αυτό το σεμινάριο έχει αποδειχθεί η διασύνδεση της μονάδας αισθητήρα MCP9808 με σωματίδιο φωτονίου. Για να διαβάσετε τις τιμές θερμοκρασίας, χρησιμοποιήσαμε βατόμουρο pi με προσαρμογέα I2c. Αυτός ο προσαρμογέας I2C καθιστά τη σύνδεση με τη μονάδα αισθητήρα εύκολη και πιο αξιόπιστη.
Βήμα 1: Απαιτείται υλικό:
Τα υλικά που χρειαζόμαστε για την επίτευξη του στόχου μας περιλαμβάνουν τα ακόλουθα στοιχεία υλικού:
1. MCP9808
2. Φωτόνιο σωματιδίων
3. Καλώδιο I2C
4. Ασπίδα I2C για σωματίδιο φωτονίου
Βήμα 2: Σύνδεση υλικού:
Η ενότητα σύνδεσης υλικού εξηγεί βασικά τις συνδέσεις καλωδίωσης που απαιτούνται μεταξύ του αισθητήρα και του σωματιδίου φωτονίου. Η διασφάλιση των σωστών συνδέσεων είναι η βασική ανάγκη ενώ εργάζεστε σε οποιοδήποτε σύστημα για την επιθυμητή έξοδο. Έτσι, οι απαιτούμενες συνδέσεις είναι οι εξής:
Το MCP9808 θα λειτουργήσει μέσω I2C. Ακολουθεί το παράδειγμα διαγράμματος καλωδίωσης, που δείχνει πώς συνδέεται κάθε διασύνδεση του αισθητήρα.
Εκτός συσκευασίας, ο πίνακας έχει διαμορφωθεί για διεπαφή I2C, ως εκ τούτου συνιστούμε τη χρήση αυτής της σύνδεσης εάν είστε αλλιώς αγνωστικιστής. Το μόνο που χρειάζεστε είναι τέσσερα καλώδια!
Απαιτούνται μόνο τέσσερις συνδέσεις ακροδέκτες Vcc, Gnd, SCL και SDA και αυτές συνδέονται με τη βοήθεια καλωδίου I2C.
Αυτές οι συνδέσεις φαίνονται στις παραπάνω εικόνες.
Βήμα 3: Κωδικός για μέτρηση θερμοκρασίας:
Ας ξεκινήσουμε με τον κωδικό σωματιδίων τώρα.
Κατά τη χρήση της μονάδας αισθητήρα με το arduino, συμπεριλαμβάνουμε τη βιβλιοθήκη application.h και spark_wiring_i2c.h. Η βιβλιοθήκη "application.h" και spark_wiring_i2c.h περιέχει τις λειτουργίες που διευκολύνουν την επικοινωνία i2c μεταξύ του αισθητήρα και του σωματιδίου.
Ολόκληρος ο κωδικός σωματιδίων δίνεται παρακάτω για τη διευκόλυνση του χρήστη:
#περιλαμβάνω
#περιλαμβάνω
// Η διεύθυνση MCP9808 I2C είναι 0x18 (24)
#define Addr 0x18
float cTemp = 0, fTemp = 0;
void setup ()
{
// Ορισμός μεταβλητής
Particle.variable ("i2cdevice", "MCP9808");
Particle.variable ("cTemp", cTemp);
// Αρχικοποίηση επικοινωνίας I2C ως MASTER
Wire.begin ();
// Αρχικοποίηση Σειριακής Επικοινωνίας, ρυθμισμένος ρυθμός baud = 9600
Serial.begin (9600);
// Έναρξη μετάδοσης I2C
Wire.beginTransmission (Addr);
// Επιλέξτε καταχωρητής διαμόρφωσης
Wire.write (0x01);
// Λειτουργία συνεχούς μετατροπής, Προεπιλογή ενεργοποίησης
Wire.write (0x00);
Wire.write (0x00);
// Διακοπή μετάδοσης I2C
Wire.endTransmission ();
// Έναρξη μετάδοσης I2C
Wire.beginTransmission (Addr);
// Επιλέξτε ανάλυση rgister
Wire.write (0x08);
// Ανάλυση = +0.0625 / C
Wire.write (0x03);
// Διακοπή μετάδοσης I2C
Wire.endTransmission ();
καθυστέρηση (300)?
}
κενός βρόχος ()
{
ανυπόγραφα δεδομένα int [2];
// Ξεκινά την επικοινωνία I2C
Wire.beginTransmission (Addr);
// Επιλέξτε μητρώο δεδομένων
Wire.write (0x05);
// Διακοπή μετάδοσης I2C
Wire.endTransmission ();
// Ζητήστε 2 byte δεδομένων
Wire.requestFrom (Addr, 2)?
// Διαβάστε 2 byte δεδομένων
// temp msb, temp lsb
εάν (Wire.available () == 2)
{
δεδομένα [0] = Wire.read ();
δεδομένα [1] = Wire.read ();
}
καθυστέρηση (300)?
// Μετατρέψτε τα δεδομένα σε 13-bit
int temp = ((δεδομένα [0] & 0x1F) * 256 + δεδομένα [1]);
εάν (θερμοκρασία> 4095)
{
θερμοκρασία -= 8192;
}
cTemp = temp * 0,0625;
fTemp = cTemp * 1.8 + 32;
// Έξοδος δεδομένων στον πίνακα ελέγχου
Particle.publish ("Temperature in Celsius:", String (cTemp));
Particle.publish ("Temperature in Fahrenheit:", String (fTemp));
καθυστέρηση (500)?
}
Η συνάρτηση Particle.variable () δημιουργεί τις μεταβλητές για αποθήκευση της εξόδου του αισθητήρα και η λειτουργία Particle.publish () εμφανίζει την έξοδο στον πίνακα ελέγχου της τοποθεσίας.
Η έξοδος του αισθητήρα εμφανίζεται στην παραπάνω εικόνα για αναφορά.
Βήμα 4: Εφαρμογές:
Ο αισθητήρας ψηφιακής θερμοκρασίας MCP9808 έχει διάφορες εφαρμογές σε βιομηχανικό επίπεδο, οι οποίες ενσωματώνουν βιομηχανικούς καταψύκτες και ψυγεία μαζί με διάφορους επεξεργαστές τροφίμων. Αυτός ο αισθητήρας μπορεί να χρησιμοποιηθεί για διάφορους προσωπικούς υπολογιστές, διακομιστές καθώς και άλλους περιφερειακούς υπολογιστές.