Πίνακας περιεχομένων:

Μέτρηση θερμοκρασίας χρησιμοποιώντας MCP9803 και Arduino Nano: 4 βήματα
Μέτρηση θερμοκρασίας χρησιμοποιώντας MCP9803 και Arduino Nano: 4 βήματα

Βίντεο: Μέτρηση θερμοκρασίας χρησιμοποιώντας MCP9803 και Arduino Nano: 4 βήματα

Βίντεο: Μέτρηση θερμοκρασίας χρησιμοποιώντας MCP9803 και Arduino Nano: 4 βήματα
Βίντεο: IroKids.gr | Brother Max Non Contact Thermometer 2024, Ιούλιος
Anonim
Image
Image

Ο MCP9803 είναι ένας αισθητήρας θερμοκρασίας 2 συρμάτων υψηλής ακρίβειας. Είναι ενσωματωμένα με προγραμματιζόμενους από τον χρήστη καταχωρητές που διευκολύνουν τις εφαρμογές ανίχνευσης θερμοκρασίας. Αυτός ο αισθητήρας είναι κατάλληλος για εξαιρετικά εξελιγμένο σύστημα παρακολούθησης θερμοκρασίας πολλαπλών ζωνών.

Σε αυτό το σεμινάριο απεικονίζεται η διασύνδεση της μονάδας αισθητήρα MCP9803 με το arduino nano. Για να διαβάσετε τις τιμές θερμοκρασίας, χρησιμοποιήσαμε arduino με προσαρμογέα I2c. Αυτός ο προσαρμογέας I2C καθιστά τη σύνδεση με τη μονάδα αισθητήρα εύκολη και πιο αξιόπιστη.

Βήμα 1: Απαιτείται υλικό:

Απαιτούμενο υλικό
Απαιτούμενο υλικό
Απαιτούμενο υλικό
Απαιτούμενο υλικό
Απαιτούμενο υλικό
Απαιτούμενο υλικό

Τα υλικά που χρειαζόμαστε για την επίτευξη του στόχου μας περιλαμβάνουν τα ακόλουθα στοιχεία υλικού:

1. MCP9803

2. Arduino Nano

3. Καλώδιο I2C

4. Ασπίδα I2C για arduino nano

Βήμα 2: Σύνδεση υλικού:

Σύνδεση υλικού
Σύνδεση υλικού
Σύνδεση υλικού
Σύνδεση υλικού

Η ενότητα σύνδεσης υλικού εξηγεί βασικά τις συνδέσεις καλωδίωσης που απαιτούνται μεταξύ του αισθητήρα και του arduino nano. Η διασφάλιση των σωστών συνδέσεων είναι η βασική ανάγκη ενώ εργάζεστε σε οποιοδήποτε σύστημα για την επιθυμητή έξοδο. Έτσι, οι απαιτούμενες συνδέσεις είναι οι εξής:

Το MCP9803 θα λειτουργήσει μέσω I2C. Ακολουθεί το παράδειγμα διαγράμματος καλωδίωσης, που δείχνει πώς συνδέεται κάθε διασύνδεση του αισθητήρα.

Εκτός συσκευασίας, ο πίνακας έχει διαμορφωθεί για διεπαφή I2C, ως εκ τούτου συνιστούμε τη χρήση αυτής της σύνδεσης εάν είστε αλλιώς αγνωστικιστής.

Το μόνο που χρειάζεστε είναι τέσσερα καλώδια! Απαιτούνται μόνο τέσσερις συνδέσεις ακροδέκτες Vcc, Gnd, SCL και SDA και αυτές συνδέονται με τη βοήθεια καλωδίου I2C.

Αυτές οι συνδέσεις φαίνονται στις παραπάνω εικόνες.

Βήμα 3: Κωδικός για μέτρηση θερμοκρασίας:

Κωδικός για μέτρηση θερμοκρασίας
Κωδικός για μέτρηση θερμοκρασίας

Ας ξεκινήσουμε με τον κώδικα arduino τώρα.

Κατά τη χρήση της μονάδας αισθητήρα με το arduino, συμπεριλαμβάνουμε τη βιβλιοθήκη Wire.h. Η βιβλιοθήκη "Wire" περιέχει τις λειτουργίες που διευκολύνουν την επικοινωνία i2c μεταξύ του αισθητήρα και της πλακέτας arduino.

Ολόκληρος ο κώδικας arduino δίνεται παρακάτω για τη διευκόλυνση του χρήστη:

#περιλαμβάνω

// Η διεύθυνση MCP9803 I2C είναι 0x48 (72)

#define Addr 0x48

void setup ()

{

// Αρχικοποίηση επικοινωνίας I2C ως MASTER

Wire.begin ();

// Αρχικοποίηση Σειριακής Επικοινωνίας, ρυθμισμένος ρυθμός baud = 9600

Serial.begin (9600);

// Έναρξη μετάδοσης I2C

Wire.beginTransmission (Addr);

// Επιλέξτε καταχωρητής διαμόρφωσης

Wire.write (0x01);

// Λειτουργία συνεχούς μετατροπής, Προεπιλογή ενεργοποίησης

Wire.write (0x60);

// Διακοπή μετάδοσης I2C

Wire.endTransmission ();

καθυστέρηση (300)?

}

κενός βρόχος ()

{

ανυπόγραφα δεδομένα int [2];

// Ξεκινά την επικοινωνία I2C

Wire.beginTransmission (Addr);

// Επιλέξτε μητρώο δεδομένων

Wire.write (0x00);

// Διακοπή μετάδοσης I2C

Wire.endTransmission ();

// Ζητήστε 2 byte δεδομένων

Wire.requestFrom (Addr, 2)?

// Διαβάστε 2 byte δεδομένων

// temp msb, temp lsb

εάν (Wire.available () == 2)

{

δεδομένα [0] = Wire.read ();

δεδομένα [1] = Wire.read ();

}

// Μετατρέψτε τα δεδομένα σε 12-bit

int temp = ((δεδομένα [0] * 256) + δεδομένα [1]) / 16.0;

εάν (θερμοκρασία> 2047)

{

θερμοκρασία -= 4096;

}

float cTemp = temp * 0,0625;

float fTemp = cTemp * 1.8 + 32;

// Έξοδος δεδομένων σε σειριακή οθόνη

Serial.print ("Θερμοκρασία σε Κελσίου:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Θερμοκρασία σε Φαρενάιτ:");

Serial.print (fTemp);

Serial.println ("F");

καθυστέρηση (500)?

}

Στη βιβλιοθήκη σύρματος, το Wire.write () και το Wire.read () χρησιμοποιούνται για την εγγραφή των εντολών και την ανάγνωση της εξόδου του αισθητήρα.

Serial.print () και Serial.println () χρησιμοποιούνται για την εμφάνιση της εξόδου του αισθητήρα στη σειριακή οθόνη του Arduino IDE.

Η έξοδος του αισθητήρα εμφανίζεται στην παραπάνω εικόνα.

Βήμα 4: Εφαρμογές:

Εφαρμογές
Εφαρμογές

Το MCP9803 μπορεί να χρησιμοποιηθεί σε ένα ευρύ πεδίο συσκευών που περιλαμβάνουν προσωπικό υπολογιστή και περιφερειακά, μονάδες σκληρού δίσκου, διάφορα συστήματα ψυχαγωγίας, συστήματα γραφείου και συστήματα επικοινωνίας δεδομένων. Αυτός ο αισθητήρας μπορεί να ενσωματωθεί σε διάφορα εξελιγμένα συστήματα.

Συνιστάται: